From 7cdfa10a74309599741e09409bc46e5f7f01ee28 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 22 Oct 2024 15:46:08 +0200 Subject: [PATCH 001/199] Add Initial EPS support for ModemManager interface --- .../resources/protocol/modemmanager.js | 44 ++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/luci-proto-modemmanager/htdocs/luci-static/resources/protocol/modemmanager.js b/luci-proto-modemmanager/htdocs/luci-static/resources/protocol/modemmanager.js index 953b2208a..c918a1d74 100644 --- a/luci-proto-modemmanager/htdocs/luci-static/resources/protocol/modemmanager.js +++ b/luci-proto-modemmanager/htdocs/luci-static/resources/protocol/modemmanager.js @@ -169,6 +169,48 @@ return network.registerProtocol('modemmanager', { o.value('INFO', _('Info')); o.value('DEBUG', _('Debug')); o.default = 'ERR'; - + + + o = s.taboption('general', form.ListValue, 'init_epsbearer', _('Initial EPS Bearer'), + _('none: Do not set an initial EPS bearer (default behaviour)') + '
' + + _('default: Use the configuration options above (APN, IP Type, ...).') + '
' + + _('custom: Use different options when establishing a connection (these options are prefixed with %s).').format('init_')); + o.value('', _('none')); + o.value('default', 'default'); + o.value('custom', 'custom'); + o.default = ''; + o = s.taboption('general', form.Value, 'init_apn', _('Initial EPS Bearer APN')); + o.depends('init_epsbearer', 'custom'); + o.default = ''; + o = s.taboption('general', form.ListValue, 'init_allowedauth', _('Initial EPS Bearer Authentication Type')); + o.depends('init_epsbearer', 'custom'); + o.value('pap', 'PAP'); + o.value('chap', 'CHAP'); + o.value('mschap', 'MSCHAP'); + o.value('mschapv2', 'MSCHAPv2'); + o.value('eap', 'EAP'); + o.value('', _('None')); + o.default = ''; + o = s.taboption('general', form.Value, 'init_username', _('Initial EPS Bearer Username')); + o.depends('init_allowedauth', 'pap'); + o.depends('init_allowedauth', 'chap'); + o.depends('init_allowedauth', 'mschap'); + o.depends('init_allowedauth', 'mschapv2'); + o.depends('init_allowedauth', 'eap'); + o.default = ''; + o = s.taboption('general', form.Value, 'init_password', _('Initial EPS Bearer Password')); + o.depends('init_allowedauth', 'pap'); + o.depends('init_allowedauth', 'chap'); + o.depends('init_allowedauth', 'mschap'); + o.depends('init_allowedauth', 'mschapv2'); + o.depends('init_allowedauth', 'eap'); + o.default = ''; + o.password = true; + o = s.taboption('general', form.ListValue, 'init_iptype', _('Initial EPS Bearer IP Type')); + o.depends('init_epsbearer', 'custom'); + o.value('ipv4v6', _('IPv4/IPv6 (both - defaults to IPv4)')) + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.default = 'ipv4v6'; } }); From 3cf3663892ce4534272afb941b8bd3a142c69e0a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 22 Oct 2024 15:46:43 +0200 Subject: [PATCH 002/199] Update ModemManager --- modemmanager/Makefile | 4 +- .../files/lib/netifd/proto/modemmanager.sh | 178 ++++++++++++++---- .../files/usr/sbin/ModemManager-monitor | 2 +- 3 files changed, 149 insertions(+), 35 deletions(-) diff --git a/modemmanager/Makefile b/modemmanager/Makefile index 200e11267..dbb91f50e 100644 --- a/modemmanager/Makefile +++ b/modemmanager/Makefile @@ -8,9 +8,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager -PKG_SOURCE_VERSION:=1.23.11-dev +PKG_SOURCE_VERSION:=1.23.12-dev #PKG_SOURCE_VERSION:=df8287bf6c2febd068d06f0f45194bc622118bd4 -PKG_RELEASE:=20 +PKG_RELEASE:=21 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git diff --git a/modemmanager/files/lib/netifd/proto/modemmanager.sh b/modemmanager/files/lib/netifd/proto/modemmanager.sh index d6e4fb689..f9d6f045a 100644 --- a/modemmanager/files/lib/netifd/proto/modemmanager.sh +++ b/modemmanager/files/lib/netifd/proto/modemmanager.sh @@ -308,46 +308,160 @@ modemmanager_set_allowed_mode() { } } +modemmanager_check_state_failed() { + local device="$1" + local interface="$2" + local modemstatus="$3" + + local reason + + reason="$(modemmanager_get_field "${modemstatus}" "modem.generic.state-failed-reason")" + + case "$reason" in + "sim-missing") + echo "SIM missing" + proto_notify_error "${interface}" MM_FAILED_REASON_SIM_MISSING + proto_block_restart "${interface}" + return 1 + ;; + *) + proto_notify_error "${interface}" MM_FAILED_REASON_UNKNOWN + proto_block_restart "${interface}" + return 1 + ;; + esac +} + +modemmanager_check_state_lock_simpin() { + local interface="$1" + local unlock_value="$2" + + [ $unlock_value -ge 2 ] && return 0 + + echo "please check PIN (remaining attempts: ${unlock_value})" + proto_notify_error "${interface}" MM_CHECK_UNLOCK_PIN + proto_block_restart "${interface}" + return 1 +} + +modemmanager_check_state_lock_simpuk() { + local interface="$1" + local unlock_value="$2" + + echo "unlock with PUK required (remaining attempts: ${unlock_value})" + proto_notify_error "${interface}" MM_CHECK_UNLOCK_PIN + proto_block_restart "${interface}" + return 1 +} + +modemmanager_check_state_lock_sim() { + local interface="$1" + local unlock_lock="$2" + local unlock_value="$3" + + case "$unlock_lock" in + "sim-pin") + modemmanager_check_state_lock_simpin \ + "$interface" \ + "$unlock_value" + [ "$?" -ne "0" ] && return 1 + ;; + "sim-puk") + modemmanager_check_state_lock_simpuk \ + "$interface" \ + "$unlock_value" + [ "$?" -ne "0" ] && return 1 + ;; + *) + echo "PIN/PUK check '$unlock_lock' not implemented" + ;; + esac + + return 0 +} + +modemmanager_check_state_locked() { + local device="$1" + local interface="$2" + local modemstatus="$3" + local pincode="$4" + + local unlock_required unlock_retries unlock_retry unlock_lock + local unlock_value unlock_match + + if [ -z "$pincode" ]; then + echo "PIN required" + proto_notify_error "${interface}" MM_PINCODE_REQUIRED + proto_block_restart "${interface}" + return 1 + fi + + unlock_required="$(modemmanager_get_field "${modemstatus}" "modem.generic.unlock-required")" + unlock_retries="$(modemmanager_get_multivalue_field "${modemstatus}" "modem.generic.unlock-retries")" + + # Output of unlock-retries: + # 'sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)' + # Replace alle '' of unlock-retures with '', so we could + # iterate in the for loop. Replace result is: + # 'sim-pin(3),sim-puk(10),sim-pin2(3),sim-puk2(10)' + unlock_match=0 + for unlock_retry in $(echo "${unlock_retries// /}" | tr "," "\n"); do + unlock_lock="${unlock_retry%%(*}" + + # extract x value from 'sim-puk(x)' || 'sim-pin(x)' + unlock_value="${unlock_retry##*(}" + unlock_value="${unlock_value:0:-1}" + + [ "$unlock_lock" = "$unlock_required" ] && { + unlock_match=1 + modemmanager_check_state_lock_sim \ + "$interface" \ + "$unlock_lock" \ + "$unlock_value" + [ "$?" -ne "0" ] && return 1 + } + done + + if [ "$unlock_match" = "0" ]; then + echo "unable to check PIN/PUK attempts" + proto_notify_error "${interface}" MM_CHECK_UNLOCK_UNKNOWN + proto_block_restart "${interface}" + return 1 + fi + + + mmcli --modem="${device}" -i any --pin=${pincode} || { + proto_notify_error "${interface}" MM_PINCODE_WRONG + proto_block_restart "${interface}" + return 1 + } + + return 0 +} + modemmanager_check_state() { local device="$1" - local modemstatus="$2" - local pincode="$3" + local interface="$2" + local modemstatus="$3" + local pincode="$4" - local state reason + local state - state="$(modemmanager_get_field "${modemstatus}" "state")" - state="${state%% *}" - reason="$(modemmanager_get_field "${modemstatus}" "state-failed-reason")" + state="$(modemmanager_get_field "${modemstatus}" "modem.generic.state")" case "$state" in "failed") - case "$reason" in - "sim-missing") - echo "SIM missing" - proto_notify_error "${interface}" MM_FAILED_REASON_SIM_MISSING - proto_block_restart "${interface}" - return 1 - ;; - *) - proto_notify_error "${interface}" MM_FAILED_REASON_UNKNOWN - proto_block_restart "${interface}" - return 1 - ;; - esac + modemmanager_check_state_failed "$device" \ + "$interface" \ + "$modemstatus" + [ "$?" -ne "0" ] && return 1 ;; "locked") - if [ -n "$pincode" ]; then - mmcli --modem="${device}" -i any --pin=${pincode} || { - proto_notify_error "${interface}" MM_PINCODE_WRONG - proto_block_restart "${interface}" - return 1 - } - else - echo "PIN required" - proto_notify_error "${interface}" MM_PINCODE_REQUIRED - proto_block_restart "${interface}" - return 1 - fi + modemmanager_check_state_locked "$device" \ + "$interface" \ + "$modemstatus" \ + "$pincode" + [ "$?" -ne "0" ] && return 1 ;; esac } @@ -459,7 +573,7 @@ proto_modemmanager_setup() { } echo "modem available at ${modempath}" - modemmanager_check_state "$device" "${modemstatus}" "$pincode" + modemmanager_check_state "$device" "$interface" "${modemstatus}" "$pincode" [ "$?" -ne "0" ] && return 1 # always cleanup before attempting a new connection, just in case diff --git a/modemmanager/files/usr/sbin/ModemManager-monitor b/modemmanager/files/usr/sbin/ModemManager-monitor index 8a88ab514..44fdab594 100644 --- a/modemmanager/files/usr/sbin/ModemManager-monitor +++ b/modemmanager/files/usr/sbin/ModemManager-monitor @@ -127,7 +127,7 @@ main() { mm_log "info" "Checking if ModemManager is available..." if ! /usr/bin/mmcli -L >/dev/null 2>&1; then - mm_log "info" "ModemManager not yet available" + mm_log "info" "ModemManager not yet available (count=${n})" else mmrunning=1 break From ab045f47ce520011d2f93cffa2e517cbd85f411f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 24 Oct 2024 10:22:12 +0200 Subject: [PATCH 003/199] Fix when VPN is back UP --- omr-tracker/files/usr/share/omr/post-tracking.d/003-up | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up index 96e493441..81a8ca0d7 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up @@ -11,7 +11,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then exit 0 fi -if [ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$OMR_TRACKER_PREV_DEVICE_IP" = "$OMR_TRACKER_DEVICE_IP" ] && [ "$OMR_TRACKER_PREV_DEVICE_IP6" = "$OMR_TRACKER_DEVICE_IP6" ] && (([ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$(ip r show table 991337)" ]) || ([ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$(ip -6 r show table 6991337)" ])); then +if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$OMR_TRACKER_INTERFACE" != "omr6in4" ] && [ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$OMR_TRACKER_PREV_DEVICE_IP" = "$OMR_TRACKER_DEVICE_IP" ] && [ "$OMR_TRACKER_PREV_DEVICE_IP6" = "$OMR_TRACKER_DEVICE_IP6" ] && (([ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$(ip r show table 991337)" ]) || ([ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$(ip -6 r show table 6991337)" ])); then exit 0 fi From ebce49935a1416b2526d2de6161e9693fafc14f1 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 29 Oct 2024 09:34:12 +0100 Subject: [PATCH 004/199] Add ACL for ModemManager Ubus --- .../root/usr/share/rpcd/acl.d/luci-proto-modemmanager.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/luci-proto-modemmanager/root/usr/share/rpcd/acl.d/luci-proto-modemmanager.json b/luci-proto-modemmanager/root/usr/share/rpcd/acl.d/luci-proto-modemmanager.json index cde3e9cbb..0987c1c24 100644 --- a/luci-proto-modemmanager/root/usr/share/rpcd/acl.d/luci-proto-modemmanager.json +++ b/luci-proto-modemmanager/root/usr/share/rpcd/acl.d/luci-proto-modemmanager.json @@ -8,6 +8,9 @@ "/usr/bin/mmcli -m [0-9]* -J": [ "exec" ], "/usr/bin/mmcli -i [0-9]* -J": [ "exec" ], "/usr/bin/mmcli -m [0-9]* --location-get -J": [ "exec" ] + }, + "ubus": { + "modemmanager": [ "*" ] } } } From d11f4092253fb096afa1be881952aad8c79658f1 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 29 Oct 2024 09:34:53 +0100 Subject: [PATCH 005/199] Update TTL settings to nftables --- openmptcprouter/files/etc/firewall.ttl | 8 ++++++-- openmptcprouter/files/etc/uci-defaults/1980-omr-firewall | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/openmptcprouter/files/etc/firewall.ttl b/openmptcprouter/files/etc/firewall.ttl index 0c48ee873..611ce9fa2 100644 --- a/openmptcprouter/files/etc/firewall.ttl +++ b/openmptcprouter/files/etc/firewall.ttl @@ -5,8 +5,12 @@ _set_ttl() { device=$(uci -q get network.$1.name) ttl=$(uci -q get network.$1.ttl) - if [ -n "$ttl" ] && [ -z "$(iptables-save 2>/dev/null | grep TTL | grep $device)" ]; then - iptables -w -t mangle -I POSTROUTING -o $device -j TTL --ttl-set $ttl 2>&1 >/dev/null + if [ -n "$ttl" ]; then + if [ -e /usr/sbin/iptables-nft ] && [ -z "$(nft list ruleset 2>/dev/null | grep ttl | grep $device)" ]; then + nft add rule inet fw4 mangle_forward oifname $device ip ttl set $ttl >/dev/null 2>&1 + elif [ ! -e /usr/sbin/iptables-nft ] && [ -z "$(iptables-save 2>/dev/null | grep TTL | grep $device)" ]; then + iptables -w -t mangle -I POSTROUTING -o $device -j TTL --ttl-set $ttl >/dev/null 2>&1 + fi fi } diff --git a/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall b/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall index fa4ac9ffc..46ee2cb7f 100755 --- a/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall +++ b/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall @@ -155,13 +155,15 @@ if [ "$(uci -q get firewall.ttl)" = "" ]; then uci -q batch <<-EOF >/dev/null set firewall.ttl=include set firewall.ttl.path=/etc/firewall.ttl + set firewall.ttl.type='script' + set firewall.ttl.fw4_compatible='1' commit firewall EOF fi if [ "$(uci -q get firewall.upnp)" = "" ]; then uci -q batch <<-EOF >/dev/null set firewall.upnp=include - set firewall.upnp.path='/etc/firewall.ttl' + set firewall.upnp.path='/etc/firewall.upnp' set firewall.upnp.type='script' set firewall.upnp.fw4_compatible='1' commit firewall From 9fc63c1efbe01160122cf41dafdbc976bff4b621 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 29 Oct 2024 09:35:20 +0100 Subject: [PATCH 006/199] Force nptd --- openmptcprouter/files/etc/ntpd.d/force_ntp.conf | 1 + 1 file changed, 1 insertion(+) create mode 100644 openmptcprouter/files/etc/ntpd.d/force_ntp.conf diff --git a/openmptcprouter/files/etc/ntpd.d/force_ntp.conf b/openmptcprouter/files/etc/ntpd.d/force_ntp.conf new file mode 100644 index 000000000..4fc930b92 --- /dev/null +++ b/openmptcprouter/files/etc/ntpd.d/force_ntp.conf @@ -0,0 +1 @@ +tinker panic 0 \ No newline at end of file From b0c5e22d34a1cbfb6056a3333280bb949e112bea Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 29 Oct 2024 09:36:29 +0100 Subject: [PATCH 007/199] Add a common proxy-post-tracking.d directory for all proxy --- omr-tracker/files/bin/omr-tracker-ss | 29 ++++++++++++++++-------- omr-tracker/files/bin/omr-tracker-v2ray | 29 ++++++++++++++++-------- omr-tracker/files/bin/omr-tracker-xray | 30 ++++++++++++++++--------- 3 files changed, 60 insertions(+), 28 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index e56748f7f..5079968a9 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -22,15 +22,26 @@ _log() { } _post_tracking() { - [ ! -d /usr/share/omr/ss-post-tracking.d ] && return - for tracker_bin in /usr/share/omr/ss-post-tracking.d/*; do - [ -x "$tracker_bin" ] && ( - _log() { - logger -t "ss-post-tracking-${tracker_bin##*/}" "$*" - } - . "$tracker_bin" 2>&1 - ) - done + [ -d /usr/share/omr/ss-post-tracking.d ] && { + for tracker_bin in /usr/share/omr/ss-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "ss-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done + } + [ -d /usr/share/omr/proxy-post-tracking.d ] && { + for tracker_bin in /usr/share/omr/proxy-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "proxy-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done + } } _ping_server() { diff --git a/omr-tracker/files/bin/omr-tracker-v2ray b/omr-tracker/files/bin/omr-tracker-v2ray index ad07829f2..97babefe6 100755 --- a/omr-tracker/files/bin/omr-tracker-v2ray +++ b/omr-tracker/files/bin/omr-tracker-v2ray @@ -20,15 +20,26 @@ _log() { } _post_tracking() { - [ ! -d /usr/share/omr/v2ray-post-tracking.d ] && return - for tracker_bin in /usr/share/omr/v2ray-post-tracking.d/*; do - [ -x "$tracker_bin" ] && ( - _log() { - logger -t "v2ray-post-tracking-${tracker_bin##*/}" "$*" - } - . "$tracker_bin" 2>&1 - ) - done + [ -d /usr/share/omr/v2ray-post-tracking.d ] && { + for tracker_bin in /usr/share/omr/v2ray-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "v2ray-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done + } + [ -d /usr/share/omr/proxy-post-tracking.d ] && { + for tracker_bin in /usr/share/omr/proxy-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "proxy-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done + } } _ping_server() { diff --git a/omr-tracker/files/bin/omr-tracker-xray b/omr-tracker/files/bin/omr-tracker-xray index 83b5d82c2..76781ba24 100755 --- a/omr-tracker/files/bin/omr-tracker-xray +++ b/omr-tracker/files/bin/omr-tracker-xray @@ -19,18 +19,28 @@ _log() { } _post_tracking() { - [ ! -d /usr/share/omr/xray-post-tracking.d ] && return - for tracker_bin in /usr/share/omr/xray-post-tracking.d/*; do - [ -x "$tracker_bin" ] && ( - _log() { - logger -t "xray-post-tracking-${tracker_bin##*/}" "$*" - } - . "$tracker_bin" 2>&1 - ) - done + [ -d /usr/share/omr/xray-post-tracking.d ] && { + for tracker_bin in /usr/share/omr/xray-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "xray-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done + } + [ -d /usr/share/omr/proxy-post-tracking.d ] && { + for tracker_bin in /usr/share/omr/proxy-post-tracking.d/*; do + [ -x "$tracker_bin" ] && ( + _log() { + logger -t "proxy-post-tracking-${tracker_bin##*/}" "$*" + } + . "$tracker_bin" 2>&1 + ) + done + } } - _ping_server() { local host=$1 ret=$(ping \ From 8eb8b22a568e5c5f4b0e405e3117cc1496e20941 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 29 Oct 2024 09:53:24 +0100 Subject: [PATCH 008/199] Add Proxy/VPN status report via Led --- .../resources/view/system/led-trigger/proxy.js | 18 ++++++++++++++++++ .../resources/view/system/led-trigger/vpn.js | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/proxy.js create mode 100644 luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/vpn.js diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/proxy.js b/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/proxy.js new file mode 100644 index 000000000..d7b9300b6 --- /dev/null +++ b/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/proxy.js @@ -0,0 +1,18 @@ +'use strict'; +'require baseclass'; +'require form'; + +return baseclass.extend({ + trigger: _('Proxy status (service: proxy)'), + kernel: false, + addFormOptions: function(s){ + var o; + + o = s.option(form.ListValue, 'proxy_status', _('Proxy Status')); + o.rmempty = true; + o.modalonly = true; + o.value('up', _('Up')); + o.value('down', _('Down')); + o.depends('trigger','proxy'); + } +}); diff --git a/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/vpn.js b/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/vpn.js new file mode 100644 index 000000000..85f28a8a2 --- /dev/null +++ b/luci-app-openmptcprouter/htdocs/luci-static/resources/view/system/led-trigger/vpn.js @@ -0,0 +1,18 @@ +'use strict'; +'require baseclass'; +'require form'; + +return baseclass.extend({ + trigger: _('VPN status (service: vpn)'), + kernel: false, + addFormOptions: function(s){ + var o; + + o = s.option(form.ListValue, 'vpn_status', _('VPN Status')); + o.rmempty = true; + o.modalonly = true; + o.value('up', _('Up')); + o.value('down', _('Down')); + o.depends('trigger','vpn'); + } +}); From 93e875c96925854b15358a5f65ca4ee8fc3fb6f7 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 29 Oct 2024 10:13:10 +0100 Subject: [PATCH 009/199] Add leds scripts fir server and proxy --- .../share/omr/proxy-post-tracking.d/030-leds | 27 +++++++++++++++++++ .../share/omr/server-post-tracking.d/030-leds | 27 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100755 omr-tracker/files/usr/share/omr/proxy-post-tracking.d/030-leds create mode 100755 omr-tracker/files/usr/share/omr/server-post-tracking.d/030-leds diff --git a/omr-tracker/files/usr/share/omr/proxy-post-tracking.d/030-leds b/omr-tracker/files/usr/share/omr/proxy-post-tracking.d/030-leds new file mode 100755 index 000000000..3f41f9fd4 --- /dev/null +++ b/omr-tracker/files/usr/share/omr/proxy-post-tracking.d/030-leds @@ -0,0 +1,27 @@ +#!/bin/sh + +[ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ] && exit 0 + +set_leds() { + local cfg=$1 + config_get trigger $cfg trigger + [ "$trigger" != "proxy" ] && return + config_get sysfs $cfg sysfs + config_get proxy_status $cfg proxy_status + if [ "$proxy_status" = "off" ]; then + if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then + echo 'default-on' > /sys/class/leds/${sysfs}/trigger + else + echo 'none' > /sys/class/leds/${sysfs}/trigger + fi + elif [ "$proxy_status" = "on" ]; then + if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then + echo 'none' > /sys/class/leds/${sysfs}/trigger + else + echo 'default-on' > /sys/class/leds/${sysfs}/trigger + fi + fi +} + +config_load system +config_foreach set_leds led \ No newline at end of file diff --git a/omr-tracker/files/usr/share/omr/server-post-tracking.d/030-leds b/omr-tracker/files/usr/share/omr/server-post-tracking.d/030-leds new file mode 100755 index 000000000..1ae577918 --- /dev/null +++ b/omr-tracker/files/usr/share/omr/server-post-tracking.d/030-leds @@ -0,0 +1,27 @@ +#!/bin/sh + +[ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ] && exit 0 + +set_leds() { + local cfg=$1 + config_get trigger $cfg trigger + [ "$trigger" != "server" ] && return + config_get sysfs $cfg sysfs + config_get server_status $cfg server_status + if [ "$server_status" = "off" ]; then + if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then + echo 'default-on' > /sys/class/leds/${sysfs}/trigger + else + echo 'none' > /sys/class/leds/${sysfs}/trigger + fi + elif [ "$server_status" = "on" ]; then + if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then + echo 'none' > /sys/class/leds/${sysfs}/trigger + else + echo 'default-on' > /sys/class/leds/${sysfs}/trigger + fi + fi +} + +config_load system +config_foreach set_leds led \ No newline at end of file From d28b01e8f0b2c5a5efd7b4d0110cd2312ce92390 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 31 Oct 2024 14:41:28 +0100 Subject: [PATCH 010/199] Update bcm27xx-eeprom --- bcm27xx-eeprom/Makefile | 20 +++++++++---------- ...1-rpi-eeprom-update-OpenWrt-defaults.patch | 3 ++- ...m-update-change-default-include-path.patch | 8 ++++---- ...date-chmod-silent-f-is-not-supported.patch | 4 ++-- ...g-replace-nano-with-vi-as-default-ed.patch | 4 ++-- 5 files changed, 20 insertions(+), 19 deletions(-) diff --git a/bcm27xx-eeprom/Makefile b/bcm27xx-eeprom/Makefile index a1ec62b44..8f37f3ecb 100644 --- a/bcm27xx-eeprom/Makefile +++ b/bcm27xx-eeprom/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/raspberrypi/rpi-eeprom -PKG_SOURCE_DATE:=2024-06-05 -PKG_SOURCE_VERSION:=e430a41e7323a1e28fb42b53cf79e5ba9b5ee975 -PKG_MIRROR_HASH:=6c9a45d4ea0f33a9dc18f11b6cdeb425f0682dc41099df3a1f350939aecce353 +PKG_SOURCE_DATE:=2024-09-23 +PKG_SOURCE_VERSION:=c8fffcda5ae0f923857a73fedbeb07e81d2eb813 +PKG_MIRROR_HASH:=68d0eedd1aff573c2ea7071f89a5898292061ced96d7f98ea4a347dc16c8102c PKG_LICENSE:=BSD-3-Clause Custom PKG_LICENSE_FILES:=LICENSE @@ -74,21 +74,21 @@ endef define Package/bcm2711-eeprom/install $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2711 - $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2711/default + $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2711/latest $(CP) $(PKG_BUILD_DIR)/firmware-2711/release-notes.md $(1)/lib/firmware/raspberrypi/bootloader-2711 - $(CP) $(PKG_BUILD_DIR)/firmware-2711/default/pieeprom-2024-04-15.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/default - $(CP) $(PKG_BUILD_DIR)/firmware-2711/default/recovery.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/default - $(CP) $(PKG_BUILD_DIR)/firmware-2711/default/vl805-000138c0.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/default + $(CP) $(PKG_BUILD_DIR)/firmware-2711/latest/pieeprom-2024-09-05.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/latest + $(CP) $(PKG_BUILD_DIR)/firmware-2711/latest/recovery.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/latest + $(CP) $(PKG_BUILD_DIR)/firmware-2711/latest/vl805-000138c0.bin $(1)/lib/firmware/raspberrypi/bootloader-2711/latest endef define Package/bcm2712-eeprom/install $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2712 - $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2712/default + $(INSTALL_DIR) $(1)/lib/firmware/raspberrypi/bootloader-2712/latest $(CP) $(PKG_BUILD_DIR)/firmware-2712/release-notes.md $(1)/lib/firmware/raspberrypi/bootloader-2712 - $(CP) $(PKG_BUILD_DIR)/firmware-2712/default/pieeprom-2024-04-20.bin $(1)/lib/firmware/raspberrypi/bootloader-2712/default - $(CP) $(PKG_BUILD_DIR)/firmware-2712/default/recovery.bin $(1)/lib/firmware/raspberrypi/bootloader-2712/default + $(CP) $(PKG_BUILD_DIR)/firmware-2712/latest/pieeprom-2024-09-23.bin $(1)/lib/firmware/raspberrypi/bootloader-2712/latest + $(CP) $(PKG_BUILD_DIR)/firmware-2712/latest/recovery.bin $(1)/lib/firmware/raspberrypi/bootloader-2712/latest endef $(eval $(call BuildPackage,bcm27xx-eeprom)) diff --git a/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch b/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch index 4404fc3b6..e989ae1ff 100644 --- a/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch +++ b/bcm27xx-eeprom/patches/0001-rpi-eeprom-update-OpenWrt-defaults.patch @@ -28,8 +28,9 @@ Signed-off-by: Álvaro Fernández Rojas @@ -1,7 +1,7 @@ FIRMWARE_ROOT=/lib/firmware/raspberrypi/bootloader - FIRMWARE_RELEASE_STATUS="default" +-FIRMWARE_RELEASE_STATUS="default" -FIRMWARE_BACKUP_DIR="/var/lib/raspberrypi/bootloader/backup" ++FIRMWARE_RELEASE_STATUS="latest" +FIRMWARE_BACKUP_DIR="${FIRMWARE_ROOT}/backup" EEPROM_CONFIG_HOOK= diff --git a/bcm27xx-eeprom/patches/0002-rpi-eeprom-update-change-default-include-path.patch b/bcm27xx-eeprom/patches/0002-rpi-eeprom-update-change-default-include-path.patch index 840cd286f..2bfb0beb1 100644 --- a/bcm27xx-eeprom/patches/0002-rpi-eeprom-update-change-default-include-path.patch +++ b/bcm27xx-eeprom/patches/0002-rpi-eeprom-update-change-default-include-path.patch @@ -24,7 +24,7 @@ Signed-off-by: Álvaro Fernández Rojas fi LOCAL_MODE=0 -@@ -423,7 +423,7 @@ checkDependencies() { +@@ -439,7 +439,7 @@ checkDependencies() { echo "Run with -h for more information." echo echo "To enable flashrom programming of the EEPROM" @@ -33,7 +33,7 @@ Signed-off-by: Álvaro Fernández Rojas echo "RPI_EEPROM_USE_FLASHROM=1" echo "CM4_ENABLE_RPI_EEPROM_UPDATE=1" echo -@@ -514,7 +514,7 @@ The system should then boot normally. +@@ -526,7 +526,7 @@ The system should then boot normally. If /boot does not correspond to the boot partition and this is not a NOOBS system, then the mount point for BOOTFS should be defined @@ -42,7 +42,7 @@ Signed-off-by: Álvaro Fernández Rojas A backup of the current EEPROM config file is written to ${FIRMWARE_BACKUP_DIR} before applying the update. -@@ -546,7 +546,7 @@ Options: +@@ -558,7 +558,7 @@ Options: -u Install the specified VL805 (USB EEPROM) image file. Environment: @@ -51,7 +51,7 @@ Signed-off-by: Álvaro Fernández Rojas EEPROM_CONFIG_HOOK -@@ -618,7 +618,7 @@ must first be enabled by removing ENABLE +@@ -630,7 +630,7 @@ must first be enabled by removing ENABLE via usbboot. After enabling self-update set the CM4_ENABLE_RPI_EEPROM_UPDATE=1 environment diff --git a/bcm27xx-eeprom/patches/0003-rpi-eeprom-update-chmod-silent-f-is-not-supported.patch b/bcm27xx-eeprom/patches/0003-rpi-eeprom-update-chmod-silent-f-is-not-supported.patch index 344d001d8..0999eb9bf 100644 --- a/bcm27xx-eeprom/patches/0003-rpi-eeprom-update-chmod-silent-f-is-not-supported.patch +++ b/bcm27xx-eeprom/patches/0003-rpi-eeprom-update-chmod-silent-f-is-not-supported.patch @@ -13,7 +13,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/rpi-eeprom-update +++ b/rpi-eeprom-update -@@ -216,7 +216,7 @@ applyRecoveryUpdate() +@@ -220,7 +220,7 @@ applyRecoveryUpdate() || die "Failed to copy ${TMP_EEPROM_IMAGE} to ${BOOTFS}" # For NFS mounts ensure that the files are readable to the TFTP user @@ -22,7 +22,7 @@ Signed-off-by: Álvaro Fernández Rojas || die "Failed to set permissions on eeprom update files" fi -@@ -227,7 +227,7 @@ applyRecoveryUpdate() +@@ -231,7 +231,7 @@ applyRecoveryUpdate() || die "Failed to copy ${VL805_UPDATE_IMAGE} to ${BOOTFS}/vl805.bin" # For NFS mounts ensure that the files are readable to the TFTP user diff --git a/bcm27xx-eeprom/patches/0004-rpi-eeprom-config-replace-nano-with-vi-as-default-ed.patch b/bcm27xx-eeprom/patches/0004-rpi-eeprom-config-replace-nano-with-vi-as-default-ed.patch index 3cbdd7162..27543f6ac 100644 --- a/bcm27xx-eeprom/patches/0004-rpi-eeprom-config-replace-nano-with-vi-as-default-ed.patch +++ b/bcm27xx-eeprom/patches/0004-rpi-eeprom-config-replace-nano-with-vi-as-default-ed.patch @@ -13,7 +13,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/rpi-eeprom-config +++ b/rpi-eeprom-config -@@ -184,8 +184,8 @@ def edit_config(eeprom=None): +@@ -186,8 +186,8 @@ def edit_config(eeprom=None): """ Implements something like 'git commit' for editing EEPROM configs. """ @@ -24,7 +24,7 @@ Signed-off-by: Álvaro Fernández Rojas if 'EDITOR' in os.environ: editor = os.environ['EDITOR'] -@@ -484,7 +484,7 @@ Operating modes: +@@ -517,7 +517,7 @@ Operating modes: To cancel the pending update run 'sudo rpi-eeprom-update -r' From 11d48ae4f5740a235825b083521f2bfe982a885a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 31 Oct 2024 14:41:49 +0100 Subject: [PATCH 011/199] Update XRay --- xray-core/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xray-core/Makefile b/xray-core/Makefile index 6431ba36f..0323e4680 100644 --- a/xray-core/Makefile +++ b/xray-core/Makefile @@ -8,7 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xray -PKG_VERSION:=1.8.24 +#PKG_VERSION:=1.8.24 +PKG_VERSION:=24.9.30 PKG_RELEASE:=1 PKG_LICENSE:=MPLv2 @@ -16,7 +17,8 @@ PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Yannick Chabanois PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/XTLS/Xray-core.git -PKG_SOURCE_VERSION:=6baad79f9881ee2cf75bdc825b3e2e92b289477a +PKG_SOURCE_VERSION:=e733148c0bf78f6298cf08045297e783568b80c9 +#PKG_SOURCE_VERSION:=6baad79f9881ee2cf75bdc825b3e2e92b289477a PKG_BUILD_DEPENDS:=golang/host PKG_BUILD_PARALLEL:=1 From e135cb4261342b491bada4115e822a674f2097dc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 31 Oct 2024 14:42:18 +0100 Subject: [PATCH 012/199] Add entrypoint to get GPS data from ModemManager API --- .../files/usr/libexec/rpcd/modemmanager | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) mode change 100644 => 100755 modemmanager/files/usr/libexec/rpcd/modemmanager diff --git a/modemmanager/files/usr/libexec/rpcd/modemmanager b/modemmanager/files/usr/libexec/rpcd/modemmanager old mode 100644 new mode 100755 index 0f0d24a48..977ed9eaf --- a/modemmanager/files/usr/libexec/rpcd/modemmanager +++ b/modemmanager/files/usr/libexec/rpcd/modemmanager @@ -143,6 +143,19 @@ function mm_get_modem_status(modem) table.insert(status["modem"], mstatus["modem"]) end +function mm_get_modem_gps(modem) + location = {} + mstatus = {} + mm_get_modem_location(modem) + if (next(location) ~= nil) then + mstatus["location"] = location + else + mstatus["location"] = {} + end + + table.insert(gps["modem"], mstatus["location"]) +end + function aquire_data_modemmanager() local command = string.format("/usr/bin/mmcli --list-modems --output-json 2>/dev/null") @@ -167,6 +180,30 @@ function aquire_data_modemmanager() end end +function aquire_data_gps() + + local command = string.format("/usr/bin/mmcli --list-modems --output-json 2>/dev/null") + + local handle = io.popen(command) + local output = handle:read("*a") + handle:close() + + local ok, modems = pcall(function() + return json.decode(output) + end) + + if not ok then + return + end + + entry_cache = {} + gps = {} + gps["modem"] = {} + for k, v in ipairs(modems["modem-list"]) do + mm_get_modem_gps(modems["modem-list"][k]) + end +end + function aquire_data_info() aquire_data_modemmanager() @@ -200,6 +237,7 @@ function main(cmd, call) if cmd == "list" then print(json.encode({ dump = {}, + gps = {}, info = {} })) elseif cmd == "call" then @@ -209,6 +247,9 @@ function main(cmd, call) elseif call == "info" then aquire_data_info() print(json.encode(info)) + elseif call == "gps" then + aquire_data_gps() + print(json.encode(gps)) end end end From 006a50aef6f7c99c35f1d7a2cb145829aca49964 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Nov 2024 14:35:57 +0100 Subject: [PATCH 013/199] Increase VPS API request timeout --- .../root/etc/uci-defaults/openmptcprouter | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter index f8c681624..7d05eda2f 100755 --- a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter +++ b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter @@ -86,9 +86,9 @@ if [ "$(uci -q get openmptcprouter.settings.check_ipv6_website)" = "" ]; then commit openmptcprouter EOF fi -if [ "$(uci -q get openmptcprouter.settings.status_vps_timeout)" = "" ] || [ "$(uci -q get openmptcprouter.settings.status_vps_timeout)" = "1" ]; then +if [ "$(uci -q get openmptcprouter.settings.status_vps_timeout)" = "" ] || [ "$(uci -q get openmptcprouter.settings.status_vps_timeout)" = "1" ] || [ "$(uci -q get openmptcprouter.settings.status_vps_timeout)" = "3" ]; then uci -q batch <<-EOF >/dev/null - set openmptcprouter.settings.status_vps_timeout=3 + set openmptcprouter.settings.status_vps_timeout=10 commit openmptcprouter EOF fi From 77f1deb12076f3c77e0c9af7a16a2c9109c52103 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Nov 2024 14:36:49 +0100 Subject: [PATCH 014/199] Increase MPTCP add addr --- mptcp/files/etc/uci-defaults/mptcp-defaults | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mptcp/files/etc/uci-defaults/mptcp-defaults b/mptcp/files/etc/uci-defaults/mptcp-defaults index cba0bc87a..86a07b0e3 100755 --- a/mptcp/files/etc/uci-defaults/mptcp-defaults +++ b/mptcp/files/etc/uci-defaults/mptcp-defaults @@ -64,11 +64,17 @@ fi if [ "$(uci -q get network.globals.mptcp_subflows)" = "" ]; then uci -q batch <<-EOF >/dev/null set network.globals.mptcp_subflows=8 - set network.globals.mptcp_add_addr_accepted=1 + set network.globals.mptcp_add_addr_accepted=8 set network.globals.mptcp_add_addr_timeout=120 commit network EOF fi +if [ "$(uci -q get network.globals.mptcp_add_addr_accepted)" = "1" ]; then + uci -q batch <<-EOF >/dev/null + set network.globals.mptcp_add_addr_accepted=8 + commit network + EOF +fi uci -q batch <<-EOF >/dev/null delete ucitrack.@mptcp[-1] From e0a6ae3d4ec3cbef58ed57e2b313584777cbfb73 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Nov 2024 14:37:23 +0100 Subject: [PATCH 015/199] Update OMR-ByPass domains and IPs --- .../usr/share/omr-bypass/omr-bypass-proto.lst | 34 ++++++++++++++---- .../files/usr/share/omr-bypass/omr-bypass.db | Bin 282624 -> 495616 bytes 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/omr-bypass/files/usr/share/omr-bypass/omr-bypass-proto.lst b/omr-bypass/files/usr/share/omr-bypass/omr-bypass-proto.lst index 5229d7c7b..402943103 100644 --- a/omr-bypass/files/usr/share/omr-bypass/omr-bypass-proto.lst +++ b/omr-bypass/files/usr/share/omr-bypass/omr-bypass-proto.lst @@ -1,6 +1,7 @@ 1kxun accuweather activision +adobeconnect ads_analytic_track adultcontent alibaba @@ -22,58 +23,73 @@ azure badoo bittorrent bloomberg +bluesky cachefly +cactusvpn +clickhouse cloudflare +cloudflare_warp cloudflarewarp cnn +cod_mobile crashlytics cybersec dailymotion datasaver dazn deezer +dingtalk directv discord disneyplus dnscrypt doh_dot +dota2 dropbox eaq ebay edgecast +electronicarts epicgames ethereum facebook +facebookmessenger fbookreelstory fuze +gaijinentertainment geforcenow github gitlab gmail google +googlechat googleclassroom google_cloud googlecloud googledocs googledrive -googlehangout googlemaps +googlemeet googleservices goto hbo hotspotshield +huawei +huaweicloud hulu icloudprivaterelay iflix iheartradio instagram +iqiyi +irc kakaotalk lastfm likee line linkedin livestream -messenger +mastodon microsoft microsoft_365 microsoft365 @@ -82,8 +98,11 @@ ms_one_drive ms_onedrive ms_outlook mullvad +mumble +neteasegames netflix nintendo +nordvpn ntop nvidia ocs @@ -94,11 +113,12 @@ operavpn outlook pandora pastebin +pathofexile pinterest playstation playstore pluralsight -ppstream +privateinternetaccess protonvpn psiphon qq @@ -115,10 +135,12 @@ skype_teams slack snapchat softether +sonos soundcloud spotify starcraft steam +surfshark syncthing tailscale teams @@ -127,20 +149,19 @@ telegram tencent tencentvideo teslaservices +tes_online +threads threema tidal tiktok tor -tuenti tumblr tunein tunnelbear twitch twitter ubuntuone -vevo viber -vidto vimeo vk vudu @@ -151,6 +172,7 @@ whatsapp whatsappfiles wikipedia windowsupdate +windscribe worldofwarcraft xbox xiaomi diff --git a/omr-bypass/files/usr/share/omr-bypass/omr-bypass.db b/omr-bypass/files/usr/share/omr-bypass/omr-bypass.db index f9cec43f4dacf44136df5b9f3e2e779dc75b594f..19f7140f2d68304dc7fe714c0377ff6a5946ed9d 100644 GIT binary patch literal 495616 zcmeFacbHpgeLrgHs8>%_o#yd)TvqaEs%O2$UT<&SU2kt*%}6sNkD4V-^X{^ob5xd2 z0wlB_q1UB^lF&kE0RjX<3xt-XLx2PbAq2uN_w#+ed@GmGtOJp_EHjMrU^I-eofFIyO4GYu7Fd{@=m>`ad%sC`|un(jT7UuVq*K zT+xdNX8+nQ|2yz=;opTGxX=R^df-A2Th9Yw z+EXkQDh2*>;AWF8FfwAwv3#yQdFpnSQ}e-W$g3H=f6rQ>TEcX==NhCTo7`L5^Fp4WPw z<5}}u>4|$n9-I4D?r*q1?tYv5#qLMkN%wW`xVzW&8`n2opK!g_^>o*Ru1j12=Wm_= z=zO2^)y}$e-Fd6?nDda+?f9YN?;NjpJl%1R<9f$Y$6kls{xkdM?C-X}#{O*kmVMcN zgMGn1VmH}-X#14y&9*j$haw?1wyTko}AXC1YgEuXbK zVX0a&mJ^nkrBC{I>08oAr8i2?k+!7!q(x~|+GYN}`D5lM%r7vXGv8-EY92LPP5)y0 zjOhu}GfjEZNz;NU!X{!!wo8X1seCz}Os#GtOR4yBA(twwolX@h1F}sTkKiR%QeezLL!3)1_iY=!?L^(j+x?NtWX11}%7G8~v6{EoBSK>+#$U^*DNUt590kB80c37|XC&*h-fOZ}sW$CK^FO z_`k53F0EB6MV4Mm8`wZ)v@(-LA>n9+cQz%AQOX!k+8XR|Su2)mlTIQ^d_%8Ne@Pn$ zD!RO+6&5@;n=xMkxg42+P5YhA4%p@r9uX443j%w(TkwMi`nE(xl$;lhgYT8cnb4A zEmTdb3Wd(DNcV6&R$0rGQpIGcvZF=aD5py_50N+JDWr;~r9)$>!m?PT1|x7XB^?*h z?)f01e_0wD$X5z%j?mx0l5{9gD6D6bD4GTz(}2D9C8hB|tXxc|Qeo(!_!7?fA;law<>BSC$aBlul=bp-GLeN$c-Lj?!_TMXwAh5i&Ek^CRhowecu)**Q`|oBE_3CM%d+w5s zQu0c&l39)=1+x9>)2g2hdx%gcJ;zzxy?Ed%N~J=lLe zW)@|n2L!L91zIW;mkQfhXB4cxMX$xe#x5LR#j(O82x#aU+9`N&bItSD$koze9pYUp zq#L-3&bp55yjMz*zU4fdnfT*9p}nFyc%8UHIy#o`nhgQHk6$KT#eghr9;je^ zIlfXTRB(u5KR}Hr((t9yQDY=bT-xn4yzdf>8Aa4Hp=bY53=Ta|uJku}u{1WmwM0#% zAfc(DMQI#JaNwj=hh_nnx5~@Od|Pq`kIzVpW4Rq9jCU=AMH-!! zX2#0tr;3rF7#mL!W6zYdFcw?dz#WP;t6OD84@-&h3_Gu4!XC~W%YyskQfNHKMpg(7 z#xN8-9rd?>gfBvW7dOglZCyh_;X@kMRu#fR2c^S-WTmo|S<%Ny&v@{FbRe)=E+*QN zh4v!}U7l#>u_`p{5}uS20TvWvtys^nvx$ZD?~^71*>YR``X>;&ianK05xwYvz0xG& z&b9}SBbc^4W9;5NIB9rLKD||DPd#JOh!&=2+Bb?*Dw)JxlkadWUjGQn&z)=S5G-`h zuyj0-obB%KHpN}1J+P#=n@Eie{oAc`8ZC$>Fd-LaRw5$Why zIhjqDA*NhT)AGai&JXfd@L*UP8DkNsgInQ|kaR#uZ3II>91OTQ7II7J65Gj}FT(*T z(SkOU8(B6wO*}G)d@Jc>ZZng{wUY8}y&W2mZW!4p$F^|5$EFD@Zd5S-xg?f&a*J(D z&6jXLW*oncm2gF&{icaU`=pr=e~TqkWn6^P>=5BWfnI5RgtALcpQA#W$wED7SM$vP z4eyo~LgjKcrX7+zRx3)_FC7k@2kY}mV_I!m33hv>h#tr@3wp5dikmU*Ucdu4GpTeT z>Xr_SW7o~4*=s8k_B!N}4vh=3+u&g*wmgs*nPjZJ(k%IiLpnU3tZc?`gYOz))Q*jW zBBZw~-D8Z{kVQG3#Z1L-HowI#Ekczpwo2*oM0qBj-NbxIB|$6Uq)%p=jcq?!gtQ?G z4gevl01ZoM8bK*Gy-SR)6YxW3>6-D>^xSr4c4~WZA)DF2^?+UAjWdSz!$FeFI~z{? zI_d-Xwb$s`R`uZ5s?x7T@#9yL?IfFTfZ+9i+5ZNA!=Lp}`Tf41`#$S?;sX7Df&MR4 zLKo=&3-rIv^}0a+r!Ua|bfeS>_Y3s@1^WL2{eOY}Cx%2DamzUb7wG>B^#29=pXk^N z^#29=|Nk}mU%F~Ml{=eC&97}u&u%QQoS#=f^#9|g(Ov%U`#JatdTbIdd7 z{tx%J+@Em2-Thqmw)+A1G51C8fa`azuR{aiovs(V3a+bN7rA&?$GXU*4`hfM!z`o8J&ruUd$Vp2_M({Xf& z_HS76LqNP!*r;qQL14GB%%m2yptZ0u#U~xrBg8f`@vI=6)Z#=GFT^X_ODtblhAb|V zj%xvZibooW>{PU?q!t=d+>q9AL1dFxreOia1*!B-Wd^dn;u>R1YDll*l!kao@uhS# z(4hw|HA@{+?5%odv^wijTP@+FVv~+eZWObHWGc=p!7C)RpQC#e=soB$wbUJvh82sn z7}xHftk(1Sk>8+ zU)d!^0!%We<-1#cOd8@LG;owfpZqlNxAolg3iQa2f)UO`!G&cHJ@O;XFgh%o6Kq&AgGy5y7BrGW@78ZDqtK7;j#7cS_~LVM*57LE22Z$@2XQ7aYB z@8>y=%B$cj6Z0Q@ePYUL^P#-HQ%s*`;R$&~IyKG$V#~>F7K%NwT&7%3r|7L*O0Q-} zYFvs5Y4*!$>G=3+vXb6{EHRfx?EEU4tBW6nsC(rUiBV_g7O^F?iC=_hlk&23xfU%| zE;7yS&E872$HJx0r@tBYcE2$SH4vm z2+;=3H|bva7HK5ZJRx{szYNWV&}vJ9$AfpvH=}s|tepjY@=Xx-XhA4lPY=z70IQK6 zn_hzQ4N@$S$&(;lNJ5ZLzFrCiR(TTo9g?qu>^YZ&l%}H|6dIDRl_oTtYasC)3G0=w zL7Nik1oQ>ai5wV~uZBpAKX>KN?UApN4j+g?X)?PmR*&Vb>k5p?S4y!1PaS8Ud_r0{ zz)QjbrYEIA;DLI`gnWfG*NT`+<{`0UdxkOIh0|bE=Wi3h2>cYI(hmS#wUv# zSW^kCSDwKbn;#Z!jmL^GFWS-L7&P@a+wg;IqL==?&j4IR>) zvwia6=IWw*4bN>@jyGpA6e?4h)^(Fd=$E0>5XqMl@fFmfsleGUU&Ml^jKKlIRQ-IG^nX2jx*HV3js;XfSNt4V0RLWG>vsx>4JlTIvjTd6tae4)651Fn@kA`g)s7VxD)sd6rt-od8P z9OYp-3R_c)y(*;HL*~|)?yBZdh!0C!;AC(S$Z|Dej>U&3JuLh^m zUEql9(S{p!+Jc68Ixj53LD>!UUA<;h2RxJVc|a!ej|!b`Q$O#Mow%Q#0U=P1ui#qF zH{* zX`j{m9q%W+Z}a}C_c8Ao?;YM_-bt^|^ApcEU<2?@&&xawPsOwBx!JSd{lDE$x+alKALf`*=)|Xlzwmx9J z+`7kVwfxlbMa%mvueLnXlC#`oiCetVlhS*ox>SO;|FzNqsmJ{9=C7LHZ+@k@Va}MZ zHb>1S(+^D_F}=-HH7%P?py~h9zaiBFwUktx=?JsSH@YuZK3&MCnKJT_3QC>sourG| z1s_&jQ0^dpIPL(=+q;m#r0SGz2ypr#y~(tn*~K@PSuPdI1=?=8Zc%x+3Q9fz<=1pF z&VF;{J*pkrSNuL#j%!2+&IY|AEF`Gfa6RK-VPyrXka^;BfG?dm3>fIPp9wj}#bJ(}G(o1DHz+gK93m8xyAyxxny1FWR zi7F3Eb38nj+^9g;ijlnN0S50@&S7NO;|dg6DS5xLgR3%oWI1h=*>jHqDxU{aTUgj( zWlK6W0^$@~ay(PqoR7C!ggEhhIay)HcQbfG*_19ne~M1UHjBI8~l?@!5P_JL3t)vMLDJALf2<$L;-{@1YiHDW5&~yU<6)R&x z<)O@(Yt>{xDM}+F44{5#ChAwf02t|rKB(l0#lVj;u@Zwyjsg1UH8Tn*S!l~))iTi( z)=v`&E9 z=M5Q071%R?7lLhit4z0CwkVs4qsmGPW~>xL$sQCF$r$vp$#>xKt#ujTthUP?DI4>BPeH3~7J1D{(iI zk17wLz~-x<`q>N{S5Biq^uux?iwiTA)KU;_#!4s;N_QD!HJL8SQbzAJRqGN z*@8kQxGdNoi2cGS{8*{d8ap;0Q6h-cb7`jd*DQ2ixnD|-fFeqD1aB$fL@=()x(DvBz@B(t5grdb8aMcRyMvPf_7ZlzXJy`BHB!|4+%o%H5bd zuq4Q6Cy6+BqRL%t7bs&Bfbmx*~%OLMpcevh~^2bJ4cj@XWk`%qB1RhnRHqXP;nx3JZ`QfaY3nxj0Z zoJ5Ayv;53$0(}bDBgl|l&zhkju7QUgm0p)rD5!)J6 zuG5;7UoJC~k7l_+1^kkc)J`7r8U(CZQc$^uQZ+ZHjn z=h9>W1qzcf5!fLTD<(DCSZ9w=G{15=%r5AOnoEBNl*^>Cp=2t>4xLP)oKF^sKe9)G zRmaeB0oUH;7%f4%N0*BQwj1h^hLuaCnIU=unu&waq#1PR5yq9H(xpS?Wr0u7C7S^S zwjUJhOp)>H^wfh2EI%lmm5))?fdSmqXlKv5m4i~K=j>UUB4^L;Q4UC#6N{=+0wn}pe3~fy z5TJ!i4F2V{L1n)*8RF07O?KnbfypMI4HgG_m3?3o@#lDDQxBX#;F-#1eyf#tud2)2AQl4PZ50((UWxC{hvgS zDFf0e9vy}`|8w?1g_s{&C1{G#BIZ>JDt$(%)gQe|FN7OK+`A}&7QaX7ks=Xe*nqMd zGe?Uc^M29$8t)_C>%IFtzx8~{ z^A=eAXFS(>F7gE3e{lcI{SWR>y5HsgGq>tqa$oN5bN$%$SFS&EopaskT5v_2|Ly#q z^OLalf4VaXTmOAdtK%DvcR2pokq3pp$KkU7#{M1qr|fUDzsUXw?EJ5@$Ls;S+4dbK z<9~@wwXNB1uua(pt^Z~Hvh_pOH(H-(eZ-oBo&Ry`q}6ZvjpbXGk6Yeud6DH|%YBxk z7N7KM*!q7=dYx30R;8PyS;+dG=AW9sVE!+DkkP*mCSmjfKkh==3|@5*xGbFv$Ru5>oP)y2CE?aLljK* z-(}F`7&D%*uj;}%m)j_VgPV;LYnif(RGm^Hw6&JOF<0WYJj@oIN=at>st%;#&%_ht zPlHuE?j##a8~Mrx<Hue5agSZvhoD^|3PIYP&`=UcU;GdI*9C4&Vx~4(WV8pcYU~{f#oypAV{e zs1D(tu){8eL)dS~odWAjW{l6SWq5Q82}2?_u?BFyu5y zD^^GcnvsLd3kT?HJ=}eOrXjnd z@qj+{R4X53&O?XQ+eoCAsjOjpge*{~H4p4nZ{-Cc0ya?|*r&qqUrR+5<)I<0A4 zf-JAc_>Kq${7j4m1XP&+YZ%yg8RqYSA%p5o;BE3$%Wz}C8cul(sy8+P#;u|r;Q%}V zXen^wFq%#)ror4u-9aS{~B zeNPjlESoQgIjlm6KEVoUMG_+fREW_haOma>*zrYVSiKZUHJ-Z8xfUZt)k~zw38wwf z4IWXCO0fxDnWI~bJ?h2Mj8+1XT%5Dt)`F0_D2+|vP|&t|u?8U(R3^j9Y(p_(3&6DM zW9=ES`4-kzUR0e!t9UweV0(v-sk2gIqM4b-TokwuNV7+sLA%=Hw3QQ4r=^JrIvGlE z*U(-3r1|ANewlL^rk9t4~_2B{1V*K{0pkwJZ1px!U1>wb~PJ$3W2V-~GEYqK$x(}N& zZY61yO2;tkVfNmmf`sJ|70kjy>R#wBqFZ8c)c~Fx0a){;?Y&mtj*33XJOIfRP{r0FY= zmM*hvFICPMv`2*ueiF=HoDa|=WbAd;2L8yeZHLrh>BJ-)4RP&|BDP245NZi|>@gK` z`AI`iM~;WpsB{BVVA-Y6FdGCewjqnXY6SY0-BK8$U8IJkt0o!m2-hU&?ZtEWugTM+ z4iH;5p@yV|NzmR|OpT|AcR&S^JlV82f66=)YCt+UxtcC;7S?&Hp?5ZK(TF-I9hx)> zRg5tXr~|0MN_slptq+WG$JBm|Kzk*ParUcy(xu36rfYtNPCBUeO2;S5P-lTtt}a7n zh`e9zLB5FmKSy0qcT4xRI(Ksxj(^2}%s=e=FW>ik@Ao~=x9YpZH{tVnf9w6O z_p{!=fd9W|dCx-rf5aR0?(#h8`Hbi7o)>y{JW0>>o+*#t{jcu7alg!c)_sk8$n|fo zzXc~?!*#uD#QAII-#TC6EIY4t4mp11_@v{{9j|aa?#MZAg|>gd{uBF0?QgO_$DX!d zZJ)F|Z9lbr!S*U!-Ilc7Xq&g~u{o{3u>Pa>!AGKXnwBwtocs!ym{DcG5yT+MbigN zFE`apdDAVXS<|q|-4y@tt~uc_D?JD0(d8W|3}K_|t3lpA1jQ$|pXs5YnjQNflUA^0 zNLzu9MQSz>dbwm48x%YPl4Myx`)gJZWXVlBrE%KoiTZ067EIcoLhNWwk`9BEg?cqR zi!|Y5E0vk0%5Zl=dT^j-0;#eR)`yd7o zIwDXd;=NpeG_<^(6_J7J4zbD^B4!t;Zc}T~CWtQ$y*FOnk`~67u(59x+e8RlmyX@{ z_Eq5k@X#_eZp*k~t_v~6~I<`VvJ5E^c+l+yQzG?-e1AnHP z@~5F{8N_gMd3gh_04r-;`XRjbR7*H-m!J?=Aoe?Z=&zmy8-zV-*E;sxQw3G8MMeHB zY=5;N%_MTkG6)k$0$NUw_!Dy$N$Lfl-Y2VhDZ!%>SBu|zkxysLy;TtSEap>23s$pW zPbT5FZ@UQPG&T|Nwv=2-_E*VcAc$i+icy9ZJXi&NPbqdbAk7kh{%QvC0ch=QX0yhF z>5>HER|_7fu7YCGUW8mi)fFi*02hGybqFDuWSteVvT-gwScSX40eT|!SWQMrul{NZ z{408*oapaRbs0m3TSj?J(+ve6y!Ka@Fg%;Eg3xc>?763!#PG03%85Nhst3a~&#ghv2Hb#bW<8xAu0Dv{qmHee%dKZOQ<*elm#_!} z)d!%jLXVWDm9W2hKWaze89421<~LZq4|F00YqAg2gyl0>y;lQTu6Y>HQ@sc6VUJX8 z_Rv>_HoO+b zlDX9qxqyToDvL)@ta`h2(^%`B&^X)|#o;#({IybwaR6F)pb9R)SgKquK#*a`DN@C$ zAm)S(qm?dFz14^s(nhPdke5hSs~A;__NG?iX!T?pY)Cy(y;-_csFSv9Xi5gHY(iBM zC>Mz%hJ{4ck2hZit2crV+|sq;pitR8_KQfsu%KUkC11w+j9kJV&#-VpQrLp52QGsHaqNKIB}4KdF@ zP?OaeL(KD!(`0qp5cB-QG+70AL+GXRkJ4ln%nc#t`3GsJdYG;u+zlPAl(xk&T#Z9l zm93NRt0z#6k?wJ(3^oNgYGmxEz4TYf20=$wSGA{s>LDD`dNAJ>DQ&QN5Vr;`oX&N= zp>hbm6h)|&DpcJMRc5;BCG$HZXJPf{kG<7NX`(NkJiEj;hB&+-C(jO5_en?lmT-t? zvP*Q62E%ccYbP)~RGq+f#l>^DbdXX#O5^XL>RtoJUAl5CTpb4|dNVPfi!-^Pc45&I z?m@!M#9|jLP#q(~mdtt#0zpHn-s&hA(UeV8PH3=9=@EH56 zLFtB8-!aA{^Lv`xIorHe@~9KlfOHiTtU{QIn?LiW$nVbDDX3>Th%8$ISTv+lAkU-j zs}A5o-imr&G3{WrpL91^0}cH(Qtgu#L&fO?JS)b^t6e0#Bh_At0eSHGVvJXNq~m(S zco|*t*<0N$onWyvk#P6o_E!CE(KeG^avQJuv@&^tXnEIIUSq7TEhPH?*`}#o{vY^1 z=6}8anf`+RF8?L|F~7(6E8jPK@A19VC;KwKTYWR|03g8*;N$QB@B;6n-Uqz%-rb&0 zcpmXgdUin%;0d?l&bse(U+JE5_q%@K`nK!Su6Mg$;d;b%#&s9;{`a|d!~6d~IseA_ zCg%&Bk2=?!r<_NeLr#<9r;aZ=KIC|l<5`Y%#|g)NhtK|N`(Wt#z29gM8iA{!qwJ9V#4P^^>Ni5#?c# zI*eGx*$ildNlzeD?`39>u=O_+5vw+7kTk0yX(7gKQct`uluD#J)7$! z>uMUYZm##&ea&E|!$SM*=DNS`mBzH#Jj7l1Kx=A~ZLFK?y>+)ViMJSOU*fu`C4zDT z1=4C_A-n5NX}pJuB?oQmtm-ZR%DJ+SlcS4}1NG(FO$2hbG4q;oW z8u%xaDwSs2sgP=@_9#wbA)qbkNbM1@?u>Xme@+O9)*gm4RUrWObi&(E?Od~f=4D&J z1GOC(VDo@@Zd*WtwQW{wYJ6L*hH6{Lba7^ZSQt>CV<)YUG*H`wplmbFweBEMAnj5% z4I{M;&{xEPY-xkE-hwqSP2jU+JIhJi6sF2f4hmU?e4tiFJySVtvI)rkS_wB!At0GT zjVh4;aMfc08LHva3Sv}hmw@-zic*Mh=;{c;ff{K_z{X%ppFaAtzm^BPU~?nI?hEwS zUxW97zFcyf6Sr$ih26ERG}ecQd|`{q!&6^v9fBD=Af9#>v504QM1*P)duth7W`M00 zF#VG-Ou%z*ZOssvNg=SWw#u{AV)BA~wH0ZIr^lI(X#QFn)ngfIMfB8CkR$0K@d}mT ztu4cgJ06<#U4lVbs`; zfDEFXweaEEgSc&0HshNx+%tNbu51#O9j!fpDUJwmRbX&=&EaqjJPv}pf&I1nq{#tj zwm>tGeV77Txp?WT-3vGF^rQ>g=s8e>S_2D(%VuT~MAan3SGyZRGkU^pm;UtE?$Yv& zvFjIhAs&3E9*o+sjevs3Yj?n=fn9SkH+SeWDa*u}Vm<_#FM-I-?#UXrgu#Y~9&~k9|&rf5C&$Rv5V9 z#i81b&~hpk=muWOoI8hxA`TZNE@7{U)S&e+)_OOhy|wGXTuQ8OZ{*`SDF3jhp4xTT z#(5y}Vh@A0Yr)|=1B(}oB$R{M7PX3xKJ?X~3_n0mjMIzw^c<>P4Q3%dK?J%2z6-W2 zDw#rpHTVq}fL_)rc)r>f1<=nNy0Qb(QuWqOKna>6F|&MF0pqc^c7+(2WSR8Uj-y7{ z2Urn$seQF$R8J~L+af4~Q0;Qm6US?;2tAct7VHqF@=92sb{U3^o^V)Ypewbi=QUV^ zdICe*I%A*)EB^r)c;s++X1M8Txt4}e?-j-F7)b|#5ig1?5(4{n#?NPIe~H6;%o}QWbI&E%(bQS#e}lEAx{IhRLFC0Z9g2n2mylHwh($- zZPFt5jc1CQ+0=4j1M)HWQHMfR1`kXbDF$w>=I|a4(pxVYyMcSX7c#x3woiI&9AkTC zYkuY2cCoNLdv3aXhWM+^z94fa#t&Ui7b|2jj)|{Xxd_p&sZFq)=FgrxJHMPvZY*zr zIZ*n)k<)l>FQi67)^Tt^x#hbMxVJWL>@^5dxNJle7cO!}{+9=dZ)8)-%X^GuVbzq;U%gF=-V0j4usaMdLCPq4Nd&{DEgN@BhlQVrDn)LLxUsRd&aACja%B4VfJ2aR4( zsOE)KnfXm=nrrG`=LXL~kIVf-_XpfBac_YOkZ?O)KXQE(^#8-I z`&^5z0q4)0pN7SM-MQ?XcX~kcf70Rz_ zCAGGEc4q}fwKSL_I@GX$kFcHJ-j1ze*>=Iqzb#&*{;*aBSl)Lud8B?0YLwU+NlUo|BCVsG z@%oN5*Nm|Y-Z1Wgon2esrmkPph=AGl+78!2|4u-6PA{r6!X_ft|_R zXq{vj;6S~Ic|lXIJ;$+n0ZU;uxkKXz73pphZoHmH-!cR7r-&7)=d=;jvk@CMR?ngw zEjjcEaK+*ux)J(rw7!m&tHpsgA`ma_)eYCrpaZlh?ci`7*7_6Nw;TN9bgrDy`Wgz* zB6MGTf%+=-6ys^Y8;wxAz4aBSOC(`UMpl4iQ_H4s`Lym_>NM^7>tpq_G?B<ID6_TX);mSEaSohv1j*;_ST`Fkl4tVHoz(&K}`2(WA!DJhfh60`-2I!DWR zd5wKEG^6iv?fo!PhkXOO6#6}If&o_>9X&Nx2MYi(U^a8!-W;jlhg>!{^4ixdJ98PY zL-`?rMOmugJBeHit25TY`aP&Rx+jNQFZ@cS3QPEeqc%(1tG>T}H#BlIRo|zMI$DPh z!Nht2<%5&owfjfwa3`2pr5gy>a_X$zNFDa|80YOIXI^&3*jvAyP0$n=5b!*CzG$O$ z_#H%-vS{6_v#)-ebT~mYaXPiMLwf((zR}(b!*v)}B%U$?oD^yix(@Jo{UnA4G%q<^ zA%YaXT05IIR=*k3K!}9{wX-fap(uQCY+Kv*+apZYZ-izPzJZ&;H9$AK?K&I>>o;H~ zu)Fp$EDNBl0saNFZ@NYvt;484fe$tp!20MOWuy*ui^K}(9`0|hv+^T#m~kYQOCX0B zZ?0R6Yg#e7cICc0zVevBwHYTQ-Diu~O`FJgyDZ{)xQDT?kNI-5UMKf?R58LczUP#ydkbP-M_ z99^CGa2@Uk66FjC*bH3Gbw(Jf&mjZ)3Nj{omkjpQXVG(flf~_;`+mNsK4XZ~wf6?< z)8HrPK+k}?N%?4xef0zwETtu#wO%UVYkk{&^(hKv&(zoaDO5j9x>odQ^*rns2xz_x z)Z?(q=da-UHpBbs#Ma5yuEg(+Z@Pw#tsw_kro! zdT&Q32weeP-6h*d9rhroH+2V7+`~w;a@toPhp$xqlaB^PS$1>7hwHEf!KX{0zDEij z;MUVdBvc>67^PuV$>|_S(V8!z`ltaz*-dO;eFR^WCZ%AQK0?uvyncwR#b(4{eHb>> zdPHh_6N=V{;N%9kE8L~wcbWMAA{?sYTa`l9L@ZE`NaG_Vh$e}&M8)WlwVv)h@5rQ>ssH^SrJ{f?_06AmjZ0X}Vi!u~va&VGx1%I>oL z*!Csc2W+plJxCY;&;$QZ_CTOPVsUs9SY;lyv0v%WeT_U6!*RPTl;ccqf<5*$$T2?; zMP&9c+{oh4B3~FF-JsE*+-4U|GGBsG7X1208gR-t)_SLHvGo>ikXJs)Lh+&Xa=F6T zJ^T%ad8m=WhT43kl+Bl512S|COEG)%CKPHwl0E{4@e29HWB0%2%RplVSB^a0`}p^K z^Uz^LQ3H*1Gn_e}*1|)L6e%hqQgRu>5^h=9OtVaBfI<99m1~ACY2g}6vKgM#!nKQv z7CzK?2m)2+SbD9%WC&zZ-FlBSPNN4~@2nrl4K<4$YCH&iqvb*h#+{noQ6Y7juJhS+ ze*<#&zD#L3j{k9hQA#`wHtv^VEEt|Ch~S2xs@&jSrO5nzEZ z27zV}b92DL??H1aYdBd!fFKj?vA=OQ`1P=1sT5Ms+SVTi8+Sp@y#(i<6qkf`OW6%* ze(nr3$i+SbU;>*-X0`C%#vRa3VBr`pEpVi9I~atF4hL~ZZpx`m;`?~x6ux;5OI6(C zz-fo8>y}SMm~p|~E6MYR8n=;12PQm)mGm~cin0-2!;M?Pe}e2I4Y>ees58B>rmAc}fE|)VKkS;t0=?bVgd09By0>Jq-hHtae`m^lL~<+JyEt;DC1qqJQ{ap!q`G zv6{@BK{t|xgYI2qPXluK8FFIzIYj^oognoo3%3xrw38361-*C-fn9E0UF$Mmqa2;`jrAJrkQW+o3?GgM4uJPtQ5 zYeneB9UpFxlL9S=Zp`sL4LHD?Ad_n?Qa4WUPy_D&^<2OZZm&kPaWPoa5IbmjfN~OR z8ETM=g7wP!8CdbQwIJAly1+zoMY}JH$wnFrShyg5$nWr(jXd85#2BFl`6&QPyr|Rm zEg?;)F$Zj?*iFb2YRm#Fu64tL4fy{DtGtVBXt*(r&ZMzOLCD-SLIM$VCUTbuk;W7l z;Y_~M6+H~}OuDq*Z74$xILd5<2#obmV;`{mMkTqvL91F!7j8_T_SBb&1am_nf&-1cQfQ*E9>=5< z!$%t9BrV$BMkj)LP2;lC*6v7S4-F9qXWG#~19JO`3NmO%!i`Z>2Mgc~6r9?@NMi(< zuAQa1qe}lSz#t^jQ{9_NMXU^@_!E#Uq-SQ^doR?0Bp;4D%H?E-h-s)1An6uVgrGVLSLW@* zwWl$Nxd4#{eNGLw0?@QnaH5}Q$NgFe>i=Q1fRqi(Y<+~`BEXc5}m9caL9 z-bAMB0QMkRehnuSltJ6djWl+*W(7MR#6Al*{79PaKDyBc1pgCInplM_nZ6Tc+`>m1 zUO|4@tv!K;2UXU$RPWypoybYT+{TR|7(yd|Oz zcKpBd|JwgA_!7W({onNega7aSpZ0&;{~`Z-{qOWY0o#CA`d{jQq5rx5$Nh@`5&x#Y z=s)96;cJ0+`)~8#=)c;3%zv?e)*tup_wT{?0|))P{Vu-+dIZ0PCBe^pKg9P0zwZ08 z?{mIS`9A9Vpzkky@9@3Z_gdd8d@uI>vG3Wwy6@?}bH0i%?_2XN`R@1K>AS^uz3)oj zW%%~swC^I{KHsP>?CbaWd=8)4`(NJQcz@yjXYcpD-}ZhDJ_V2Ab+goB^{tKFaXZ|L>`u9q+Vou?!e+SHN)6enMzdtv8ubUL1x7App&av^6z#eyGcM-yVsFw8fmof6YRo4gI3YBec>uiA|z z7E#{99Lh|@j~r=%(QPD696=v0Ovk6^X3-l$(kLYAM%2(55U01HVwE>Ubap^>t`)XZ8XMoO$bw1O9inW5=yp=OcE9Sh`jv8kBYCCGEGi2t*oDFq`vA%#}p&Su= z10;4EDvmy+<3@BrZ0}MBDz-P-jvB`Ip$=56)oBrhSNudmL?7%x#h!ei9W^Y$`#Vsv zy>RB&YACC#>JQ+fl>#-qns8#`n$+RBZ1Z0-9LF4q=#+5LY+r z%u%t__4*8NR`YiS-R%--ZeO5P@4jF@;-$P^mCH0FEW*7vpn@_`-rQVfd&K zn-=C$81%H5PCV!%i&Wrz0>d^RpU2ROCwTcqgF-9A^Q_2bwu?e_B6E~* z4jaofruC7~o`|9K6+8$Y=dzm*?fiQn>%;`lB7Fo@r?-+v6h#qZ_uTlj7TzxnU% z;5YXj{Orm;>BR5)KauzHGvDsVZ{}Nr_+9%Zm9qK`%3kNJ`e`gxMm;L#J_`UQU_u}`Gx8H-`qi?$%zZbvtBz_m4xE8-h-f|qj3vWJ# z-}yIPhTpk2UV`7*H!R|J=JnI~oqiqFKk?d&@H_RIS^OS;HN}j->J)xsugu{0qCcb2 zIrL{e_&xXvYWsozwSeFKFTWnYlP|j;zx!TF#P!5WCH(Gv3AJ(j#neB0{&XI{V}EiT zen($)6@Euvcoe_GFCd%qp+7!^-{>EW;5YL82!6xQqcIIVw-3L;=h*NYc-97f2cLNk zzXQ)S;kW-8^xOA1^;K_!`mLu<0{-1Knj!wG3%@>g(dA`n`;*=`d!OSidQZXnKjis?=ewRydfw`J z0ek?S_8j-@^SIr=aDUnTUiZu0vU|mS1M>y&Th}*TA9lUkRdubnu7wtW-}x)&SDf#4 zz8v2LNI9=@9&oxHKX-f{UIAa=*l^tCSad|}f3QDk|G52)_GjDk&;^*b_uGDB`5e^1Ac7%wDk$=bFD@A1e~=FT7GN!I;{R*VR^b`$#SJ-pT!~lv-DZ% zZPN4cEx_BQdFcZEAH6{T3slVo`d>KwqZjCZ;R+JHK>uH$|LKklLWj5#BIOXhK>srq z_yzi3pn@V7=>Ik<-9Rs0p#K^DtaA-6(EsVu|8MDkBXhvO%!&+(Ah;$X!!jKM+4|Z+aVv!x ze6zNc(om+S9TdxSiy-(-hLo;$P)z9*z?n9de#FrZicPV%gJQNe5d>3JT=)@dJ1BHQ z*aFU!&V8Dmg*c!^xP;-;%z%mM%tlNc={}P**~hrwvtX8jV>bowJw*RM!*qC;|2zJV z`d1|lYWOl{omue)Hep-e?I{A|0a9^AP4>bgtrg+|6ldI&+{_Rqm1^Cd4e8` z`{(YjxIgHAo%=cP0`P$Q3im;GkLx#}|3B_}i|dbE+pY&(S27O3zd66^`~bcQATtiY zL8sU8uZ}M`-sO0aW7~0`<5GMb(88<%-fn+^ebauQ{g{0(`!c}iZ0`XNK((#gZnIr% z8^f0YziNFay#GDTnu71Y!`6Pw?<`MRK4E#n^2e4f%l(!sEc-3=UBG{oJ|w*cUk1oa zr=%m&kYqOh$oyIJpW~~5JLU(>$ITP)74UO-{(FzJf$W^EimS3 z)-l|c+c9|5W95+sMSFR>ni$JdEKi2J0iJG}(ur*k%5XNoup{lsg7Tvp1b(@(CPDcT z9cpiQP<~j0=G)sHl+S4pge>hD?r0De6Ck1XK^b2XWHqE&Vi=r&yv2rlj!y((NP{xI zDTqX~Y-$-21?3G5qN&veRdfhh9-cnZ8nd8W)*;qUvn?nfmsl-kX+jz%K|rQY2~sUs zNrp5<4Pl*RKnfbtJ~e_ei~*1vUoM7%f^trSI@%PF;Wdw?YVX*9jIRkWgw;-%ya5>w z^ccdr!BD%5hOn_PAo!>NOT+3d>kVeAtCVK^bNMNHiVq81{giX8BF?UKJ)p zKu&20>pP*OfV`|B?R^)Jml%R@j8Q_^81~3XDRw9^k5h`oZHo&uhO*O}^Il z$S@5MBJsv|L^^GVG}A4oK^Yng15jg_o`HBx+lrV^Fc~%i1BnIP3Kkc6EsrptU^3Jc z2BxP_KVU4ubb=?qrw0aRA!R12nlC7x0J;eS)Szj|V&-{IZ~$rv1C;v_Tmz;>02&Dl zfRuKckHj>k2+L4L7+OS?u!pfD4$Fls-Irli5RvbM-y)LQK_JDdapdsyyp9ItJK!US z6qKO6#ENPr49T~{GY@t!hH$OblkJEOMP%3o3?Ur;Vfi{V zl9a(nSd4z4y`}|1_h5(wZ}5>q{R%LlgAp0u5a1wsA#sFH%ochzLs2Tyk!%!cr(5V% zgff9-g4GLXv*RN&-1bG-R3>!?nxsb#&rEC1#KZClDHeg09wkmglsG*-br?PzxO?%i ze1#EA%pabaYJ$g&;1uT8ViP>p2BJzW@Nxk}_s`CXWx^=ESs?v%G9x=97{mYgw2&{q+8I^UEGFILwLGD89E14-jO+y zMla5w<5;3W8Ttk~Fe?B-c>&*-Lki4tssv_9E3z$~?` zi44lKJPD=*G#(Z(HoW`+88+jT1T%tuF&kLD0x}c}0$5$sq}>PQ7a%hX3Camnj1ZbZ z5M0wD(_1-(QZOlLi$Y70W{#y9kfBb%fjKNoAuqVh4`3N2XzkO>&9_56bY9 zPr+>Pk5EgFX!$^MpcNnO;0gNWNuCeYhfWV3+#}-~_FA!e-o5e!+-{&z{I$Gk0j1T`oF%*rbtqxLy9h>FycJlckeDqInHqzyF? zSMqQ>YN*wah|023dCcOa>HReo;0|wNPGc@a4DEe8{ zii*g@I%uXPR3uVm;vI;nv0P#v7*L_ykPLTuO%&&jK#7KAa#^mY1ZGGFm*oN`j(b>! zg!BN@S4vQ6w%8m}$kh$FeV>=XQO;onE!^X_59k3yDiwKhzj97D`|7DYZm;d|z zPx;^Cf4+aif3N>?$p7uWpZY%UdzbG|eGmIi`%d^KeQxi+dcWlTOYh6Pk9n89S9=e5 zJ)VE{d=VZ1U+j6<^ML1a&zMJYf8YH{_nSfg7vTe74n6>W=lT|;|F3}$fQ;)#R~%mf z_@(p9&i6R~#JL480E^DBOpGOy=*I|Hk|V^E1q6%r}@XGJ8$`0^R?&o1SMXm`<7wqYLQY z5I&d~gI*QevFXnoJB``*Qi#YOQawhTUjhW&ZN&LKK)_*;A?81Yb3`Bmhg7El$A(Xr z3?aS4h|^&sFd?EUO{G@-+2yg7JgU-EYQZzpIQT`Frcw*0dx227s7h0*1ykDv?m|>0 zn+X9nc3o5@n+XA?`$Mbjh-$(v)Piv>6WSe7cNtJ*EuzX}2DB|_D9$|GZ(C`j3Yko3bp~}b$8KlM!HOzmGtq))*;TU%N0gmb-nbyQw`p5M z6UKQEQML>yyQemD4lA432(^OQ^;oEMSlMWS?c{P)VKx(d{$pcan8%GpY%o)rXu@=< z6eozntR|W;`ojn_vxz25{UMBERAF`#O&C*Kgd<9!)nvK~8HO>eWZ0O5t8mDD)AVP#DNiQGb! zL=r!&z!3pUiQ92I7*$rZSw)l;Czpj%qYAT`Kra%^ufqbzA*wK=2@S>t8zX2)&8#Lg zm{Ecv98s3E-azIZc}J9F3)QIdR$oPwhgv8n_=Ld^E2s4)V}PhX4D*UvO;D|HkM3ZH zMipi@p~0Li7TPqd+%FyGy@}LB7`AVk3NxMH>FJ7%J`t)GRhaFB26O6ISQBC89=+zM zH`QF&QNzmJ8aRb@NT9&U2`l)L0IS#()**qyP99e7)Ilv<0gNilZ~_+vuzz%dUF>Qw zEGT1w8S6pp&4_ZUh4O(AdMm7eYoVuQl@bObtlX-DSYuRU0gNc%Tkw=n#HC&|qVVIV zqa94YuyV7WF_saMiY(@^0@j6|lu8w+WLRNV6KE?qJFH4VKZO-$HbEd}I@L(%{-|<2 zUr31~puj*zA!A{mj4EJXuu>V!W`$uPG2;o!n&`LoI!6^|J)y(xwT>!GeL{mdlgu#X znEeEY`HU3%GO92G3JvZuBTs1kg{rYu3o|mRFarvtg((6lL>pTjQI2cF1XyFzi4*Hs z3+o|k+>7)&YeQ$4E?|Z5N@+7fSejwwpa#;=P*(^i zc33%}fg~Fv(9pxorULXaZSx%|nNbBmeYY^AWL6ab^)d|=n&4%^42NecfFXq$RzRwv z)kmmoNMV*0z)%^gjv?J1P|z4~Fu6OiF%9cHIYP>)hG}&X_Pme+7X&1~(CZ?!Fr>g4 z9$|U|4fP}g3t)Pm8Zff3K*x~$kJ=y%V@QGf0mAe}Z)jgw!?d;=>Js7@-B8-bFr)-I zrr(?lbqQ!#w>$?q)^&{Nvu>y-*!Z30^=p{6n+i)SsKCnr($TVM8@`~@%OHJ66E=aM z0w)7V)n#CV%5Dy6^$^A`tPo=asb~(;z9L>ULW+-75+F?_!x0%$ygJ534MIl~{r{*b zME?Ij4jcc+VbgyjZ1{J>X8+5u(SI>)^6!TY{wQqjzYiPxH!}Z!H+tjv_TMi-`@hTc zLeGZhPS1iT=>AXl*Wv&Fx1|qDua>IPigc}X z5a0RxnfddO^S=OJ`Mb-!XpWfvV0zN@G1D7N&jQ_l3O4^_jneI3xay)M4K@+@u&hUg zUJF;9O_1;Z;vB4!{5OetwJ&LcXWGanRj0@~+D4J9 zIz`SI6B^j-xK3ZfYG36#pS-q0$i*p9EmTKqwntVLC=GVjT-+s z2U|t#Oonw6RhNXi0XOnbqAD|L(E5c>6@hw-s?4i_2GcQb*tnu9b8Dc(Y@!)@Rj1IY z>O{^O)=pH_DRc(2rDd3G%(H=>c{}?is_OJPOHG|FuKB2{)8`Cs-yWkXb8f&hXQ~QD zmX^xA8|W}=w_!w?djlQrY&Y|7pu=oF2um!gYIHgixGi>0Rp#M9OHK4^+d4Sa8cdhJczK2aXKoI(I?&;Tjtzi$ zI%vV|Lw2LkGA_Y4bUOSIvJDX=slvq>Y|S+7FLq#f1>cMf;X2aRxNFs$;C+R!Z; z;m+aCc58$?hgs&r*%eha!kxjKLuP-^(w(ISj7`^&Idgu{ zO5NV)%=>{3cQ%Z(qH8+&){NtpY5Y(_}U z&jZ6U;EoZr)HEc<)Z8q@EHp@9ee10?hY&!{!nfVc5a9l?}~?X1n291XVMn zzDR^St9D3)J15gY5oR?v%(Vj|%&rH9cJCKq97k514PK~JK51+2Y*m^qoUn=>- z*U*kT;E=kvwd2x;+s0>(sH7^PrRE#1a0o_JQkBrr_9YTg#{{%}g+$a*0c{`Zh)Svw zTFzbWrlcyNqfk;d9Ig?SR3%!dQREjZNKG2 zR5G;C(asi;rGM_n+7o0G`3V05FX&0RGnV zP0wF@UhS!RRy@~wF7oVl|JwaE_xs(ia6jFha$oB{H3oEFI_KjJ?eVMb;7j| zT!5cBKks~}^F_{W=Y7u0oMTRl<42B9JKpMezN7586W0Gx`+wWNYyTT&{a>)(ZeOs6 zZGW&mY5OQR0d;5q+-#e+4Oo9`{f70gtgp1H))nhD)_qo|R#8^T-<;S-G-*0F0uYGj$hiCJyW z5UydNnp027k1hj7j0T>veZL6Rh|$0?w!aFqI8-A>18)YK55hbQ)~w(^F^nw@p%LL4 z@fn!A6to?!7x@gK8kqEc_(2nyhQY9t>M>|D+kt#76G_*s$60MThpIHB3&T6wn=-zPk z9JPo<)LK6YofxeWlVKK|RO%}(YZT75NR^lj1k?4dec-~?Ey@`vt@5@J2vSm zgu^9VC80loB=Mn?LZRU*J~>Dr=@m23kg}|UTDAfMDO@G~0!xXyQnrSa#9v^b#(EOw zZn#?1!OqDPt`-Q?I;ed%RY}rMAT6biGD*@;AQ2TEDYH7Ll_}1{>beH%3|j#luAY$& zkKs5-Kp&aujJ6%^(JFBjgb3Ih3|&Fee)5~BSIf}-B<&|qmv0#+(~1V_QYs;3q?*QT zK}u{md>)FDn{X8$5!6t2>Whr|aCNx}cF1bO)ukrL*Of4XL)9c!Ixm!Z*kD9deTZZF z&0(2HSc-xWc0|MG!W~6$53+>pI!`1tEQ;>7Vwj8eB+XSgr z26k+?N^*U)6Dd0`P2noZ^}$W=w#I{1e9vzTT85}NQhiOt zdv~)XjTS-@l8~N|kh0lq8p&?5+4K+)cV_O)++G$H1q*^w1QC%UMWriXMLIk{%*cO;KSG0XOP|OLT2Fc!-J*Uu>Z6 zcri8O!!Oa$ydir{!B+{Wsg`Z|A&F!woy0AMlYaNz&9#ugn+flq5$J z^vZmJfg24rzLdwcr4^sbmLKm?CIlabUTyjD9&n@M{V+e?1Hzpmosu8#3F>S`ZKK2I zV#1^QHaK^Z!{=aG6WhqbB|5xYr_`4QakM0d`R$(HveTPMe0Zno1ndSI?27z!&q+7f z75V92<%{0+bokNX?YcrRf+r?MEIPc+GU^|>VOQjoMat;#nTnaUAVxYme1>LvZF=qC;D>nMNDpOl_%ziHa;i{z zFR}M0hfj4hb*)Jb!;gXLsvR=WL*8D(PxegJChb9fvS+9yJ@2GCNwtMuJ!!fNHD7#~ zU+i&inoUSFG(LO+%@Kkd&FJT7XwGskxwEJv^ROkw}J9iM~y!vpRI?3U3L7`9v>#>21;n${=`Cv57QgI zf~ol$A12vTLyWVxiNuFV_SBFX>e&Vzu3MOTB8(5$EKKPgNdA9yW=h%rza94fhY-*I zyoqBca){Xf>E_#;%ZUH?|BC?d!TKBPKV84O{?hsx^@-ZQ*Z!>b+qKu#o~YeiJHNK2 zmaBfV`iIqbR#&T!Rd1@EUp=;(!#4mwS$S(<1@PYT&z7Gq-&TGhz5`e+eY5nb(yt@- z-+|KArR}B7#UB>Ggzo^pq4-n9y~P(7Pl6r5w+o*uysNN+Zvb9j*n!x8KgfR}|K9wO z{G+e~*pZ*i{UG;+-1}ht|77l_+&Q@<`(s4@|K02_WS`02n!O-9mHA2LtCl+IxOo$YH2yM1y85L`L$S^MB_pWFcir)P4peRccf4j_17 z=H2a+JAmL@kzP#FZlBx%9ESiGHZ?e<0T283 z!GL3Az5EaOe3#$3-QNCy`^GKZ-UEWOHo>3wz55*}58Gf}B|Y*Q(4&Jr+uzEQ9==^@ zX-bRSyH`*gl>U9OcaNYcO>pmSN0n`_I4a{F=@L|}lq@W|Ebi@dkV_S?(<93Sof5+t zY*R^ZuPqjCzF0@{B{}Jl(|}40M}DHh9y#vqvE?e=s3oi&^bp9v;h^BSM@j{im@a|d@Wnk+ zDrm?@yw_S%Dkw;|C+`~E>5(CVhO8^{n%n7-A%er9>rIag5gaB{FR_<(dSr+ouz$?N zJ<=~ItZpq{tx3P2A#RKQt))l$1r52q-h3qef`+LpO^@^o3Z~v+;vVT2Gz_!t^vL!= zL+s1&V)NTdwg(!M|39#3PNzq<2Lk)1Yn>k19tiAjJe?ld9yq+y_fqQg$o4>Bf7_0G zq-#((byJIbq-)SHw0TH+FSb*X!%cXTBk5fzDF$Dz&$vh02AwevgEvN`ZBS5cWTLO) z9%&miOkG%eq;1fUHxzl>?>!H_3mOht(%a^!vTqUlZPFu!gRYg@pF}?;y=g(i-cNd@a?oj&%0cY7QIAv( zic(6?Jh?|I2Vx+^#C96>NaX-#WK?f1kjep!wjE06G5X*FF)gEtxsdco;XsTo?cs5j z^hn`gDCO&^WO~nal-w!29WCjdEGVZHbxL||}OITc&lOCB5D5__Z=)a_Qf}=D~ zJrOVIk@0{|yTObg;{i?8sCx5-j0X%&=S;=}nr<+vVAjyI~L zc_0QtOw6*VN16vPqlXk5PP>=T10*kRN+y~S_hQ;n^iyDvXWWYvoQ5JPtW4Z%8<^fV z;$BO`jZ~C9Qazwdx-e0ZVv))tL=GrwQs`j|1Gsa?e5x3YA4r9ko!N4n1AEy z1J##R&#FGV@*nW}e@|tta;S2BWk+SQ{Dblr%I__|uKXBB{EtgNDt)E&q0$>luZGY6 z3*hr#DE>q7lf_>zj*ABn>+kGhyYQpJR|~&acvE3exUX<|VQb--{P**JnSX!&_4!xj zZ_7U)FaFuw-{(G-`_)`8w=egS+$pgB|Cj7%v+v9>5vU&y=) za{u!(ThQ=iP*Jm=11C}UNPqh7zzEn7FR>SdSHaGpqz`n(Lx1~0(ZhkieRp8QYf4S= zhA0e;5FrOfyjC20hIe=F4vcuMdGIQk49LD8Yl+&XE^cDzlL6WH8_F#gi!B+@)4QhW zovcq!@0zN|b-B;=>FM3j)PB>ar*}hHgpsxC)6=`5Tr06WlKxYcYFl1GyZtA%SVj+X zcypls5c^fqCy#rTH@|iJ*ZRH@sVOzzzs0_k^vS^Aq)nYDeKPRZl+@#%vbo!T#MKKw zqH*-qD2IF=y50B5?Ox}O|Jf1T-uvWsFR*`m@AS#-USM2V#b9;%Wa;lPiL&BE>-5Re z-(eE{JWQ7U0{e=9r2l~H7y6Z#IO&t?y-Vz0wUfRPqA?yRu_NglA(|+UmY4}i-w4q} zc?No8X@qD{KJlbGM%<_OcvUN&2Hv|t-^kF2gT=E`bY{>S1|o5)i?4pLPv(nCGH#f85;oKPem`peR8>1*{TID#x?HW>L548 zOL>cf=`vqoVM=0%`Zv>2#5+>hdrAK$JsU`wmL9X0JG#MaxKU8PYl}Ul+rPo8Yv>gm z&J(_T)W2S&PM3V0pj>OwQAz(=M^l1ow||W*nS$$uf_I;6_^ChW)jy>=>GZGi@GhKA z;(X}z$%J2}rrj`5ymb0x!tXGYU{XWU>5~b+!*n=#nL9C>G7o~mB>l^5yVHAVxBpVx z?rCnDzv*=Qh#Y9kCd;EBR7l^+(G>rW&Q-CIcl#H+la`o1CBCilE< zA0Y%K4;t6)BZ#2jse`wFq0fWzlm3fb=O|T$y1YxO!@V|B7e*pxn(E)3q<93K8v-T^v`!RCH-{!=eeS>3d4?1`sa$&yyJ*< znDpsQUsp`+*`nlbf49h+4S|C5SxejW7(-HpFPHVTv`ut_b-2UjO{P}61BG(`Y{79V z?DEgCZhyPrC?UnS`8-hkbo(;__ce~){&c{@`fc@jsL=196>$G7?e-C*(DXbx5N`|l z837O5f4a|S{FA)fKP}*4`%V=c63n#EJN;AKl*K-o8lLC6w9_6O+yVYJR2pk>)Qq zd(C^Amo`stHXGk*{AuGojU$c68#gu1YfLqc!q@*kR)15y2kZZr)Sp|g)V@{w!`j;s z`)_~kWwo9|pdL?uK6P16he6I42%0lG;{Qu9aOq9QanE&r8FP8V0 zuPC2UZj`=V`fTa#rE%&0(&eQyOU>fH6hB*hdvU&aKcfDfR;=UI{}1uSzxl%bg_jmi zE7bDe%6}S>{ulEH^Vj8f<>TCsH}L-dZ1y*@i`fUWS7m3in=}8J`75^f|LM$KnM*RK z>8OA1^*@>=KYQ|LPOD0i**u+IxJkpdV@D`)#IrfN_JSfhE?=01I13HxA<%`!}a$}~n;szBDUS%LEOHe42 z;=$7fZd58+zf-n&_)Oo^I|Kc!%~%)>&bx#}u$Md%D36F4PZ zbOw(Koc3WJJmRqGFDdtR1{C{FH%y6zp1II~Jnc13$%V<_pra|lFd01LsFDmtpCp3^ z9Zi`UCj*Lmr^`(}3nqj8j;h`kdqXnN;y3p;3pS#&lYth$nbIVXR*T6%i{C_3T^$c7 z@|~^~Cl$rU1B!gdQ0rp7$wjvC4AW~Y9%$Ly2AUD09}l$b&0|M%R&?UjU>{8Mku8b) zGjzovkwTO^HMleQ0bSbVAv7TWdXWPO9Ui|!ag%&Gyp#c8qgV#pS{hWZtwD-nHtc?_|UVn&MkPYte@=~;K<{h&LzPF6t2 z&fjCNVN-)^Wd@idK?S;lYh(sW?({}Li|brLdT8*!$6Dc1|zkYUsHpZ ziQ19F9&UmD03gD@9Uo=W=;hEEXpvnNK>g>Zzf7jr{U@5&9cZatrB5|~YH+E{Kq)fi z8tV=&5&g#okiiVNSY`k@Al1Z|_&?w|=5^9V!4HBV>BRyhfAz8(2~1K&I>?{&(z=oS-cjJ z#SglJ^F{wdpA-~7HNa;9T=Ckp#mnGanE^h>5iVhTAHZZlTA^?SO$~O-AF%Ddw??K0 zyW|gWl?rx|&VU^9br(TSr!^*O*cp&RzQuf|iObZ~;B1+FdWm-i$zJ z$+tMX$aM!Zu74mz;|0@GOmzm+Iyou(ls;CRV4cBMgN^1{UdlQH^2w*d`D(?5izBWx zAfJ4Ll@8R)oP6>v=BX`C`_6!T@(oVC=yV3;lW%b9NvAU)pL~n?_Uo0c<#(=mI{wRm zeDZZ_3^)1!6^Ri|2Krf@X*ge! zfqqtJ$`upMN(TB_ooHI=JkZbTOvC<82Krf@D88M8CX0ER49F)RO=ilI+@n*1hMQC} z=sKEG>n8*9$=5lj^!mwweDXC--RhD7nf7a%x<4la^2t|J52CpAC4;u3sWFTP{K(Gj zO}pI;Ce@V?ouPVJQyRf|aI}M=%0C{Efxl{LY7xf+ zGVs@(#N#Tqr+7dH{u=WAKn!aZl>si-M*|Ks&vtB>mU)i0}`3Ge^!!utO`we{Me+I6)Zi2eVA z>R(ph2jBlEt2bBAt9C0tsr*glqm^H(ytcBpa$)7fN)ev_pDO=)c~riyd};aAa<%lW z(q~F!6;+>dLr`hC>lzF8%Qy;uQm`XJ4`vtVmVUMoFph`$SjNHfV6^A zki~L>m^>*+k?*KN6{A&2Os=k3az-c3#Dv)!&(HY|IMrDfC)tTjoa4HkxmD(!AD(TGfL%6}=3hT^1L`%V7 zUMZqMo!JK^4sENuvusnYQ)BFQLwFPGw>!%=<$?z)_F1+m7uCUoEx#PP675nTf z>FOc4Z#>$ay)WRw6TvW8St?G zSUh*_=MO;bvBF(9UjV*( zclAFz?7y3X^kM(q6!5VBSUMN^hx6}7KmGQw|859)*nigtJnX;g0v`6?wE++Nk7aXL zf70Q5^Y3au{kE|Gt_pbAe^&-P?7x=%fL&0Zexu>UR#c-Vg|oV)guFO}DR zeo_}a>_3*x9S?neX8BEB@UZ{*Or#~V!6xQ@4C(`i{%EVu2{1a8_#5}F63fhIfi#ZCH@j$)Q& zaf7*Zafj^8vMg>e_nf%qB(rSZt}q2&@QvSR*}Pp-o~t73WR}g_6-~cX%(5J=XiARj z&hi_&rcgZvZ@kGYOX7;FmkiNo@hmyk>k;E?p->9Ov&R{z@2TR>7|$MSpuYTyfsAL# zv7WOzQaE~o zK90#_AbKL1Whq?I^h?t$OW}$tHvzE~C9@P6kD5zPLOk{!rO0@OhWk`9OOf#m<&8%4 zRcCgSYZ5-i5$MH|S@N~liRnuno~cKm)Ct?sK{Ts^hg#JB&xQ29XR^_6ETw^g2BIku81f4%(i@|(-E z;Ro>5((jetR2o1Ba7Ag_djJ1I@zupW#TOM%ES3uY1UrCt6c!5)6|O0q zU5N7klmA-&s!rq?)C zbUfUTS~JzP7W(UW_<(}&j!qd&M8o^hQAi2M%@t)v!&hpiw1LyaWEyB$?Wm*~S}c$cH8PbkDgvX56er_Qx_NcQmxs{Ru# zO@@1QzVfJt$&FjfNDi4vYfzQV)6k zN5196C~zA0kUYMJO@M06s}Iwl&p{p$+cY5)MY;zl7+mY>FanhBnx>>Q}Jw) z;f;dwQWsl6GQ7dj^u=IE_VGGrwJ<~vCquH2*K~t*LH6-PVK#}Q4Wr|gdySx6D{+!0 z!>b+LV1v0zP#y)ZR#!T@!6>}UQhh)3=F=5=?Dd)xEFNA?(-eD}iIe6{n#(Am`aTFv z8nGY7LkeDpX+NzZ1A1#N9#Zf+*3R<9z>6&w4=H$^f~o$EhZMX{!PHGM9+E@3hTKD< zcjF;Blq;yFni!aP_+ke`sWKW~NX?{8hyG8n-d7JK4)wfq(~hPFF;#3Ah%Y>i`}j>Bg^lP^ z=Tvui9?n3E>BENJ)wMGu@mz59hF3EZ&katy{S4_FbQ*J)cr_#89FY#E@sOVuBBJ3= zbTse=8&rF^104;f_B^?}$3u!@hj!wM$;(2@AB*c7`V^JdK$A+W10LEg8~VI5Jl_Fz!f(B!OERif}`E z3%4|Ip^Aqjf?FD{f@58+Xr=jvb)DfB57RfZMWs8#DIX(qG4ndZuEf|rgVZF7>x%K~ zSb#|s*BJXt;CUGh=^J%ew`P%vdL=^=#KB+-%#Uu~rrjB~DPwGC5H4vJVUmbi$3uD# zCv1Xdik#yiy@&6>?7`N+)63hL={+29qn)rl+=PYCFkFP~A$_V2NK35ZKGPo3r|N)^ zhUzIw>kOYw%^(qIqnlSUB(INW#zT_Ak-6zB>z8g)c+hc@wXEno%qFx*G$|#@q9%8JF5A&u>OBT^Huoz-?`1W@n4NE zHhu@T|Bp1TZER~yBJ%&2>%UunL;achZS@Q4Q?;MezFPZTeEaVy#Qob{i>p7X{#Eq@ z)t{?AUcJ7$y?S)zJC#31%>R|j!OGQ@8F>HySNX5XA1c4G{8Qz<l5 zzpF~ygw+2`@wVax#ctupg}*L*xbVipYYKY`FDx8i$mIVn{|EUu<$L+N@-NPxlrQD} zG52Zl_Fv6@EBl%3uVwq$yRsK%kIx>3@BV!>^F|%agl*`NEdUVJ9^CHd|49HVQTcKD1f4kk_tf-Fg1E4`~hBF z#1FcoL$U;Qa}p(VM-NL*`-!(qwu}zurfm~x`k*U3EytG8L#bc*y|88UVE7B#!o_aa z9nssl=}7IoC)VSZ(SDf&y%#{&B6HX>dLaBosBIb1`?)P6^^u|Oh~Cc~=bjMP;qHju z&mHGWugB^A+;P^*dp%9>=awt;Y>(6Xx#P48Md4BP$nUJaeeHJZjqRGdQp03MA6zz>Xew+8Qm;#IP6m+vTC=f zwRNGlhUwj0{D5vvUhQs_`Sbgo*kC&&vT3);c~*Iqr?_nvhm)c+qPT4a^L=t5oNoHnqUmH$jw_$sT&6}>1wX)1=vkDHt_**G?a7;VFB3JGPPhIFiFstj zv`a>p<91vX(S`^KsS_oPR!_J^irba3}UqVVpNjRrA*1|K7C>)qf3}V4pOJM zH`|lZ#g0$K|r=*=&fm3sc5td_d|mEBIfM}J83_F z_J?kk>Aviac1X@Qe|hWej?NZ5ElGDr+a*s)fXRsDa8o|jT#DM=(F~=g>kM|nw1Bu} zG)?Cy$t2ikXXqm~WPdOAvn`{o;V*&<@Rre8-Y+1hlF;Slai;eR7FE4V^p?>X<`>x2 zW@u^!rF2K9b4yTD{R@;K#$jr78tpx32}vgO01`M7bVuZKu7AK+3g2wJGa@-%bAD;{ z+Rz!1oNn?b9YN55lc@oukD@OdZ4`uJL}u&q7hwZVqz2HELd*j7nFFtd-4VT*iyx$_ z@EooJ^&PYgWoNspN4voKG~tpX0a`GN91?T7(#SfN=`;(%g!7-BF}Ykb|xdTWoL@{ zlcw~F&eVugVoOU#B)pRv#L9=F+VP0u#St}UhbVSx)S^b4XF>ElIWdV1Z)!B@{~&bN zpBilreh|dno*Hcme}I!&bllYFnD7T-9gYru5V(y`jh-F;AUyn^75pIZET0-pgg@|Q zlc`ZN_`z1+XlrWJ2!9afP!E3)Rz7}@&D5D z|3{l|Y(9h6|8tv3<427zH{J*N|4`%V#&&%9?+5k2tiP}Rv-KzIH`mXrcWeJ!`}^9* zMf|^7^Vws*p#j)b`JRsd_h{wD$~l#!{NwUpmp=>*z-!8T5cU5#<$UQI zrB5R2zw-V+z0@dvr}!tucNf=+j})&h?kvWI|0(=!;SUPGQaD`LSGcI~Tzv8GTlqiC zzb!w9SN|*WXXc-s`yQhHzc=@~+~c_$bGveFeDCjz+4p6C25V&^v`_5mU_C*_>jhQf}|gX$7GOBsR=9R3o$yKF}*k&Oq-PV zR?->Mi}MWJ3`y0bWOK2|J7aorCKHqC>8m+`o9+=(Vjq()t66tU(zN9%sjNFDY1(nVfr*~$ zj!BxfJSF*b$0SW#uG%Np?UHo-luGbV|eIH^W)@?vI)>UGAqGlua5ZfU8jZFfwz=*s_+p3J!SMeCC> zJx~+J>7@Ez^ldz*@NE>d3qRnbqU3l?;oHdXa#}rp%4&7TH*>kTaMAaQloCQD?u>6j zwW+tJ@!=SyWe|sMXZ&)3QX#R}-ZEBq(x@$LeEiXfqH& zA&kajdatI7t+_sV+0uJ8LoGgwo}L6HbUtou5O>dFP`a(?Z&X~WzPMEKw)GDvDE~JWMuQdU7MUy*Y{{A{a%wQFN zz-t$Ie{)*G7?1F_J7zK3q^BPB)G=cgqcu(`_>%GSXo@ME((ff>mZBA94Vv6;I%9gp z<~#OAtxm=)M(?C5r_EV9V|v4$-YGX5(d^Ec-mnc;lUq!p&X`QhEe^F7oiV*)TO6*d z&X`Qh4aT|-yNpcCE#@Be2AfRGHP%rGy_#>An3tv4PWF}JC?YF@+0#GFjmFc@?K z`x{0wrcmh`D?4gYbTZy5Xi5zW(Q`8@<-hM`B4f_B*9JreJN% zA-1ON^15S|oGCrTy7cML9iL{>)7=8^`F_i~V-}ouU?x#8J+XH4(gDm7UVQ`N+kC>fK9xxrktcWGgPnTocT9{Dn# zjOl@!QrB5?GyjVuf_ZlL9N_RWI|+5~t_M zCW%v_R>sHp*cUuI^<+ zjGL)n_)^=JaYO!sv~;IDY)L)g)VLV@fZWr?ik=!5f*+6$Occ=_vwSRyKn7w8 zcgHLrTOOW2-7(9@hHoH8unoB7;Th5$vkkcA;qliUu?@K4>4iUH8*t0RL#R7q8*s~M zam$ZYbVqChZn!!?#VYHLp5l!~z1*cQmn8o$XU-t`|Kk&HpIDuEa$?WK#S>>uY;OK{ z^J~pdHQ(7h0xN*M%}bhRH8(f@yYaQgryB1>6o4lhw>DnXIJNO?*aG|wz6J31`fB|N zSOZ)LPk?6a`?ass{-E|&_yRm$yRCLn?Tp$n@CNvs>c{a-fMt9O@RsU}s;3|#;P)$E zu6(5Orphd00$yJ^zj8vQR{n1JOXZK2-%?&EKT>{0`9gQn&*lCp_xap=@O8jva(m$&a8~Y^?0;pyn*D?9Te9Qq{_NGz6-;IG znQvu2oB6HG&%k0}FJc9rfsTsi5zarErk66h{qbDby666T@7Qz4p4L2!H<-EWvLfwy z#0><2s7Q`zYIin?V7I{tJFrLE^9bD!qAr?@w%d{rmw*xOb6%o&9+MFSCm1esR%q2_ z%^@fOL);-b*)Ege93m1Z64atKhj0YR^j6$|?Ac**Lo5PC>}jb;H1`yB5-j^?kWL*M zGrFXB?n$a37zK6ak0#S>HVL2531PfH4V?zhbi*FkjFkQAa%?hf&%x0EnQ}BK)v~j7 zmhCx&j9Ndf^ZqrWaFb&)U;-;xrdPoR|L`wczxfRI|zaU zo^OhBklS+z{zrt~2-GfXn%tgy&>^+=n3CFa(C(O2N>(satv!dBe+DUW(WGk4!IeNG zzn5Bb_giAb2i3QebMPY2X@YriAClm8gVjH>Nv$~q_)`QM77^F2i0-Ed{w_&0cQ?9~ zawBIF$k`ZPQ|)N(F2T%&(+oZA9&9>wvoie`&B5rwF)9xNmrB>3gUf(nMw~L}4uSNM zV9*|ij8e^@+Xdo{-j#(<(V4O^%wp!Y=b(zQh-+vTa(fPr0tP8%iRqB`+$$V{nBZjy z7Xgz>g&{TF(Vl~UfJOQ!GL?sOfI;f2W-8yB!)NCdN-gpm4AFyWs@|HrUK5(os2*$v zRY9$}>kQE=WVa>wgguorZQ_x-6$d*7MQC+X|3SD_`9*V3tytzyjn*8#E@v3mVy7(& zpO#ZZ*W67|d{>SMEh;L>^xotgtp176WFcTWXmajy4Ri|A*2y`T`*Vt*koFvm4+yxg zdYhWH=U{nY5s#6nKzj~m2Nrp=s5J*Ge~tXP+?s=lzb0zFnmN>(gMGgtUO}xn821}O zO|^@rH3#*GCjN|U&ArGGEitMQnw)!~>IEb2nR8`w?gbiXVats7WtYBZTTq`e4=g_8dOsoWqbtGud z$(E?&)%DIvj(BM%=T4;2Q~f4~VRG&S3$&za=IwJV@Rs1@9Fz?@E3d|rbH`~A+^Z(% zj#YsA7=_y-cXAG2Xrrv?SSMh*a&iuzXCpxSJpnhN@ohE&bcH2gx;UDHv3vqik)m2@ z#gADxt+|A{1z*$vJ$0jezMJ z*PHnI8iQc5x96Y^U|{duW(RD~O*ll?Zc=8MMcs5ry(^mGY0otrQYW4{4JYRi2Tqs8 z)piZ7X^?6tOx-y}(9rf=MU{f*$JD5m(b07I-ECcC%zA=xyC&*g$+V|62g`OtsA~3d z*P0{ANabdf3}$uYRoy7iDh+~bW=?}()=bW28Q7?6W;#vIWi-(3cf*DN>L`7hzGXsX zm=x_XK4Hdy^pLcx;+;UZa!djdr7BC&!4% zMunKwX=^-2KsE-!h)s?Wjg5fQ;p@3HCJ6{qDFi2FL}R!5?)Xv2|NOj7FF7g2B+38t zndcuh@r{YkOuTDi9rFL}6BkZAccR(+Uh~V%kK!AEbIpgEH#E<09^WiAzTNnf#(NvD zZ@i|luW@nX^v1L5->ZMI{-OFW*ZYV9ctw4CJ%%m7*K41y{YGsSvi~i$7vgJx_3C%3 ze_s6^_yfGEdVBRE8wucpl{Z#?x^j2rrIoWP$CQ5vpMZ~)f2G_n-&?+{d{+5rNc~?d zeGuOSd~Io8>9W$!(w0)G_^-u3D}JE(E5$k31>9PENpWj2DrO7+T=?_ChYD{-On}D< zw-sJoIHRx`Q33uT|JnR|@O{A7=I?=p!1jEcKPvZ)+#ltBGj}BSRBjKx5qL&!6J-Ct z%6>TeOWDKOyR(;O&&WP2^Bq(_g}IAMdKEFm&1pz^`qmqJMKSl z;DI~#9lSePfS%D(wE;{E3N@ppYH7H%@dCCLLzO+ZObX8$1xXg=on^bo7>+ee>HbNv zBygFqG+w~=q9|@hxTO2AE}%M@L`p=OG%3~cm)TYw)DnhBiOt5O!~<(kX4ye)H!o6_ z1mvd72v~Gb>((qx77El0SQb#bkae6_XnO&B&lbE-;sO*jb8;bsFdEKOWC}SK^ zGe~vA{9}?}D>f}^%|A+np4M?n;_6|^2ALiqOp?j@LjrJ}w{aKf2E7&VV9Dyr4e*_ zEZp0BP&|JvC1hPHRhVXwfY)fqHpWVAVs4)C{M8crch7kKDhbupH@DAt{z?z(;Z!$` zcpkPWTp{6!Z|*?xJR%?}NOomPb84w%RIcp|2?eN>M3|lAfAo|ufkB|wL>6Ky7^9Ay>HSzrOxT_(@ z(Okqj5Lrg^h-8?MAqAO)t9fc>R5TA0lY|aGdRtdl4%39z{CT)AlQ|I0LYk!JmL1QZ zi{f}8qPJ$C5)sA4^XGVwyV~R#&+qo2Uae*x?((45#AqHiB`6cY8feZ00|$GEdi ziS7Bb(Q7)LnrCMG+ViA>G03Y*d!AG<8U-5Tc~Zd`#ATUP)}Dv;h(Z3`Y|n3X$Q(;% zTwyn2QkhRs8FZ#VUQf2?&u~cH%#765o<|e}lcCz84QkDkBF0pnhRxKyHBX8dO@iqP zmx_d}zDN`?2cfE9G!K6Y%Zv}9VF-F)8Cf{cL1`L>n1f&>^keqO$<>~RHAq5-E<3Ww zRMGqilp~|9`VwcxIhuctVL0(9Q&(Cvf4pQo(xxWS{BefSHvqZihQ;$R0D*1-hYmf2 z2MWA-1p8MoCA!T|F~WXH7eK#tu=zl$4IZ1?^Dy{GCBEM?^t`%qgyhrZtZs1_p6=xXHt+8XSe82DCkoFoFpg9ohPsK5We+ zm_H+zO)@YS_7k8pv=4PA~E zB-2Fm5UKD+y8BGrt%HL&nn$1lW^g*z4~DKI>XakW8P$|&Q+po56bLrc-MUc@L6lO+ zTx|?$%_Br0Ba))1hK5A*Wv&Gl17r~O#Ao*I);y_g$PdVc08m3n^8aCq|MzzjADejd z#O%a<6PHb#Iq|IKcbk9Sd~fq-nolAEzy*l^mu-B#@rlN-HAanBHZE(N3CaJv^*^h> zr@mf)tbSAddG(X(RmA`Mv)cP=zfgN^?e5xTwdvX<;sE?D-u!>PI*)GvURT{+?Nt7^ z@^_VwSAM-RhZp~ADmyE2`6uPSD}S>5Hhc&0VEMZ8u5wcPN$G2)kClE6z5x3X4dCoj zT>RhS-xohwd|Pp`_;B%t;yHNhKdSKc!Y2!FD=ZfdA`0NP!ZG>($p2aXxALp`hx6Cu zw;=}Lf8_ow_glHO+#|W`bLZub%jL8Gl>L16-PzY=pU&>dUX(ozlK%HIU(S3a^UImp z%mbOLGduk_fbB(0?=E^0cS5x$ruW@>_rATjkhd2xzctc=utSK?p^@5bw>yLhu92Fo z7PS_kkJN~Ub;go-5jun}HkKI@BeWRna>OL>LTbWgR^9QoIfPkm5T6G&%l0Csxk2hM zbE%pRaYaOi4U6=R$)&<9*BR<3Nr!4cxN+kgPNk|kq^?9R6{fjK>TtNbz$Qf`-=I%fPmQx#ayBWlT-^mEXOkk!)umE$HYqY(UE@Xdx(jSl zWVt#&WqKHSz(G~lPu;(^NzP#CzYouUt1b@ z`9C7LT2Ws9hdi$I8#4cgC08#IB7JA!APt|czqSl^$vX?=^kcEQw>#WgcrbU|al6jM ztP0u{EgZlG&-xP_7)pAjX74?4@XmN)Kc+AmXVPN3B05h zS5x1#FO5=5Cem=r3tS(#xyWqfWkvFDA@Efu+8;m14$XIjZ-YV$%E?RZ6N|*sBEb1)h%l;oGVaJ zjdLtAmW?*mZXnD)4sSqDl(wtd3%fMJ9MgifO|?@YOnG*}P^Y6BG}3-R`_7+a(CS{> z`DB5DJ0?waqodSpashE6@xaLI9M!PLM|**kA5;!bB()`*0gD%){MbV46r(~?ASy53 zW~T8rLl0LZqN|8M?kTCWur+rED9uRxLak?s&ti;f(%z%?JBi^wvxUwAa?T;2IhvZH z=rd3>Z!uV8s?M@v_)6jyx&u-#g%wK{5Ejx=H8E_?odx*KY+=h+dIi!dGJ#L=u)5Y- zoGd^;!cSzhs8pl23JML0rRr3XwLVEwwHQU(6D3tkPEcq{T+Zq?C@6F#js`7G7N9M$ zG<>>C7N9S2RBaz3=VK*J<&2n+Hm!br5@``u!qHUDT}e~@3>z1hR^4et&WWJoPS2fY9P#>C3RqZ2nxTrhF`M6vm;=I5I4hV}oG&0CuBY6Gq)$gfaT0b3@|KF+oY3;Xbud6*#dqwSewc~5W>OWTh zsQRwz8m#_rs-9mxwwkMaqw?v>+bfHR26$a%7h(bYr2Mt=$6)b4D&JqeqP!I^|KBTp zq4d7e&y}7o-CBBn>G)E<_>JPH@Fl>x;{M{5#hK!!!Vd~xEPSBw^Mz*$w<8|l358<* zAMq`~x96Aghw?Y(&&^NeGr6zlK8c8c^SK9e*W}L5wfLp~L)kZGe=55-`{L}W*=FXu znJ;8Mka+;y0lP12blb&8h?0;)69Rw-V} z3m8nycqu2L+VV_w<0WV#Y=yLV;2?An7V2w|gV01+sKqf07hf%)nn|{u(c&{Slk}7b zR?6b51oJyDT6|hC?w%P_V6q6sgU%CI1AXgu6lw=Y^~<-TP&x=2OyEVR90Uy}(jpWN zj_PZZ%NgnhNAKd84Qqv1A}(irS9Lifl8B(;C?JlAqp4YkC?bM#xne#ehKQr7d4&iff`)yyM^ZKG z#27&d;nHfE&$S3z2uJnh%2B8x1PxcpEglVf1DXhzR?RxQCnSqdMF{Gz?syTgLoC(L z{H9Xz;>#uU`yyVvQNUoj#)~&d=*GaeBpmd2gLn}t2@Atbe(`bvwSLUi_A&{%Om`$L zLMLIfRVRR*-SHw!GaL+S3)>6_{goaqBEY7FO6)cDi53wX#Io>QL2ymW!ZrS4ntNDd zGgvFeCer1K(3)L--Gi>rzo5j6P)dN|g_hKnes$tSXeAu8X1Py24E>xMqNkDaF0vef&<3$*3SQwmw@gj5<4u(AerGsX>7q>a&PwMs}zGR_OX>$%!&-UW9L;k+lUWDU}Nfnj_&l!XK zUWpcAw9&-|L32Ra>Du)ZEy8NUGQW<|BFr`n3zl=Vcp5R%;aEEa(|~C4RKfffM2m>( zVbl4`HCjYW56i+foa~s^XuI-YyJ6BPwWOV=(ISjD3{&=gf}J3k-<{DSf_T_;To;iJ z->5K5oyCG3CzwBtqQzqc^S9(^5yl%fPk+5ci?H6XEbJGUZx|MA8_^={H!SmajcAeN zPd$EWZ0)uXEt33cnBVsHB3x}W(^lPP7}|^QwK2$_NlN}tj+*%T#HZl@zcg`h;@XKF z6K#0^f2H~1<}Ws1+q|=RQS-Tw{=eP$T;pAh6~q9%zOkzj*MD69YW<^-{SVjgvfuyv zFo7 z;qot*Ut7Mjd{Ozide_`&VTqXN$ ze*It1K9Ri@Uj#S>um3;Hd^Pil%sVni5E1as%u6#fnM4@-Z(7E;K{t~c(3)=CfA9W% zlgrROZ6>`YDY4ZNJ#)_^_dhbZ47Jl{euIMg9*+&!aJDG`jgtj>S}Fi#69am8*0MN( zP0KNg#T#NSV_fRmQXj<5$o#ZX;?gNJoY+i~;6Ohwgdgj@B|X3K1D~L$+6|e5)eu zW!Nr&Y-QhfrN`AMT7EXBGV7X2uS`vuxogkfeRmu<@XC1kS=iN8Pij*Z2`32Rl&0r@ zT|<`=W;zVfqiF~`oi6E&sk_-;R%VOOi2zc+nm4^&Cfj70RS9I*M($_ow!PKRc)3bR zLFtP?45xP*m@F$z0zKN9Ql~}6N|T_eI&ZeSv?V%HIqDD6YBj&32rVk8y6`v(qXt3M zvUe0=Qv_8PFh>zI#ZfJ4If{@ef~r~NC<3MkswSzUM|o6jVU{kzvcaX*ntMlK*WjpL zd5*%W!BI6twkM+{rB+b=Or?quT4J>VwAXC97mmRas}(HeUbZteSz@(oZ!P2n3tX42oi^{H6tX8m89g2>!TEWs_t}n4#!BTZdyR@uUur#a{s}&5@LbyxI zY6VM!*}TMR1xtf9w!~@$OSxP-H=?Dxu>X-OAI&;qZbr73_Tjvyha~L~;I^q`i8Ts1 z0%q8R($6$mVvT~K*dYBW#To@VK1k%y$AN1qYZNREo5~smOSxRJ3|OOJsJ_9woLQq_ zX*iWxqhM)RE^8Dl^}9G;x|w!fO_k2TZp+cqP3U2Yd5HSxXLwVkc!~50*kGo~27!;* z>D>lKOE=Oj3&#ZZdzH{;8ZVJLf!~v{BdaUBh3zFo#pse32>}{XyPTt?>yRfS+#37| z8ZBKb827AA*Iv5DWC??6Z#dgaS3Be{m-fup&X81HI7Dxp?$NL}PLot$ z&0M*#d~oHGk-1c6EuA8%x>AVVc&U@%<l)`Yj%$?b|5pD({loP)*B9!K)^Dv}R6n!6x%S_+ zzpZ_u_IAVoc#?Gir`L|I{wL!9eWLnyd=ubM_2tzIs>fGLm2X%6r1IX%>npFR?5kXg zC;*%AWx%hNf3N(e^02(We06z8IfggD-<3X5dTVK+bP%!s&M8fmvakmDOz}60E5%2P zH{t7m#}|u*e=7V@;hlw*!Xt$n3+EQ5@O{9q=RcW$D>MQR!XIEqKFa+#_cyuU&%Gr# z&K-a~z|LHf{om~0XFr*JTXr$~aQ24mx!En*Y~~*_pUS)~vygc>b7SUwbj(rh73kC8 zNdzM&nB6M%?|}#R?Z0#X!|fHQ(=1Y3twqqLS)`6&i=a%iNNrde#VeTYKsZccsA29U z7GknHs7|(R7GkaosAh+SnCcGdt;|BqbPK0dq@WoMqZJtVSg4h#mchKoF}3C`gK>{# zTBNcJrag|SIc^!0D~@@sh*qFqaZK$5HXQ}7F&(FOHp`%8aZK$mmcgLMu^>-qTP#z0 z4c9L)=CMqjNsdA3;+WbwYub8{l{a1|0%=y%Vp%osDFc)P6-tT`;Ctqz-`>mjIM1Pro;2F5{us>Ul&zzE1qG2y;PmN0CE zpnh=>3Ma2Zc?p%qXtzxX<%>(H?>iPk_ab1>eNep!$Yr`7g673RrHh-^*+$DS<*-o8 zQI8TONEv zEK^ql*LHjj#<8F-7YGEbT#AUyCn4cti8MsnbKFb5dsFL@#t#Po$cj2 z1>*8dkF}S{DMY98H-z>wIfWR+ed1D4LEZ?omv3{(-$L5Uw+iIVq4x4E z0tJC*Y-Tr2VSKYH(-_wH#g!}20x zTWZ{LwZXnYP?SXE=SxQ8`mI=@Xc-v*WqK3axcDTtc(hP+G> zY-YwwP?7dB>?DHv`9Xq(Bv}IBN079LwUkgvjEBw1Jq!c6fbo^%_CF(r6`|u zPtY*QB(3F31o6|rmcpb_y}8xY8JduYg4ST)rh3cnMC8y2Cl6gjxg4El^YV*xCu+cL znO1piUcS)&olDnk+`RlE`*$AYZRYm~8LIP9v)B9`5kn(Tmg zZOrcxFI4~CZ@>j;00KLqW!g_)C74`3-vTw0_1v0VMg$9_Ko^l(#T7lde69k>%Iov? z@;O*C^bUyER=slf?>ltY{r5iJUM9Z{a*DycS0~tvMdY_Z8UY}ENLfUF8-#EO@fke5 zTccqgG(@)7;lH%+zB$M_03mPKJJFbiq% zs7u1MMy+Lv9!d_h)bEtYG`Y15RR!Kbp`ImQ6>U5~kF%|1s3`>D$-7Mvs3-(c_ZUT> zo^V9zbf*=8YQhn{e27dg!yRKYefg8dgu(Pql>|cCX7-mNKQ3jXx?K@SXq#0e01SxI z3h1gqJQGAoiz*FdGeOi&sR%R>j;LEAm$Pa4IJ_OR7YcvY2}d3!*tC4C{j+Ka|C;3g z9-h7J`~RVd8z;`2ICdi6{Kw`WHQ&`-Yd($$0MBop&@96O;Ex;cY5Yv%>BjAi3meaE z)a&1=|2e(``1AGG)b~R2Kc!x;{Tti=|4i+v+O4%0)J~|Cs^7ww0N+(ztv(8=|Ges! zYPRwZl}}aPR#~V#RJj%r0Fug4<$oxDru>fbQu*QX_2qNQTguteH%p&}%uinfys|W1 zI=c8hMEie#@#l*_RlFNE05io_;YWqPDg1unR|~U+R~D`)Ocyrgf0+NP{73S?k{=+} z|K<6uhym~eSONTQ?v1(E=Jw^F7S1)Z-_8C7z6tpH>@$b~@S^OA*-GZyna^k5omtO3 zo_TrZ9AN>_S%o5Q3!h;4{2fJaqFv$PLwgSHJ-FwtL!DJ<;vClAJ_17(XYn)znU|^K zRap0IA*(V>5j_`d+ISV_Jr=6%TtMg}EL7J50ilsFP!01o0ilzyP%RA$qg6!8HISKW zYO;#i4#wxW_PmsooR4V2@!qBOd7E#%3Ns(3^bnJ33+#Nhkj(-;jq?U2s|!OP1J%|r zBeI31kAZ6UofZ(LK3lL8(e9;|hJ(>67J`9Xq+{_av~OF;O%hw5dX$j$f%7N$A~_C5ycM^Vud82lKhcWD9Pabloe(*nXI#KP39$iG`^N2CowfQzHf~g@IaQASwha5erkZ4`EykR5uHoFj|GOLWiuzf0hsLIV#1et zj&!8zs8GD}YP5`QJ?vl18|cA%4;;Fip9oi=mS9LX4s8HoX}t0(N{X8gRx#g~W@ao* zR-l=H7bo(?i-EeIO!6ymR&TOGx(Y@lUvobg7O%h%1Pm>O z)NPEWjl{kJI}icY-ee)nKm=4fsfDlt5m3!NBi*jtPnTV~S(B20XNyIzB!t<3epgy5 zBi*)F?i0u>En1-%7CcRG@~OvQ*Fac)Kp(3f1+wf=Iv!3^rmLC0y_}fLpmCz?!9OQRv?ZA zixV~=j(Iylw1TU?W8M^rR-pB;Oh2F7@?ibpn71!QD-_bgEO>PrHJuu*P)G~QyonX9 zzjE%^Z$a&XLTU6w%6V$%69WD`MNOc1V}!PRYEDBU)iCiQZaq<-rVf^*mdo3s17` zk_BVLdJ?l;tLusF&l!s#xSwI9~LSbKl%=OF*TqIQ1m*jfSd z|L3ajW*>l?@zuXm@zuZYRlZpHaOIcr)xZ7F0PLzvRdVHjEdNpY-Q}MtKU2N~UI3>f z2EY$XU%@y3-V7bUfzmal-S7h_6#u#S`QmREf42DQ;$Fo5Kcjd|;lB!Bg%;q=g>m7* z!nJt$Kdw;9{|h1kzCZtl{7)n9|K<6ad<$>?UqdW_cjQ)cPv&mVU6eaLcXakYvwxla zeSGt8F8fgSI=ucLmn~)f8M=Vq%DfK#0C!|ALbr&2(HhTm5`vw|=g_|Wd-v@>6s_@0 zCuT2pJ2h*skus2@`WUOg9U8UPc2QVHTr){egy}lH-Db$s95OXsp7dL=WjxJE-UiTq z2A1(O2Sbj={@pU3=3tbipJ!_g{!pk1OxX1ohGulC)*9TQK&GkLT*tF5fj1NrW58-i zw8j%0X(#|MpIy_gJ2-@`Vtg~7-la2auaPd0ib678qSL!A;t;kP@eJN(5tJn+m9}ZM zh)p+iJ=9v#sI|s1Y!y;FlO^;qAzcfvq}CdJOo)l@3OA7SF(Hb*M6nNOAWd^yYbSvq z>K1#75HX!JxkeuoLYQ3Iq~+MR)=oeYl1@y&x?-LK0(B=m0sO9OtsM`-K_Y{h)Lw%w zgb0PCQ5TS{wtL|9WRTtxErKG%Aa(gL6QaEaHHbxC*R|K61kuRc+iZqVff%G_gd27! zKnzlXiyK?0KP*z4y&Wd{vXE+*da$0hguX1Ki0UOXi&|?GuT~TE6OIR)hT_#Kq7EFF z8^U>NqWZ{m-{cy7TS%qh0W`%#YsX-}g|KBFIz>V4HAL88M&`17oVbpKM+_m_L)e1B zu8e5yS(GEG!l5Qt%{9rQHTc6QhAE>I&W5$upyuEYJweK)kB{QYW?PJCo{Z?Fh321| zWfZa&g^}pP#7x=N8e(}WqNlk@6Rp7oMv)CFUlB}=z3Hmf8hvSq%R)(13$t*dwUSQ7 zQOl^OENiVntHG%#WFHYTm!dU9&`<<>oZpG9wY*8CSDY!UwZ?%w(PFy5P=2n(S(65{ z&nNU1R;oD#i6Y|q0vZiP(CL01qE#}q;8b8*L7+#Zz50wEEDWNy!LSJG43ms=oUuc^ z`m{h)5j&~dt4}$k`~|hYZmjZ@Ra&`miBk$FGuQ1?Ps&RVA7H+N%%g z24fNH$2Hp*4?3ilq+KMd2TWOdDcFg&N>&wImUAG`8Mam*Fsbx1F{xUs_Zx!N%1P5& zeWfN;Zz87GqgAq}pgRYhFMg|9tM^hWJa3@#soe&_az%v!xyn1KuIRtbUna+z>_mXo4v@X!klRi!DKKJjt`{14jl2xcA zx*RVZk1OUi{m?!|qgB{abYX5tF6?%C8U|yEF8N;Ktk437O9yKT!?a4uu=eV$Fsaw+ zc;m$uud-~f-r|sHv_kRfE6@l|Wo9<5F9kcRH&ZBA=sIyGYs*Q%Jr6v3@4m$ zq%r24{s57O;e*1d8JpeNrG{@sLtz3l4(zTO_Lx#6Ynl;_{-6>n!c8!qEh}dlG-Jr1SSv491 zqf1U!p@*HN*k%1!-dnw*I#Zpj{CDN6mEW(txiW$dfW8CJ zWgWn0%kL_$mLD(QT)v=uTsaRbfX|fPQCccJ49oxBr4GIW@OOv=@N2~};s9PDEmLK{r`0Ko!KM!8o=$a1UNZc%lsR@`}h9LFJyiyvoCWAIwke5z5Zf49x?Rj zWv%Kx^w_?~$0|U>)NZF) zybjkdh{f16aB($D(k3L$2sVC-zpajW+zeHhwbpl|n#4?iSkr*Xb^5R}8b)3&s3Y$8 zCdp1DL1!Q{HPN?OvcnN>mm@HcLgWGrn%(&+(cXKab+~wOOanRs%@_C-YprkNRJ4=m zD+t$a?>+5xEH^fK#Knu=xJ)1Jy{EN4O^MJIWIv#fY%Z#`j*t38Gy_QDr!=ZflpQpF z5vgln>SVVg`ySX6t)GH1By%fFc|E?{4k^}NXJ-}) z?1MPO`VM1~!D@tOAttGwy)!ylv<{mQd_o8SF9|GHV_KMW2vB*}yY^}3$L=io8P3=iJf}X-y*~zI;ybd=l72ckVN>vXV zX`;1`&>#$HC}}VaiPxt%8Mf)P+#0WUEkym5-P$%SHN@*359&Fr6pZnDBB7dEE@dns z_ofvBM()$9K%+2; z);H^fh^1jW)ih%hC8Vu_><3gcOu~4b99bOHV`x&6Ba4H2@)}5vEEf9piPy=I#X_}H zS{Y@1!h@Wx>797JDWO)>+uCua%8d4Z2Tr=Q9|_)>6${0EHf1pIiN-B{>EL_LF*7q7D$3p#C@T+V|`*I+P$9f$N_dR>}K z+iRp;AzN3rgP|pBP;2c~Sj>dT^Vla(8xmv}tv$v2*UXvN&h4hHy0g7Tx)u678h<5E zW*Dup{|dGz{HG6Xqj!nc*ndScC6YNt`W4#N@Sh2cZx-qr=~pb{8EghGT6;t=HR>); z_FvI?`hy;=JuK3x^<-8>v_@JMQ=UKM?KRS}XvXKWRRguxNXw#8pp05O;1HjUGp3U5 zwfzpM?ZTl41mexY%)Is*n}X=3c^heajZHx`;?6RuT5I>wXj2adqup8~H4AO%m?Xgr zxrYhl7#tFEtww8iQ#WCa(rKy|x#`088f#fFM=_1VDNG(K95>e}*~~m`uaU%9A0J!*T6JXXjei@((?leO2N zW8sg!u?Xa&TMZ&B8z0?b5Q(BbdIck_^{{)}Yvi%QpMs%D=%>1g5YA@StoZ2V29aBX zj}Y2JrJ{?QM6I@~c<)B@yHAM9Q!9gC7$+ee}+73jw*OkNu z9jNvU8%(jhYAPSEu|bD{YL%N^C0=8L4hy}9wP=kEItXIO@IQPzHap{`+-_bE{^`|P zyM!Bnz-fV2x3zXL5!k$$w>8s^t+khEf?JI>*0XkYPa z-(GtjBP@vYtiQk@+_!^NP^ln8x{v|*WkI2$5Lu5BGJQz$|6#KK|NDtgO#J%9+{A&2 zt0uNhY-)ZV(*H-Azt&tv{Qtep%bI878-SI@zrzOL_wW_K#m1wJSHK70G<*Z#KM@D; zWA(Szm*D^Ziu#M-1u#+jUhPY@57&ORHm*I)I)D>u)#|@jzfk>P^%twX>iyMgs^`EH zpa}o}Kd-#M@=KL|<&~8yD`(?tfd5o_$P&T6&4Ho3zrv8FVyfQfKTS%obToL=3kJX z%KcC7D~JU6bGavSH{vS*o3j6r{nPAkW*4##WG}-v0IQjAW;I#U znmTex?!?nb4AEK~XBASh(&$PWDj z-Hx!crjDGgen6KCTGQzt;Hy1U2Xh#ooho9R{(;#)gC87w1fF1=19DO05q9^MBd`L| zKhe8lkja)K2#u?Mp*H>L;1^Rz;2oxaK`oitn)<<+`UiT*(oH=>{eWT>^8Oa&aO@FS ziBJ(xIsBhPcACyZ_h;DDsUxTAAN-#~c8dCe)~-ya7r=AX59lgR)lB~YI+GJg4};z| z0>Tq}_TRbh@!R&^f8dcjr;b2zaw418W6Mw)>>2rkEl1#Hb|OEj;BH~wZv0=IK);}l z;Kvnp#gM<~9)ai0iL56#E!iRY)Dc7lIguQ(bw$vU-Tn^{8stPAh8){kUw-8ex<_Do z!apGYJ|6S!l20AkqB5Y*H<|JBe=tQqz-GhhF^m{yjsF8g3*jHoE2rM_I;a9} z`^ZEqwY&^EN0QvhCz90+nOM;T{LwB3K;tX?L{g}h>k!D1IKJ^m5`_O1zrzB`v{aUtnxEXrpl35;FH)_O(?vx`pn8eyO!Eez zb!397fvcxmkS4<>G9+~|&JnZg7=#F}5h)Gm4adu`eFX7aBSu$IlV(}|!&VMI$tR=l+i6^bQ# zd^pYK^@F*S4N)75&I=ATc)q40jI+%QlgV}HPAn0PX|KbT2G80Mwjef{wZduI>-!0j z1`UfmKo3Zyo)gvBwbl{z!=_TZgXtcG{IEow^rlDQLSqTnZkKM*y_AGLgp2vhoin2b zytNMN6if8xr_(@f;s^_+Ce2+$Fat12&-PIGtv?XTUtbfHB542r$W!Xo3M@go(!Ad&Zb({Qb_k_g3Ayb?bZIh~O$Y7#||VXg8DC`lB7H;831FWa7mibN6g^?C5qSEqJJg2rWApS}u>wL1b2t5bnf5cY-!lIU z7ZSe^a2jpW58pBWH2g;p90=y8iIiKzLpMBh_k$1JbN9{jPeb(~o`7USqNqe8L-`Sq z1$*xD$#YL%NCtJxD~*X%h-*~nKLV;aHhk*#r=bCH$ejo?FIL2|Mno15pD0chjfg}Z zib!e(bW|h4uLP=g^pyrv?n7kSgJpXA)9@?-5qt>75fk7Wgh~FtE0NhU_3YF~rdFq3 zId#?4zNxL%|Ezuy-v4ig<^KZY{?Amt1F3&dc@i@J{>ltq{rji#pO)WVzQ25F`RH=7 z^!?JuORJ?vOD`-P16%(Oil2a#|77u{#r?4J|FrOh!k-lWuyAML+`=J<^#AAl2NCCg zd;aXallx8XYq<~R-j=&JcTw($Tn@JVzk*bMU-p9R&TI;P{ePZW$=nZ_{xH1m_ucfz z)BW@-(^nyv-$AMWo%(yc?DzWAO{vpUwdAjpUrqjL@~z3cljk9#Kauz*toTnS?n_*h zI2>L3zyEoSy{RLQq>B_z3>rZiTtk5H8hdn%IK3j6-8x3hU<9*E!|-ZYHU(*~0SmL= z9_iB_DF<#H0Y)5t5e)qBeT)pqj$mMZ4lv?o7s0>|?PJ8&YmQI7adhfvh2dj-@3G6K zRO~fin)X3*w=ybo8*tiJ7`sI2HjW4&LZmdC<2I1%K$Rlbf21Oqu6>ADs1e9c4I;LQ z2;|TJBDT$FTaW@lRfHWA+-1(V+kjo$hs0C_p-e%9Q(3eWBt`HcRyKAUuy`woOspK~ z5o9wTVr62t;RFzA7mbus(;$3~N5^GBgFpolU3G2)LYiuexTu(&b{de=6h!QcMpK*y zUeizrUMQy6?KBWfpb*w2P;bmA_J+NL_Sn70?lScl^~Q7J6CE6@&tMcJH%+U{Vi(mZKoA0ohJ~aLhv}w9JFofRLv!GIq$+ zCM`A&NF5tsSPyvYvZ=pYY)pkwIIW@^#bTpspqBR?yS&$!*m|R)x<@h}CCfi{+0@$9 z8?eRe&Dw{O%vQOLk{WQhi7>aCIw-eM3?R}U!f21%KoSR4m2`QGK#g@41`Q#uB6NoXz@pTBR02RIfVm87 zD~|{OT@ndkj*GkUu$XpSY?YjAwA5XBD1g`p#a($&gHT10F>zOrS%Uh4iqyT|sHnDb zzie!b&edIkM*)|CJy%>9%qgs|AlZZu!3B=^$^^M9@Gg@zt zq>aUEE7wZ^x@un}*GT}#1TgO=wUuiH0BUk;3GNC+cydf9>m6y~y8m(|w;1wYua(|1Q6)RT;5PM&o z6})~TOOa|2qn_Hz<+80(mtan;y8@pHF2dKQnGk0MsXisdE*;cXULa~AGR>`dG}cxw z1AtDdShLrqXoi2_Q5n&Bfm;Pb#hNb_q(y^sV@yEr_7AM8m z7OyLwT%0fby72YFpB3JYTz?lAjw}@OKg@q7KgL^s*XB>k&*gpv4Zxq_rN8@;#{dwPtDdc|DE|p<}Whs%wx#ue|%~yjsGBu&o<`Qw6h%#3YA&o>ULP|X!Vr6Z&Sq>n~ZIPAcHc3hoqstR* zYYRzf3SwPnPO~650dpj-C}y9XCZf`1Au(5!W=`^oWP9_Nsx`9`Ai2%t*jh6q0Wk+i ztqH>)HG=fd#EvGH)S4*?0NKW`wI=L}qwBR)bH4ov298zg?wkiqqU<|Zl}I1Plw2M~1E z zHL(mpVio{oSEKDAIwG)$GJxW^F!0gKk=uYHxewvKn7feMfJ3>2D1QNCRk;lkwx}hs zngpkT7=8(f+h$(sBg7VA&W+P}Nr2$CntQI(xY|dEGs>J9rvdw_>ahL%X}s7+2*sSq z0JX-Ia^M9sTNd{f5+FBjbM3kf_@#3z0=EETOr6GyWHW@aDSDPV4HC6z)LDgNnO&!W z=M@x!2h8k>(}2smM8s`Wm&(4x2!*u}W zbOk7$&lp#ySMyo%hb1~{&K20_2ASCrjDJeRDWFkOm$p+ZT0%2Y#|8GtGH1+w^ds2Up zx;1r1Y9aZnx*8+>n()2 z>L9DSzeN@@RT;|{(XG&J!9P<2*>%D;j@^i+ z)@{P!Q(@vpDEL`2!o9wDwcT7 zmuMIk(fNk^ ztir_3H+*S*Ox%1+v5j0lnfuK7_L}gq6{S$LC^lDHui$X&W5k*>xx#D0`!>K>rCqOi ziH@;fc$*jN7@n`+4m(;hF2VN5%?7I1K)|0VamS&et$@#fH~BFTlj;t-R*B z8b*ZhMEmu84I>mnQSLcM$HZ_m0-II8r25j_b)4o|YK_VR)#MDPd8R_37Vt$x=i@XH z>rC~qs)i8ex!^UCwMrm@IFraMNSTf!t>bomWR~;GiE*iEBA=Cy5w?fux`|?WaXxUGyA>k#BDhN-A#%)pp{x z2eQ{ZLQW1CmSTOd{hAedP2}9-QW(R!Rdb;^&BJ6(z+eiar8rIGC0C_b4=?$-+yKb^X<%EWxBBaUy<3B znM(f{G5zc5r_$G?PfX9GexCZL)CW>;P2CII|Iuvw|5S24`5I*MJ0&@v_+{cNi9b!e z4G{pBB#us$(7i2NoHlYi9|=`AB2MhyDNZ{XAXuSdPMp(5&SzBypLUTcX_I^=YvHpl zQbvp9Gl}5SCsIa>i z3S!lLyDjopR1n^)&0f1Lq;>Kk%z07fBr}>U#U2+{Z{Za$AHu?XbZe=%@S2wf0#8I2 ze!Yd%PddmJ^5C^dEK@B)(nd?fgV!RlEWqr;T$zi(ZC#@EjIRdK>0}Q^!CiJmhugX+ zD8(+-x~&TX2nnRo#p|{%&>%5e0GZcBm*j$q?lojylMuV@z1~7*ZXd!PTG5fIw-8II zfq1UWv!dQYOr;L8&6V3CGn;A=vuTtEIdu<@@sbECF;}qLA~TyRC1zETnN33MBBa|o zU4!st(X6Q6IxXlEg*g+GnoLn|of-z&wcV$LLAIa~w{^1CBIdy8=$xcMco9dpf)h1J z%pyJ^fY{YM^%fF?s{s@dw6;Zz^x!(kKIg}4m02(4ZfmawvEItv)}8<&BvzB%Yb{Rh z!<=J19BM62?gId-pwq*gO1H(yeE@)%E<{9=&7Bq}_hE>TcFcXmX>oENMupx( z;z$)FX8WT!QVFr^lH3->kxGbNmE^YO0!ZAN+b;VfIn^9@uQiL47iK<60ggV|E>d1= zCWNs?r8%u>3@w*~9@{3+Yf%&_BVywVycUuG`51BiHU$=z{}Z__Q{SBW@Kgi#{})az zO-)t*t@_#O1or>yswY?HVgLVH<|{<`>O0qviq~snV)68nE8{;n=`j(&dnT} zNy7)=8NBNE3itr*Ngt58>!c&u1%eonoj;l@*k7$O8#E*7Uc4G6aSs~dg9L# zZ%^EV8~{h4d;hmTw|&2ue6qre5ZK6J)TT%@un0G!j&o781jfz5c{pFeWwOtJwjypwWW|pZ`a5-Z%s8pTMBsu5m$@I z5!{wS9z%E$NAA&WDdaK4zKGjW$YTgM*BoBAO_n#=XxtVYzeouY$+OK)*V{J* zQy|hvMaS1`lkH8FBjic5Ag@ifH;F-_FPlR|y^Y6}eT)>p%!1rD`AEuwL=Kbad`n4> zMn~LXqN77TlByKGc|M=RXX(K-kA>a#w^#p|3X{SwLX%fM#7e!p|BaqbvWklOS zzLKI0yhsIvIr>hUjBXOan}b=4*CwNzKu`iMTKUmwzD!IIdIOA&qn!4oenrB?%q+xd zUlJfC}#I*lhUX5Wx99W=Hv3J#}D zE|WB@$jWQAE;?^wv^*2 zwUW4kn4IXgr5wi)uE)Hly6w{>6QLA)at^0W?vm6L2*Iquigt(GB?UrEo{6ZnIT0(D zVO`&~HYZ|bfOXhwZBE1r07evxD&jxlwx#4o36tzDHEw&q>?|PmyPwnEC%fXmykZ=3 zPWyNt5y$O&eS}@}>$J(5MgxY1Ff*G2=Cvt1kVH`WIcy`QeBiYyJCKjzO~Slnx@{@9 zQBCmTvgnZA_EIn^bQ6tAvrbzIZlV-xTPQP-Yzw?G?Cqt@Kmo>ER-S{HrE$0%mv}+3O-40piMkS*OVDYPQB5Gk zjmVs7r%h3%5@FrgoHj+33WS}XYHcaPp&h(J&1GI|OA$`llFiX@+fsz{P0114i`(|Z zcmNV7j>EK9K~0h~5DFbjy_5mR7x+T_42 z5JDvu(Py>ua@f!c8a8tybK5!54w#~4kg!>c+a~{I)It#Z1iNkWUlx$qwMz+pB*eaU zN&dfm%dfXg{WIeK--h`Ai>8j4%2mHxeWu#2K3aW2_1J2;@}tUUD&xwlD=({@P}x@g z&+-?_?=8Q%d}sN*@}cEq=^Kdt|HIPlrE^O4;%|%JD1NB;w&LBz^NWWRep~oz;eCZa zDBMywqfpELBL9W_yYg?y-+;*fncRQoK9_q}?hUz{a;M>4zyHd9F8fZz{a=?oDLaFF z{{N79N9K1j*Je&c)c^lU|9yHh{o3@k=@Wd<|KEq_|CuQVng70$d>?Z8-<~`tSx@{n z@io}}|0r=s;_QTjPW^xXc^&dK#ON%M8bt^XCd({#UV?N)J|-?{QRnI~3iA;?;}$zt z87Q0Z?{&!IP^%HArMa_v9r8F-7`wv1-nl{wa@0G#@olpcdmVB)^b2B1&fGS=4!Ioq z80%Hf>mZkBfZ;96JT|?Klz(`*?OUVQk=8B72=`BOFQ|7e)j9@$0E&S!L0*Tv4ppOt z(}1}Qy$*RD`WWjq*z1tjp^vfd#a@TJ4t)%7J?5V8b;#>bVT7NW$!lJRybcvcT+7XV zIi2&w?n48_n~OPJPDjc^^h^vR%%jrjNO_1Jg|Q;)9ckSn%`fEx-;3OGW>e}Nyhf7YU7zOYx6qfd8jaa zB1J6xi=9)|N<}%8*_l>qlz+(g&@ah)BVFvAtd)e7N+m^x((B-LO}`|up3OC1@8Ffq z0J9fq>!StLJ0}<*oRsF-QtwD(7tbz~_cWBz&XFUc>Ks6piSs(-i0ETtRy{c)`WT)P zb8#$o_Gp7dDmm(#+3dy6ZUc2ZBp>teUF_^KP$X`cy<6-o8z`D!b18Y9C9UoB=9Xn1Qk%dwBRFsE>KcTmp-oL-mprmPrg%MkOl*2u(Hr(eB+7Mm6iyhZMQBF^D_7*#i ziL&s@Vy9-Htl1Vj3t?2u49*)U`&iBC<6zwm>m9sQ>W>wUINIvX4%Rz(u~Y}yw|cUo zsZke)rMcBR9Vv>@TA;a$I8b>VvZ7HbNRAvMHhLYhqA85sisp3=)-WO+k9l4$b`FxG zNOeJR9<$3m&p_FCxdRQ9eV3zztg7WyqkWf~(%Ww3aknEyG=7GS4+E3M-HsH|2x1qE zoDPMU%J%Sln5)w1loSHHEzMYTPNjgxNoWaSu1BXM1vGvv!j8zRT4J;bUI(vuh?d5x z6Wopz(de-e(P6VYZbyn}1QB~^l-Vi7l*a_`)#K>1+FLp)A;(cUVuvyJVy7dWm-*=v z>a}@#I34M{OwsAqv2{CJWHpp4o{u|o_}%uC8iX0aY{_E#3CVTz@D9CiXWcE@ly{Z- zEm5|!wM}_feGH!ok#nj|c~^am^-OfzkE=%GeMI&jjrNOj|Hxv*NpIHVwjb3X)~>s4 z3N@9b*wePVZOZ8p|48Nk zyMOA^sbk>(|AXo$tE1|Z)t6NFSGQJvTKRnCJ(V{h|KIZ~i93g{8wwIr#s7wAd*=f;aw_ic^K36#lmGj>78;H-|C++?Bro832;G zZ{$9ddpq*~Uzj^Amqz~ok7Qff2eX%DkI5D@Kgj%bW{`O$a{ukl9FYF^^xvi5nSMk1 z79;oH#i=7w+2nVUA4#^84<}!cJO(fNeJ}CxL@)7p;)=v_qPpcrLJi<`NxXtg$7wDX7cGSf|_ue#K~;#5nh){%G}{&V&;@Gclel?Ii<`UKE~Q+x4RE3S7Pis zMz>2&gc2geSo7R)yW~VDAtJKSoOHKKPJ|L-R}#71-2sHvjFDr*?d}R7c15z&r4TP! z5%YxE6sJpmgp7dTO0#5ggwrK+ltjdoajZgsPA8l>i%ypUyif*4l~PGYdBN#YfEV6$ zqj!yZ@h#6@7V(&cN#Q-AiJZ5|A-8v2? zS;}q-U9h}LQ15zS&~D2+30~I?+DwO`<-G-`>!_Y%^oVcFn~~S0M5o*y^vrI@@VW~c z#%^f#y7L-F=mMfUC`n1GuDG3eyN==A(OfTHmpl#qa+r5aUS90Z;3lRph%@9HfQhPi z>Cp-eMdFruP4K!TDES~>!qMeNRx63IvY68)s}&Th6bC9eDcVQ9#8ZlaWU3#yA zN)h*E`;;E2Vd4(^12l|KNSmzcbxAlqVIQYkmAxXzENYFpw4825A#k)1!kh%B zOQI3iBbn438K+C45g}B@jwpgeBSyrGuG1yah!C`q+s5DNl4wMTI3dC5<`g1!3(d+g zgA;6A40AW5VdA#Xw2q2j=0}3dUdx;!VwUZ=~V2) z=AQ3%NH~%Zdp)(z6R-^m2v2~?DsJaha{FZGP?{sNt+mc8MHz7Zh$-V0vW)nRyh9=p z^%oHQ!_Y>1Ln4uc2$hC8vQCGBI|W4CWX$#BbRO{$cBMeA^RVoVWc+A%ACdqZqBfpg z=scKOq*ln)XSQ;o^MIhoIH50e?iX~)&*qePo%_H)ILekuaT9aF?%b?A}?U!2Ze7*B3X+)mQDQz2r;%jw*q5NHLBXtc+-%ihq#g?3JMIxm-{ zP(-G^6g=|CA}aZjic-v)+>Y}41t#V)+)-Y?fY^D+?I^EbK!mkCayWJ9)d{*H0K(0U z+yXkv<(D3Qv^Ur3+@MO4!*6n{)45(DB)geib~==7hg%{U&SY4xgLfkZLhUt?O~C71 zqhVqWxQ-0#6b5eVJ%Z%_yS99f#+a7wRCss{L-PNWbs?Y4;NR8_ZKfN9#PB| zzEk)}p;>saaB1PFLO%b!{9osX`6uA}zc0Tv_aC``ga^RyA^QK!oSXgc?ANn@mVFzd z|HbQn&m#K2op~hlqRdjJis=8(Ao~B+>6fPWr4PpIe}9+Sgy;WtsgqJO$^T4#F8S`{ zA0%H6AArT=7QFuV;Y1_xVB)gGF^M9&hCgqWEL9|3kUlELJ#UpPRX&FIMDy0=t}2lV z<;1Y-suHOP5>tv2sQ?kdNai)sT_qns*%-VFjQu$ZAs;^p5eyK8P~Hp)iID(TDQ|{? z#5DJq0AkN->8>6fKw@HcS1CqIRwUM_*<5Fp9Q-7Nub5E;#b`+ct>Wl~V3lPmnrXb> zVV6I=RhFp~hDX=jFT7QjsT79mGF#)V9;!G7b&2p-bJO=$S*nud2>Cf$&LLVk;xc3& zq~0o7qPXX*5v0CH>#A!QJJ)!t^nipa$L_-Bt+G@l+AN%EEp^cY5~>`rTSj)&RhFw{ zIl@UiI?gOtNsPFOM8}8aDv7aMSKL+d|C8;BQJJi64@uFa zI;}yh+pfF1Er19vHGA!@ZVez}!I%^7tg<{M2F8AbRKex0 zlEq0uVwy`%ff6EE&*Uq2mF!IlVx4SvH5owcY7BQZ5kTykLwA*hD#;E!bdhDyWuZz! zxGmP{GQSiCOTniNJXNt30#?&CVf+Fq~w zn1->x1Gw0Ilyo=LZE`vkjzdvL!0sb@N!ELU*L_&Sh^XPqn3%fm(l9~< zjB>}FI)?idZSx%(hSWvT9mngE@TK}Co)?d7k=>W;80((nbxHhE``iN_eB~cW*T3pL71na zd`EuA+#`f`b9*Cq1+ROVh7tU0@}1YcG{D4Y0KM)d5<`j;R#sTn9Jw7+dl(b5PmtTO z!q{)uPL~2OC5B3gs&TsHbj%2LEFp}kuMqP8ca;7AUgZBfYAWyh|6fsEu2$jy|EbET z@}-fc5{qr9UX$RywQX7JpOxYVm``w?qEFw0KOh zT=-Gp(}nfIQ-x~^Cl+S%|C#@X{5uf=a7+HIyqo(??yI>EfM%I@WvixVmgHBtZ^rG}l+X_q;I3 z=7Q(;4h$+2GG(;M6lx_av#T}S9)(&-NQ}VPV^ftF9G<9%%-*Z0Ay#^Z$e!W#${Hp{ z_t-1x7@jJVDZE}$!`KCy#a=<)gK+{c;ReSx%;+fR)hG*;EiGETmkWbzdC}^ zo9VIjiiS~C2R@AQDqF7_q4^;LR7d?rULQ_>bxHS(b}b7S&Wm9#||p^S;# zxmT66MVOcYT%{bPveC@*W^0^PHe+FE;vRc;R@sb22x&ctY_+RO%EEex3F`A!m6S!8 z82NEkNm+yux2wpFW>ra9z{v9|vW{1kltmc)!*oVRPf1yXi7|k$Dk+OFaU)EIEgE5} z$F^}ht7OFwhk8ZV{a;C1FVv#wN1g zu2NDPZjU-5Oa^sVDXEQw*pCQzmCRcbA~yDDDP-P~keKYYt7P6%5SDn%4bWY^DS*W6 z{i`>s5tawN$urI>S+}^JxPyL`tXqu0EYduhd%Ckq)-6KdU(8I?Qxb%rW6WL#Jte`2 z7+!Ez>9IdTkm||CPu}WFPvJCl@qdZmuxozq+=-s%-PCZ^34)hX+WRm4(Mr;p)lQbgieeW8Ylx$~|n z>59TkFS!(LVJc+sh&_hxbnX%e^=Rr z{r|ekNtGEH|Nkb~|IaP&C?`wLmi`ji{~jz|QaS?O|KBZstk^^L|104AUoL#V@YjW5 z;fcaa3i}IN^ZzIR_xX3^U!T7*e|p|w`Tv9P{=YwWY3`_8KKtG5GudwT(d-r3-Pz}5 z{x@;}ygT!z%$=F@Glyle>F1F9Zx!$VU76mMo=W{V_36}F>dDkgQu|Zel0St9z`K%f zQRa}xC}zZKs9_W$?#2V#V93!sEt@OZPjKK2g?VQgu`-9Cw4 zK{;4{=8~xQtGGKW2;Zfmw+^pQ(pLboMZURxvTFqx)MYYRyA~$$Je7plwX$xH;;9tGdaZJM4`~p-S(sM>r}v{4boI0mR4up7$$G^cxYas_hM#xjnl%Aa4?Suf+ zQ$MI3Cc^7U3)V9HY2$7qJ!!!rOxzjQlNKz-#N1JP(t^bpvh=5Fcqq?ENx`=EUmrIfY2N6vs*hS$3miOfq#MtF>%Zwg)GLzF@qGc7!xbaePnxd?663Yh zdjWPYu4m6NG4{hAWersjnuCZKTklcQ90?J*$1OL49v)NDLADz~y?1dKwA+?Fq$llH z)Gt&=*9LRSz21e2Lm6Ye>-40MCCfq2Oh$Km^fH9%nRQomdz3{~L3m>|&ri2^ZUC|G z@AV$N3n5DpJQ!_Fy+@gIG?0A=DRYhnvYoPS?<}oFe6X2&sM|YJgK)o0b%EPELxV7D zM7vHIMP+O32bbGBEr8fPd7K_)6qTj$ESNj2+dD-SqMlAOS;Fm|96-1!5lgMplM}<}=Jlj}wTxuTv0I6huLOqgqh@oxo|LZyhDX;tE4|+FlFO+s z;b>q^lGod-W2_A7_4eo(>r8sR-5Q2;+0l)_>+RApR-^i2kFw*?2vVDc-q#|l^p>=e zVti|Q$LSbrZC>wK9b;uUi?Mz%f-%`Az`26CIVxsWP!e10x zg+~gP7j_k<@c!T5;{CtZ;{Cr<^YeKB@1Jt-g9pIfi2pw#mqYgdk7V13|GzYQL^hpy zF7t7C06dv_DY5|0q<^0Na{7Jgx1{e(pO-!~olJcz_2JY?>H)m}cO>Hf|0VgC$wu=2 z66COoO!qZN^D^gWA`g^`t&q9L(mZ0q}2P5{$>@)Z7L;4S=mQa@hv9Zl^`t>Pug$~0wn><aBX8a#yI5V($L+{{1>gEO~Q6>izpdAf9`(fA#*oI!H*PW=UTE9v)3G2zIvt zuTRc|s@?WGwcEdoCr*^Z3=pk~Y+Y20c#O!#XXI1IE3?UNpG;j6Vn4gxKAE~CM5ISCmzdipQJkth*N9+R>%UCYfiIS?ph_mn1h6bM(AE31O-v;UQ?YyxzYY>(<9m2w_w|>GjFf zr9d&^BYhIYBqna#egUQmjuFe0TY^@k*b02y-f&K0V%mcdmSKI*Opj8yF!^ zY_k@xPyU09P~i~~rg8cgsZwIJ5MH08FD?c9kXZF*O>Up0FNv{pr_(1BmxNf^)9Ih5 z5OUbeE_;14aB&%6g&6m{J{hp4RqV%DV7KV2bWTH^FiBLqf7y^0;Jg+wk!$XZN<*C(SEBjOck z{gX9}{S0;bBy`DgtUdPnWY%H?E}M2$t=A{9OJc-4N5o55L>THDVYyIN@Ae~OkwbkiU;v5KQ%PI|`$@NbE7>R&BpGP#hMoGA$GO!WL?ZP|{ zojwUy5@VeguTR1iBPjC#^*3^XcKRe-NlZ*BhpSRJ1*mOMy#8SUCYINBYM8jzkch>t zL0hQ3<{ESQBw_)vL@&qK5#)f(2)WkH(RKTjGlvWVI9(vEVV2D^)9u$a2-RbOcmX8F zqrUHI5UV&|@00VfYzu-0F-_5nzSk$`;{aqgvn^KUVIQA1_}~UMiPM-!J`jX;6A)>8jG+((~~4 z-`^BBimxqRQ`}!XxbXiJK3iBTysB^|WdCaZhlu{~=O4?zFn?^ml>1)pW4UhbVc7nU zfbajevLDVqoxL}Ee)iC8GV_hh2QzQY+zreBA?e?yzY4kk&FS0HXQXSXU#7m4dUxs# zsT)$Kq-GKM|BuOcCSRYtDS3Lb2D|@1CH^Gw2W?tmp5I&OBw?85GVB^!b)$(y`cN_{{t(=9Q? zceXTny*{{62iXm$-rxqTPgRl-Rn3FN8(gnp#2IMn%iIA)NvU$U>*lWS4oJwMZZ9ie zJo9*Q2V`er2=owKirFi7Kv7Zx60=Fx2lO)C5^iowI4+mPY?@1}K6pt8#0%ZjoYV(b zYan?#m|}5#a211aoq<%eEOH&1C3ypqc9wR5xnSe4XE zey$A2!%x*m+Ev>~U96YHUedPuE()Wp^(_uA)KMh;;zTS2| z@JwFt2IpxQ%0v@AW4r;0Luw3Y!9+2OgXe24f(i{xY#XU_43y0pf+!;17*8q)d%#NgI1$WyHOv|YYrO7KA`k; zxdyTiD4D7>knN?40hy{ajP0R@0X^s7W8@Vwx^2*N4m#>MOIh{7F1_L6wL5b(>x1Pm zXrCo*etocHfUvHjB^?(A9gk&Yg1iA4thAO}H>qRv-q9ffl)0=H2S*zyVm!0H#lcZw z6th%xJdZR`wgaR-I708>GMo;g&8iO$4})xrram~#09nU#XBcGXyF>Ny9&iUFYH=cIGR|O&ju_V5 z0f|~<s2BO$>qG8J~916N4lzA7ec++yO~i0uysVtq(}j5)fa>W)55@NGik~f(3Tg{KVTLgV?Fr#7Y8Wwjz@|LQMFLS0QzdqQe+C%Zw zqCMu~@CI8|T>!=1bxGvnx=8q=2{YHLJ0OuuKrmYbG4Jq;1A4!KAS_YfqPnyvs`XhM z(EAM<3J-KeQQm+&j}^*pDDwtWI);ZRdeg6J7`tX*aZu4(1PNtnk0qCGeNdKzO}ztZ zpQYLL0eK&*W&?D*wIuRB_CX@X*&Ix7P|zAK1X%N)?hW!fh6f;uA@^fhnPd@jZk<7v zggh~EJhf3KBKKoP_@Q|wH+q9~fDw{K#D&EhP}HX^N2n(w78RY*wvj2ai z+$uj*zO;N)Iam5_>0_l{=@q3Hmv)z?ia#oTvN$Nd!uS6Fcwx2hC~W`76^h9I_e{Q< ze>DH1{4x1_?z_2XApbv_dr|J#Tv7V|Kc0PYc2~BV`Elkmnf1)8VfjBHGoAj=^cT|a zM&|z;(kG>7QvZS6f0NWx@cchMbzt%*$^UIu3cSzw)62hz#(Xu;3N*y5~%j;xEZnNQ4bRkTv(EV9@C>~q9J@B*vOZ*4N7YBCWmIZf9G<2Xg^W>F33PGD(vB>OP*w?L z$kI-L;%1rb>J7;(q=rG{s50*_i$j)mR7vbFWotXjIvUC*g)R�!(|O)w`aLS$_6US5gUU!Fz%4DfvV>4*qQrSeRwRL%Cf~$ ztze#m_2DsLkZnGl;n6%g+;^_a+^3u&nTu3i*ghgo%ifU8MT~$3&hDAy4Uf<;_AA2T zklv|N<=}*mS%@sqP~TA-P`fNKH1#11G#bbjL^EW8CIDI9dh>=m^me07miyn3B^p%@ zpBd(ic|(?H1V&sqA{Ih#$P$gjF#klh>ct_wP$$P|i6VP!o7LiwUa0d?9Jygzr7YLT z`r@`?mTM$N%v-c?3&9w1LVAlPY)Eg@sTLuw+S+b!IH#AyzEb8&TpVuKOOk2}a}m{t z^f;YgADr(jFa5ehvLs26UD~J*>D2`VA$_(*rC1-bY$FDVxYDLXs1LUWB@u{PWC~>U z;lW`LW;goq-jEX7$Tm?)B&|nFqJ%aY=s26)KRhr5;()(sNe6^MR)xiIDh#qY9o2^v zTN$(oG3K_0SHd9Zn=HL!0mmP4ywevQCvR8^xC!G#18!cR+#%%+4Vr{OGWSt;NO?mQ zgjcu8ZSIglDhPA zT0zpJYc4f!m<$FG7A)J9r#?(*1;t#$>ccG>D8{r>A3PZb*`iPD14?Zp#|YL`+(e_? z;SJaUSPTHJ1~y)F2kZc>Ft)CF0}8T~b>R|X)BSn_3bK@#m|?6B9^*FS{!JSnp5#HB zP5!749u0w*&rA-f57-G9;bvTt*s{&-xITDTFG*;|%v0SPP>vfY54a?|5aSIV)G^$m zXgQSQMwMe1W4r<7xLK0sU3+YlH=rChKE~R6Z*Z@MvFD-k2JHMR>k{uFo1^Fr*!fps ztd<*ZaFU2OLT?ENdtiFsvhz}~+SBjzI79`^oK7`E(~lS=ac9b29i^8eeW?w&e# z>X4}|)o)ZkRDFB(-s*+b!>XCecPbx+{r|Db6_s6;1Ij-s|4n(L{2ILecVc%EQ{esov*H(u?=HTvcysae;zHpUg)bJ~UHHAiO@&hn+w(uqe<}Z-{2TK( z=TFPe<^C)8d1U{8eeQ|H^(L`|j);v$tf=$ksBy%6vKV-puc3ZpoaPsil9J z{!;oq={Mr#zcbQK>Nlycr9PN?Tk77_1*t<*$>cYaAC{i~hb5DVZz1>pO5*;+MV$NZ z*)8?aDd1VU%`L-78<&xGM6wQnDCCt~pe)O1bdoHHF_3yKVp@GfZ*=2qVM-bAwnM?Zv%k8NTNGATh#@Z@od) zM|-$y5+w{V=Al;~?GA%zkj!JRK4O#3{{6>*vw2c*e3~bOJEHdwmV6LqByu*6SmF^7 zdlKdPh|M_?B4tXm9B;(t93Nz#SQdFC23xjGKK z?8l`#Hq^L2I)sN0CkKMFVl+zi(V`BrtCZ>^dS7k{&N^I@JymsmMDNQfkd&Ov-LXD$ zb&y?jaz_r2k*JPFI^rZ)AJzPFFiv(K=lWqa2=Mya^Q3@SF}3);@Du+!4z=vQ0d5<{{*cGXCUZ7>W1IBd9*2 zm$^lIAPYmzvoKP9#NrNDMIi3JxuMrbNxdY&CMMg~M=bBClI%IW>LZqS6v%E8tPfe< zks!I*m@B(JWO+w{>;vfyS>BN#yBW$GQdSu?O!fLqWU%%+1doQeGL+AYA)s)*@p)WO0Y9Vm*(&JrDbJ#RaT;LzZ@ALH70U z4O!Ze7-4jXw)p|S&C&_g?0S93!H!%ET~c{`OwO+lIoMHw>_><8>M>-OO zj#Ya_H_9IID;Wea_f>azgMz5^tkJemup^BN8{nvv$O%5Yj#dL%aWF}C?(>F}b4Fp} znC}`5V-HF8hA-1Gyo96eq5PhzF0t~W7)m^&FmZb5t949FU03NCnuy4jvN(J(X^-Xj zKpe44QNt^V*8`MQ*ce_B2H8~1-tcm*O+x%JcLQ(uA{}GB36cE&a3Vwg{~wwn`TxAB z9a9O&|9=ko|DNjk)t%K;<=M(#R2r50Di>A`t!ycOqx_-r+spTq&o3XMz5aJzX|ed* z;@65FD89LP8>IjF!fy-TDSWc9QFue)j>5%-rNTkT|NrIuhw>e~0C){D0M_&A-1l>z z$-N`@#@y|>3*ZNE5cB|FMI=Bk`&9PE>^a%P@D9L_GJl6WfN#m%mw91kSLWdK&yWY; z1L;Qk(ezd66Vh|3-=>~TJ(C)yUYoi(_59S%R4)0$%+%@gYlzyCba^(1$*{ml zvfRLR^4!`{qHdL;Yj2o(q@>E@==d=82uYRWWl#?nR9clZB1WGNlT_TgE#tLQQq>k7 zuJ=$$mGv4W?+{d4>6VfYkyQIwBLa&C3;&ar+9kc_g*Aj&#if~blEFo zL|jRgy)xSE2rAuYsN`k6bDLIs*A zU}|ZBa>Y~Kl+Sp17g>RCe(<)N@4xw>yXMv)@PW>bk0cV1JF-TFq_;qdeH{DLfW4H? zQGGkVR!tqdKyhPqE0BhmfIPPb;VvMqWFB6Eb=;?JUxO3g0xl`gkfGm8`@)|> zW?Mik8~Mu;^*FuW?Q2sTTw_V4RdH9 z=hh&Y5tTcPirK+Zb$0t23{V)0W1x|u&g>#LMn#-mgJazSxC<9Rg#H{)DLDfgJnBG$ zm+=x@AVY=DkDg2&=~2FI^hC1d@qB{Za_9B;-@Gt_#04@G1+>YC6}24D=SL8>K!*;E z^03fOuzZ|OhMeWmMUY-LmF~?t88#(v>3I5dkK*}&ynXa|YA47dy(R4;y8`0e2$^KO zrM|VK5CZ@1fC!PuCklhy zu7C*B&jPs}(InDH!_1(F^P@Xy`GH80inK`g5Z@{C+~^LpX&?FPvuYGFfwX&jOf&Y8B$AR_tw5ECvDN1Z}hkk5OONN4Mf4x=gzetv-5PBx)Er zWONHs0|g+gZ;C}Sg{H;P&17Zp%L12MQgtkjZZc3d+j@O;quwsN!LB~KK?ljh@2;2M zc>g^Q+;hu=*IxhlL-*fYA6-u%EOc6M%OaT4l#Uih*Rg>FLx5o*#lFp8TOVC3i;^hY z)!rMC^h5PY5C$}IYafyH<6~IIVajygh@>AM!~AbH+Z&PeqcB2OVv6UBBg*`;Oqs92 z9F)?+>M=N?%r6=WvS!pcULU=f2f#1O8Z|N^0Z1!~JX%ai-WyTo7Y$^!kdgdD7@Q8m zSP)Tzdn1y66oy>=qU^gkdZFwal|u=xXmZUtSscAUM}fz!J_Mu7Waqf7I2NZsNZF_* z+Cyl$m=$`XOM<4$vm`o97wec9M!6`!?6*hTc_T^%BU=O;pe;tn9Z@P6g|WMkjLr{w zk7sg_at>QmWWk+hfN(`Ixw1Yw*8o{UDBRKWgBFow7Tt5|BTB|88%=5pnp#ugSI%DQ?Hx4Y3j_W#i>;Fx#}mXYj^?R#_E~XMd$#Yt9+ue zR(TC_0G?IZQAwBowfw2_r2ISOTguNbABrr1-z|NzG%5W~>88@zr5&Yo@wwt(7uSlf zDPCVZt>_lF6uw<}rZ6bHx^P|Lw1S)epZvG;AIp!B3Gk-;+4)2ADZ~SOGB<%gz^%FG z=XN3&;PAUzPp3E1zni`}eO7uA z`2ha~T7Z7)iPXzdC#B|+ze;{B`62iPJe<5dxjVTv@n4CrBtDdAB_2;)oj4(}9Ub1X zuntQs%RXRMsk#ka^Vea9_33;a3rPtJ>#)Hpx==2K6ax$EFu?kBX3(&Jw2lmrf-dF0 zkOV%zzEhHwVj)!e{5leo@Ym#vf|*@1zD8COL6#S*kjOc|j+7*VECsCHde`UI7bRJx z5f2q!TZca>e+?-{<|_$xt+tMb5CZ^@U8wc7byovWYH94udJAgna3S?e5SQW5=-1Za zKk5UdAtYSFf)3y|7>%6Q0OEW!8abx}#PJcX0v1%i4f6632Ecsk1B57Pv;nqL1(2d> zNK&n>!*J>YECPOQ9ad8xAVVX!B58b6^$;=ukiPH zR6~_7-ueyk!oqqU(KY37208=oW3>bF z>U-{fsQL5jnSji#4~@?JdRmcfyG3ms0c)agh?hcy2o+yjhd3PoxB_E-6ByWEe31Yd2>1$60bZH$AjqlnM8lA_-`2JOj4jC%Sp$lv9+7$J(j0OHNzJEnP7q^Yj z2rjHW9?)sSj(iUhTa_>PBeV$T*YE_PqSN@9T0RKbOjbJ8(D2T$J*>#`FbMDVYml+1?&VS@QJyj~&b_5}v}p&(;{ ziSmsWzE}f@<1e)R&#zsnDv%qrp{c(@kAA$|Iv!TSFcnK@QaBI(IItL5fuXYya`EgreK-R%<5*bc>~GVeKT1&iyyG z@Dl?%RuIM~)W6!=3918j_E}ilFA5+ZS!OSjJrS`=9iTkWQRbdoJ6_laNwFIlzJ)bJ zs`AJ7r8B>VFjYyn6i)L0BU^q>^8d#n|G#GH`l-{Vys2dMJIDYys6L4o08g#D)dXSy zK2{l2o~qnXIipgqB+B0@f1*4pKUKc2d}_H?`X9Uk_|a0o^hD{}(rG2Hlq~*B@tNYV z_!Q*-(~BP70r+;|V}()SwTJ~ct8hpmoqrD50N3)b!CQc5<#*(>xqr=lDz}k)L+-ZR zxw*se8sHBg|8HjBki9K?ZgyujpZR{~Q<-t*b(tG7ry(ZbH|ejZKb&r+A5On0y*qsn zvI2ZQ_1@H*Q+KB>P92k~B>xRQ0PjrxUh>xD*~vw`2=Hv;uiydjSmMgW@rh}4cVSHS z-X(aTQ#NOw)9{)Zlf75bEywB@31D`RVFMDfIMhNLwljv~Fz7h)aH84vTxX0tn*l-y zhejE28Wso&RkjF!&KMrUK+v^~RM^peIAgdAYlvu1oH2ZbH3aVup(}o#*(p3PVH}p_+m~}~T=knMpM5Yc zGvkT|uy(Sn1EQU*jS=4HHv)EBbHiI0ldvm>NgjBiQE)f&M+_< z2M7zpER5mh>mztBLU#sdjF3i2w;!y|7#3s=!CSw<`miDg2qBn62yKS*>ns6_?|Gs^ z!v3_4b z7vmo~aOT%p2&VptOVV%5=f@d`D<%(>*eXrl98fSMjs;%D|0Bkb){Q51b0y#LL z*4Nf=mfs7vObc(Y42+=xz{(pe0}Hy9H{fB*!$TGDhH6Y6-g6Xm+o3SOj>jAY*|zlN z*RNG%`{=UpOO3OSE(^azj=7w!zf?8e&(s!PxGejM0<4|CI{4nYFs=&d)`junfNo_? z7JWti#G2uSQCo+tmo1bytCHV`xMzO-g^DcC zI)k}c@I~=TGz@M2^Xn}564`d%*Vb9^C9?gvUsz|sR{*T6iF{DpeH37w9VCNNbde<7 zXdf~`3A*IHQ15E%7s%12x2U-Mu;@}-M;0jYJpf|*Lg!;`9Vws!0N*YR0E@rWLn?u1 zIMl@2I+8!B670+W9MuP#v+Df%*@`UJPiXV1t;4n}ijNUL*IE3f2Kw$#I)g2&v-m6M zG6l3wpI>M3SI~KH4ISO{>v-ow)Gs$Lqj{%_=Ftt`CIi&gPtgDt1JL|BUahAJs06Ox z;BUO`A;|X439l&%vYq`;P-Ho{#ez zEV{FW^*v$&VR{$dJ)&%JX$Rljs91 zLR@YAI1ON(K)m0fO0Z2JyMbeV_sJOwG0^-vyMYtgw!%sNe@kL{%ha<|ADLR6dd1XB zrcRuitNyC`HDmx-K?cAVRF|q#m7m}Rz(1|@E5BR0tMa1CNtMM)x%{*8x5}R`zqi~h zzq))|`Lgl}Ww)Fy{afivr4N@zr8k!DMNYueN{5vWz?*>If;YfBi+@;rw0LdtoZ?Z% z=OH)1vxQF;-c@)j@&jH2oxl-=1M>fs|0c8of1H0SvIJg}KQn(=ek%8~+&||&4$Z(H zpz<9=1&|v4Rvn*=Ht4t8dI3)AR&R4dNSeKhloNnaPpzqkUjh zqar-HGD{|6#UgS8-ZsHAmV$uZ5bw*?y=?;D1tyTbURxA1lbuuxih@&x+^pqxGd($! znkGo0qilMzBcOz2gXzg30Y#Yo{HDQ0L6ycWkh|)(NnH}4G+}~V4%;T4Bq%3WNtl_y z8G(x;cLt$Ek^P*RzzxAC3EiJ;z{~^=2muLe%b)F;30w~piTsa2^1p)9flrbzQV8yu znZVs3AW_o;_QCrmibShiqs#`B(BZjl0{?sQO?X?FnLyDZ2sm&<)_|D_R4hJ8ScBwY zJu`uFB_MHk{XRjh5|DJ+Xl4S1icbo}@KOxId|Y zB17sGN5ZVnrQuWx-@LX>60+G!T_9Kaw#gPn2w%o##?WDKVVJe>K{-8!@m`U{`d4E; zhS}by@RIN;FxV?f$YEf53{$_hYCd{I5hJZMCJ0AJRyCA5ap_%ov7v|0}`ViW|l-!3&adcU5z~Z4BePB5|+e z{bhO#m4hG{TBYgny#Xb3CE7NIo`Jtn!jRe|$M9?y1n9FvD!rL8vK^|Nh!t0bsc zUfG-J@h!4;=*}qs&flP?$FP@kB}CD6b<<;L2^1xCN=%QTA5au=x~u(V49$R|i0x19 zFJpw<`V{WJWRU6cbs8nywrc}QNL1c7h7v%PMkAnDYTNi_iXfMxKLQZ@#TSS-;9>S# z27zBuhzo-KZ46Q0r|A3Jw((V}8gW$#>VL5!gr{cf_{!7{DoY6^e!H#^b&#zrbe*0a zUmj3G_vq>IivmjM0zExOc4w{yrHS)QGSk-a3uOKB0wWjA*70TXcl3`~$^ZRQ@jERS z`du!}t>a6?@3e2x?{a_II=)!`9=7>Tk0Fp#i@;mq`_b0%h4Kr@-Eu^>jxUhEhi`$? zcgs%=`l>q)GDHg6)eYTdVG#g5%Zy@_Tcf^ zsYUum4xsG#!Q->U&vKk3S8pAkDcWRchqsQ;P``)vhppq&)$gI*;o$LUqWE1QtKGrl zQ`OJBVq~ock55rQ>r46I@yY6Enlp7dJ9vDO_&GcQ+r|)qsiV*jgt%+#_yo~LLocvx zykC5P+j;1+zikXdFO@{Xu)gNDjgJR`0}^Gpk{ten#(Ps92=rgD5Dyyfk-zGlb;iiP zwSz5z6dNhnT@HkZWOl|#y`>@eG?U9-A@Gz6BWSXh=t)U``3ppCO!6#KagPr5LKT6e zTRS)s4c4C}i$v~>k0k^m!srz*mGoHfs44^bwgdvRza)0sP(y2D$Ur+dP!iP8bx*bP zC=C$eEd_u; z1|8lER1=X}%STu{iM(1qz}iWq5cUCZhuIT>Yc!Bk%$^6PW-jmH()G1#bb2DsQOV4L!jAii1diAC*5}{@Vwm5bKk&Afn($dxF>gc?u6V7as+%S z`@ZZS;WtJO$Qk(U?n@n&QWygacF!$E)BH}JC3 z9KFUznq@5hJrquR*F$&S`SA5OZQsC)N;+{jCxTYQ+gEN**HuhAS^6l zt`X`QM$By>6obk@0J1pb_h{eGZ5%48wAIlSV7ErCZR|)L>!}Qk6#Og3;(=@LdFa7A z@44rW`3K@p}VmZKICT)l*cvNP*77;(xw<14<8$ zp+&SZe|>!L_521DA0CYjdJaVn$EgS8*$w0+ATsHZs9(DR+V%}(CGapsoR*u2TC28i zASZz!(oqNEp5V*bjd_%cFD<3cZp=xV8t34<`3(eHc*Gm969`2(0{;At&Tk;p0wci< z5_>6LZPLgHwD8H8XK?b8PKHiIk#XQq=(|R)Z9p%wL(P$pHo5S-Z@%`X`(OU>&CUjL za0~M~LjTlOPUS1a{Kmmh;t~%*uHZ4*t&?jT;N zZXg%kPMS8OI3Tr?Amq0s+u+B;GJOhkYQ(a-{08BBpgSAzJ=qC6 zBIi;Sjnsk?8Bq}k&R!r8T4*EJQAQn92C^T}nW*RZ;u1K6@RykUegW;T$xV3urNlw~q>_D*k*8iq)S z#}9cb&1|IQN4PxEC5i?>YFjoCWidK`eP#op6-?WQ zEmi1z znRs@BoB@)84KAcvn4KV10BG1W$yqa`+?t&rLx4{c-zf=rc5)rlAT#rZ%k|0CJUc-; z0DOl_2e?VuOP=B8!3Y3E1?Br_I z4)VnlXP4AY%}%cJX{6xgnelf4MDvRxDM1Qde0(mLogj!mpa}_2);B#N{SEhx^lJ2# z((6qwhm4CH154@=Xn%o``i9mD4Hi|TlrGZ~Qs3YTi4`PwL^-_ElNW$O883o-!eWcs zHi5?lQI-(Quh&04xm11v?&a+@7<2^N&tlk+$46c*)TTT=fqw;&=snwzC_6K`2p`Fq zO0(G);v=#ULIERWSIN}VlM4b$NE(}-ur`OjS*FC;!TvZsIZu6qhU+`-%ml6zTo2X7 z)2G@!GkLy7606%^Smy+!FhkEw5DTvglmjmHUo#W9NeB|%=$TdI#Li6c7M3E(k&x50 zZE^-FJg9ZT_dqej^yGBeDY^%QyL(zdF}e#^2ri5+>7lc8+vF5k4{d+MK|XK6_n*HZ z2OB;=lxlVYuYaGy>@8V;+l2K!Xf(dj$9vlZ&JOAmZnHn6aB~oZs7VbD4n9eYoBtJD z8v+s+D4Q@dfsE*r#Ps=_2Sh|g3Qynk1QMbk!7|M)_dB~wqv-3L<&$CkPnEt``fTZsOK&ROQ@X6QtF*QFb7TbkE5rf(4srrsP&^J&|1S#P zD15XqLRP@L3YQi36lU}Po&T5oC-a;6-_PHbza+mqKa=}S?pfIUh0On=-2U8rZVO%r z{0v?Qcw6?7?A6(mvmP=6{4n$PnfGM=DDyz(^33s>+4Qf|-%LM~9;IK0mja%jJ|bOC z{Ur4dsXxJ60S~3Fgsp!r`QOQBlOIp6Cx18j^5pr+Ba`LCPZFO?ybmu1Jc_&kCu0~Q zf7>^a_kT`g&4P2F6d#omVDrQf5m$#m@|@emi)M36V0_A~Lt?>RP1K#++;32I$$NGa zTrNJ9rLojM0S| zGC%T-1#>XJd5B3CX+s2i%xx~piq+S9S+ynSWz{N*ZiiZO2+9<=O|qHf{N!h z@opG*m=1p;BRP=I8grYDLFIgU{v_25sy@)$HxU98Dp_mQ+$J6e6GZHxB(;WlW6q#* z+B&~lJO>u~Hq5ZI234Pixy>1!3YHGnJ8e+I^=>n$;d-|kRK4EWO?YB(n~}5(aZP%y zvzyQ`Xf(af*-a=HG@4%H>?WKsG@4%D_Dy6uoP#2VbZfNN=xn@w6R|8hQRm{>O{fwS z5jltSmde)@`3IbYa-`T#2D3v+NZw=9aZhCqTW;T(Lfryl+k?bu&eKVWz&yXY<8I9FvHlZ2N zNcieF$#659@X*jmtf5j%4`C>C{5%T;dDxHkXhm+{gmPdGPF-{rCZeuT-oA<86P>7Q zlxH`g9|#eHKFn_Xzl^;Hm}EzF_OH&lM|r#Iu5wPRoz({AoP~1EIp-Wf7DggSB!f&6 z#w5*7Pw1KH?&-8EvV{pY*<>(af-wlp2bkcG@0{v;Z@ur8|KIoD2eI({RMn@#t?<^V zQz8%q;_sl#XjyMzmuO6hzeb>PgUU>Vf~i+Z|J283G@6`FTuyF{zNx9lm~wSbiAWHq zmAu!&&}FAYB|wN{v6&K?Adon4Qg}V5(>^*G{-&7{odDQcZ2T$l;6NswCTb2dB`zGm z#!t$Hon}gWIFLaznkjMOKn6N}V@d=AU@$_im=Z4zkHAPfC4xa93XZ(WBc3Z|}1Qs`TD>I$u3`5d+8b>gRPaydh8 zn#&l{C_Z&5LmWWtl!yy~M)uShT~{O2;-W4Dy6%bRI(&+cj)-J9REY>}kQ21OSY()tC0F< z)J5Kndy_=`!?d#a#m;zIZ)-bsBtw~0{3>|r2+3E^Af4KkSWN{}^47LH#g#&?(XR>{ z(@yC|R7FUo@;CNfJ9TIX!*guxV7mW*b;|ht|7{azOst;Ry8hex*XyJD`y>M3_4SkL z`_wCP2jB~}cI|KF9l*is7H&^ejo>yHj=l*}Je7o||$_M2&z?&!~!gfzyCkw7xI6Tzb}7b{?Pmm`Bd&l5)EKu?wQ=3 zxwGX}fEC$4X1|?%A^ZO9UrRi|Q?mPK>zQ9=zLM!>-j#VYbETa6?~y4=On`q*FQ(s? zelUGW`tbD5=}hY1QZJ@vHZlAM(@rvo$|971)JX=O@{g)VLTr&N z>Y&F?uf-qLF&DltJFQL$aZ33TptGClHJGi;l9=rzW~*BZn971_Cly523gsVFuY~wV zlHz^?zvVA^Q}VM)d( zPe`3c0F=uqzC*FOl9qpTPyA8Zn*`J1kKhv~hVNi{_XOo1-3@WMEqS(O}wX17T7<<>aoi1N^K~&R9ZY#2E|4jLo!M#z08z z=9GcxM|FWi{nIG}K>0@{4u;Q{H&13-ybuu5k2+Z(%2vKL{!u3j0OcQ*$G?5P$uH6A z0zN7HsGXL#zTPofd}!gjj!eT9tw5JCv08#RSt6&@L}i`=;dy1fNv8!#b+o z8c>}rxgM%WWpJRGds<#Vh;!DBBG;0_+0rDx6=~30wMpTcoHClpA4qcSO@Z%;%X|GPBBf??iLA3wY%~0 z1f|;DC|(8LCRvwbQ8$WP0Ya+XjpA2;kczrd;!+^QqHcTy43hOI7iQzb3Ce|eC_%X} z4}wWAllLCLq>1%vupHV>pAorP@8FHUdMFCP$pSckYQVol$ zST%(>Wpb6ZQ8fjmSX8_5Iy6b1f1wXRyb~}f7e?F@5OQH8ydpv>jLHeIK`-ksDklI< z^p`6V6blnQ1yz#0zy332sWyopnG~fFHwEt1h)^1cqL0?Xh z%PjhUsBTW9O{U#=4ny_6j3g$z@$3YYDbT~S5)kAByYWnf^6)oQQm|3ggxDY*{HeRB zngG;Ar;pC>f{m&s5QWkN8&6A8P}}UrQ`IOpTgygDwy4xNr!YikVY5;71WXCD=f;yD zp>zxG4-)%7PAHK3gDMJ9t^&C~9Ir(Qjn!2Gi7Fe9OHe*RI~J(;jEifaH#pd+x+i3>rhY^HLJxYq5%G&@=19G;0=}AD`!?FE8EKX|F_B?k#_)|lJoyl%LkOVEd8eRwbG#UoV)~Z zt=#(Gqf{vVtoXU&eDN*Cdx{qn4=wH_Zvp(c@Q;Pr!kY{C6wWKG7mxox=D(BwNdEnD z-~R@Q2Dq>I{Qp93`?qp$%RP|0BzHt^=UgWHZ}J|%boS}&?b$Q32WGd*{3i3&Oh5B( z+5cabIYRFFr_w)4zbG*Q-ULUO40zE>$NjR*~%v(Z-&G|mTj)X zq;f%wpj=YIqu=WV8Wh zyp>JoV1Sqgv8Hn{5I@hc8-P5nhFiO)TxO781`2&6XgUo6DKv4=+}Wj-uBZ<*ssA`k zF+p>uB$amXy>3TWl|HR|Zzw!^Z94w~=e9V`7-!<9lMn#Huxpx5LJ)06pAyqI-FySt zrgc9#X3}eEN!K(w=Sf0Y=E!Ld*MCF%j2w09Z3OpZ7f#_Tn=6tSmn$oq+b1x&hXhTh zB1D;s(+usro7-w70(JLfqGN&PHVKMze9+uFLAftGB>{4VstTH0Qc{^Usb!s%5GPf& z0IRvK)eMv}c1l7B_1QlD44jex6q_MvIwc{dGO3bL@|0ryv-;dU8|9<~Op6vfDM6+m zi7V?`7zPa6l$e--&P`)TD`(quT7o#;$|_boDrxSrO{XPzh*Oto%AEws)}_>KGSpzB zDZwFtLH(JgM2CowxB=j4y=ls&1Yp>`gXR`mJ35w%Yk?kRP(PY}JVB{ur(czzXsn$c z%LqPaFgKW1-vj@%@>(Ix0>Sj735w0Va{3YdZX%Oi9YK4qoPIcoaZzZeAJS%%)N(sx z>>2GF+)S$r0zfd?PRr|w5mUE%I!l_qpW!-aHamSE!?l#{y$spddjQH1gD07G`fh?e zUrmoS1bG2eiYbwV*aK{OtRcjdJMZ)zVa9T5Cf#0Kt+9&K9YL#T3~^6rrsWocV^Tlj zjDu}zrf(&NEo!I7>VfX|(JP>&l9qo|E;+>Z3Zx&s46>C7TZtb9@j&Bmv0gNN3H+!=>w`)%(-*^! z3Zx&s2!B-iAD2|!5u)nV>$P0c3-CwT!PHEjk3TA(6Smq|I~X4@$|aG+kIK7*(U0mC zlEjaW#e+C4m-KA^qwe+z{^(hl?aSozGZU0cdWJ8l&X@S3!Sq->2rWv;I>GcpHlM|GG)TsyIxrfZrSQ;~}?g)@Ewc81pt*kWp zN1b{QWh<0_^f)XjukFmVx+KIu$_vJ6c@xkxxgrAdPcZHFt>JH~zXDt2_N_qCBHjN# zk!p>I>+h^TQomeY0NAyjtNm1B0M6ImTD!M)er-d| zRR3K4UiD+u4_03zZvdWL-M3ni*ngj|%vau0xu2*m4dBMyDY^Y~_3W>*U&?l}f17DNW zpj;g1U=SH4@2JD)y>iCs1ad9a?QPw4LRjmqoY_}bpMWPZHp0r8eUcbm_<|WH6+mio zPMdL30Z=ZJlL~;Mre$aLa32Yn?MLpFGfpUolB&NVISS7>p#bo~;1CwfIH3S2iBmI9 zC{U^w3gttfwbG0e3V@=Z6U^-7TFIxy-eG5)PylIRyC2LrX9EXy0n2-OJL8lBpfIDD z8K)EoR8L5Kz1>%onUSyuu64%@gGq;UY05m~korq(*@+m~korQuyUy#;F8ANv@o6DnUr) zWbPp75_ZP<8+bTLP;VlPuRO^vUj{~kP9um@O5jpoSUXeWlaNTJDBHm@hMbbf;_y0UrQ%P{=%%I38%!_ZAvHm^xy{5XQ<)l_Eb z7dUn|omddtEi!|QFHxTfnocZ0N~O9Y{$V|Z*WL_v1x@E{po#UoLHEMc6izTeDn*V? zLTpp7FSv#Z(?U|)bb0|Kg_J?_;;6VTrEFbcS`L~{F^H22g#ralrx+lG4=89lhXbVa z3F!rfvBlE7(!oHcv`xLhfDr1*Hl4eH%h#n`P1!odAcpeEV=bLc*-GFNm>ZhT-2hU; zZw5`L7&s{7h>R!vX*$IKssGWS=@bKjGBW9jwX4FY;ew`941n@i;@l08LUDrTsbSNN za~6eAVh< zh9}c_eKTk}uLGdCWC)th>i{TTA<_N+Yg4<7{r{)s{QvfeGbbkH{{Qdm->h${|6Tow z`gIBa|A%Uq)Q%AU|BU$mzgTTn-&nn?dXB{X+rILL%C{<;hi{W|wAxy`u`NaVlU zl?SJQ*^bLq#^ z*Q8HQuS##5`h$1^d?K|m^+t*RcVX&qsSf|AF)Kk+18p>s_C$Blo^;2Z_gweDU3WBQ zC2A@l{oGE#I~wm zgNNfUG=}Qe0B}83fvOcDbbjbmN>wXDs6GhpNGr}()rt`6ZjB96zXlHzDb=qbg1YIU za;^d>i$8aG7yf2rRs%GykxRyMJRfeeVzfUZG^R1TAEMPdS;nbcc*Zb8YX23p^1?*? zTkdXdm}teUJTVayx5^30_Op9s_J|48WMg*E$OKV4<+`jlVa4noQErN$RaeaJ4#Z8i zvDp%OQGZ7l$I=(*8{QQW_OHgQybS77Imehd!<`Ay=e-jl_!=9tI}!pjR?JGEMgLn+ z= z5M!nh4t$s1f8WZ zy9J^R&{rBWk0Wvtag^bV#y5z~aNc4uk_RaOK}TuK$cq#nISn>WB~Ma#gwt4KM&8W? zL>bDHnI1V`(KthSEfWwHc}9XCdPGChj6^>K1mAvRM#3Kg0y9?3+~J{BkHz#=zkE*s1v~&iNmH5eMAaK z9Ifa@1l=R*N+WqVymIDt&00cwY4+~DJyx7=bBR4>#rf6*WySfH1Vvw%U`Dk9{9!lL zg?>{jXKr$4iNzYbRs3iuxKS{pVu6MajxZ`J!Hg3N^h7|8Kr|$yF6|>xFPL%n5s*ql zMAXi>`v`L6AZMR1J2RYd9t8s30hg>IP#p?pt`Vc+<1e9nD&TYiNJ~1;jKoaDv{)WH zBS8}p^1+RBDe(EC@)689jUa+jU2Kxm2!OIlP9yM?O>!E6hisC&k>DYl#~Jp0Y_!A@Gn*ateWmY?5;-h@kra>qi^8@Xct9gSc7M-$*~)m}-mzq-?Mg z34G3M@R``Gd~ejwIE}!kWP_bX5J6e7vq?@P0LmsguL4imBzGghL$1S9(B4T>27?(V z5JV~EsE2f+87B|`MK}Fm#t8&K(coal2?Rj#pw7-5k48zP0~j~$jPon-Nl_lKGskjD zEbDmxzj}*_f1CKsL~G*h6Aw>ZF>&0)-V-(P0QeVC0N!7JN+JNBRbN-PwZGJURQt!; zocI9TU%OZ|fL+`jfX`PKtIt*+u3la}rn*P9RQW~aiuCAO=*{4z~|GNBD zi30H6@)PCj$|sfgD^JKRfPX0sOYe2J08T9JQ>w;(0FM=~DjqK{|5Xbw6~0thmN)>f zDqK@Iv9NEUp8wDM*YZPo_wUtm58%}ND)9vPUGAH?7eoViDtBw{tlV08_3zKw?`J=m z-I#qw;{TtYJtVtBHkJ8N=EY1i^Ty0w^5)-$jFmWm-%o!sy)pfC`i}J3>9y$<@m+w| zrfx}{o?7j<|H=Pl=d>?t^m_TAWmhov$qT1tJEwgaAuKrT-02LR!(N>76%27hX6Ljg zL$>ZxNt{x9GD28@+d1vYA=E*B4H#tR^lpuZ2LrQn>Kzj?aT8)=^==J7HdgP}0Aype z6C)&JwG#t$^K)2CGpEim9@6rC?igaYm9TT_sv-KKoJY7b65Qe0IStlV{DJi_P8&wb7R3Hh9n})>0OQ}S4qiDqAnT$xk<*7 zN1QD-iJ6m7qma^FqKYeBgFpCOv4@zswZw3hY~~JP2G!b_ljk$zJmr+!*NvHzr)5H< z2k1_Qtx*?T(ZL&5YI?@m{S?VGZf{_oXQ}c@zAW!6%i8|k_UBlt^mj>)wu#8m}=+LxdI>$ z>grtKAr0zwPMs?Nq6A^*)VTtn^Fxp8T%9Wrl0jL9Jmjly1*F93+s>(P1wd{}y@25% zPnR0@5g3?bW;N`iXVe8|Uq#Ga{EEsrt5+|gbT1RJ)vW>`Svso`96TgTXCEO(bIk0+ z#HiEFYRpH?)1BGK=m?+AtX{YPCPUF=SPC<%F&{nCGt$*DyPuhSsy>~@e1vrPsm`h^ zg=g+)F3wY3DS+YUKYKSZF1x%F0qNXuNZ~z^FIfLX0NZS&jMV)6u{%dlNHizZ;3sbU1qhGn~3+^?HT>J^Yl+>~+kjUalqP zd=KKfzJ?jqi{7m8zc)$sauqR}@@B7O2B#QiRvwOkJYBfO(3ZyR&l?*e4+9ER9)t?Gq5xNn`e6L^u*QW-lTHHPV>9kPuWzV^&^`@V|vRdSh0e z{R9Nn(U_HoBLG1!Y0S#Y5gy@3*O-;3BLG1kY0REYh-yP#kAPHE8)qUy!M-so&qw%F z?mA^$^YRcVAgT>{Kf)tigfwR50SQ1<8}fn#AgT>{Lc$|l{_Fn#$<&_X^Z%KNw@y4T zaoNN%6MIaQ>c6OevEHq}tNzOR)%D}+d)AA!f3JN`ZUDTcc8|RMx4zb>{;~S)>I>Ds zufDo^UG>E3-qo_)0QjfMLgjDd-M@<~M^<*Pl*+#>f4SV32!MYjd;gQm`$GhP$4l3g zPAKhNs>rKZy^nbr}J@xC z)A))av#R{;?o)>?Y3J4N1|WV9c3%B%5JJ1ydG)&i=zLG(Y*kW2NGY8R;SF+nbez)3 z5CAEqlOa6B{%Yr)3;~c*IvK)4oFeSJlOX_7N+&~jh-+s%e=?WTc^k(?aXN%gNz1@_ zr$Ydw-*h^Jhd6NCd8b1Fq?AsF@DP_Pc3#CaXcZiT&AbyL;*`$MI4p^oKU&6apAdVH znLmmcb|5o&d5t^?jMAw9;Td)rGp_;!Fi6*! zKTyV3&%nK)F~5osq_Xn|_^u?^3gxvRzf86B`zIhw5O#h)hPbe@^ZO!rGB?y5RM33#$+TjMAwP0Zi&HUUAQ>5CIJ4V>7Qp zglFhgV&+wd04BfZ^Hd>X%=GBdIe*7?st^H;eouu6&zxsvoKA%ZV9@?%UWEwH)Ri!D znKAP!M0mCq)=_3&g$U1ZIydtwL;$07Dnvv~f(Q^(Ap#hb&(3cbH?C}nWda04?fkY0 zNF7S0h$vS{i3?pjuTlg;O1Tw5Id}4vW9PR_KuS5m5Y<3CUuTGY(azTrkg`=h!doj| z%4m@45eQ*jX6IFpKuBMe>Jb2Oh_mymM<67FRF43N8zDQddIUmhPt_v;lIzC2x@UNZ z_LzB%D+!D`bD9_rxhh8ZbmT@duVRE}G~~{y7y%4^uQ8`S8lK^hJEuMx9#Jaw(GVm) z0&*IHGHYW_eKf`>;b*sE?h)~3h!84YjX8DE7!wh7IX`vLh!NItF!!JwrOH``dmuwk z*xeyvIAjEKdaZ*fe5k>kUh5zVa{_XtkT;ZM8PUMr*0cU zC*>6yjcdb_x@s049t`8AnbSZJp5eaV%w0x|)~Iur5+nU$MJEZh@MVC(eZ`!-cKVdZHRJqVZLS*2eMCbZM>p77M z7hxh1mY^c-oZCqHQ)#S8JLfi%0Kt;+{(sxZ|NohZJ15SWSU1tA|Ed1n`p4?e*PpK6 zSwFYFp&rQT{|{>~)@EvNmIweB)()%fBsTzlQvGbTRef9af$GK8!>c=0)0Ka#d|F-r zd{gCai2<;oV$1(s{(kur<>$+7U2b8uh{=WF_ z;zx@gD!#6GTk)*$1;FnYK3UjUc&2b?;he%ci2?Yh{CD#o%YP{U+Wal~(equ5*X=<|{d$n1uo<-U>JL(!Cxh1c35snTv@~7_q^0ADprx)oNO5@=wA8f+DK1}v zmb&&3rSfXX5TrCOwDbZHQAlfBp%NiZ*ZPL6dxIxhG1(dK|}Ep%M{6Ty@)4s6<2%XDQnXm52!92w_?$=;$$i z15zphM=RS3g$PZkeu*xAU|a{G5D`JHpiqd2AXkt^uLyrqeJxRKuq}0o0LT@jE)f8^ zg487fAXkvOL;&Op(n}x!xq?DDA}k6D)V8HA5m7=tlBEVymk5AdLFy6#kSj=CB0Nk~ zklq3T$Q7iwKmc+D=`9d|TtRvZ1Rz(C-U0#06%^_cu7bjV2GP9L0$oDhp(FqFmO4gA zrYc)1gSs;3|HHx<;4ldpq)%hy(Gf!sOezU+GuS%-h#OX zmQA1UjE&YdgrHU$t*r?`rP!8NCG_I=8g6&5N{k_xVq0F7a1i&^w&hicF{G4Um2ePi z+qS$aF@}`Vs}c_4-rBajDlvwX(yI~B#lO0P;N9EaM7hX=1pj3K4;s)U0m zg4>pQNkpwI+2V=5ZK;<8K$O94OT8oz(r;=63V=MYXaov`m~#GchA4&Gd5u5;Dc4a- z^^^ceeP~`iB@j}|M;THdntvn#DWwLWfNZG`&1(P(gp^VPPynPpH2**XQp)=oQXiVX zF99K?nOBbq|C@Y@q8<~#D4lvtc!nLw%&W%)FiNK$6P{uBG4tv%0gTeA$Ao9tdCa_e zOaP;F>M`LNb{#XX9uvSQoq9}oh8@SutH%T|N~azZo?*8!^Xf4HjMAycglE`k%)EL` z0Hbv3G2t0@88fdQ6Tl!{WBzIwcqJSF4A=8l5rR~9-iZ(6HI5w3@|ZlYcSfS0)B6sP zshz((0b#zi^Oq$c{ifa+fo!pec3y9cAf#;d#t1^n_9BL~Vx7M*0jVf@Uj(wnQ%O6o z_eDIUFQJl=uIhtvx8d z|A))&KUMu<^;6Z2)u*d>RL_?C|0~@4e=k(tUwKXChRVs6eJfQt{r^IFsr+pDq4K5W zBg#9KQ>7o4K2@47JyW_fe*f<~viJXB@u}j?#a9$p6}K$>XZ-%(RdV*fN1-5h|390b z%fC5)cmCY`y8H^+`F~4p{=YBxMDAKS`QIy7%Kkk2`D`ou*6e-R3&rO@$ozNadzp_( z{J$qNH)c+eTmLoL_kS_nPCqNJ|6QCuEWJbOFR6c(JO3X}y)JcY>WtK+R6+D7Sh&P* zX(foQ=vi3R3sDQ|Q;R~;)5b1DEf_&q;@E|#1w)9=b#@_Y!4Tp~HCO;)KrgsaKMoc^ z7;uzig9Q)<#uRJ{7C;zq6dfXi1rP?5vgEJ;!hoYV;sy&K3^t#M529Ci>o=K zAAGQ&*M5+qS7flD*M4FuzM&||2MZb+1S!cg3mO^(DakVn8X5#Cju*j#-uywz^{h94 zh*CZ4%^#p5mHOc=SkRk4NV%>wGzd}3Swn*$<+{?)AV_hO6D(+G5TrP#1PdBg6e(^j zf&~q8NffNI3!zdlZeMw^92VbpAyf)t2q}XF4RRUhD~oKdWesvkl+tRDOQhVJHOM8< zL~lMgLAixCBq+Dg`XnW*)+H#n&|0K&D8&8spakXqx+X!nzfLA7*QAEJjB7)F7ggwB z;lKptn$%F2kTy}12P7!hlxuSD1m&9CD?z!udorc+ z+J#6*kg-f76jKb7g-AyTA%6&wju1g8tX+t7gb-qB>_Vg?gpdoPF)qXAk(;|53L{w1 z7?()7)98zuNVy_3$R*H3MXU@L8qO#U9OuV4yAUwM<+5F{47rv}0#YqC7-B7%g-BEg z4T8OVu&_N8Wu3;81Z#tZ?GhBL!7fBj51Ox}#UHf`k<&v6F<-k7IX#3B>)tLz@GNhAZbNTVJ=q!US3?Dk)|gEYuSe^9>eiOeq#juux4~ z1m)p0m7v_6BBj9w6eoY%inIpJSklr$ zwiRg&5hRl$ts#Wyvu9h8)(}G6ZrWC)HH46yR$7tP5JAumZ7b3mLP&kMbw3tVq+FVD zTFxnAyw;qQs1cJin4WS zJhpXX0>W>aR-{0ee&W`N((|sz zsPA2`)P7mx{eN2G|9!eTQ+-qQ?&^8f4OLtDbLG30k5)dA*#CFS?=C+s-v6hRSCzMs z7XZFh`bg=6rPr2jDV<(gUD~GjyW%&Bn~Lu%zPfmQ@#Nxu#kwc}Un>j??=AdQ;aa)* zzfYkm-v3|9ck}PeKbpTnqW|rlFXa9`_xap{djas`+~K*Ma%p)1@YC6u?3?7?|9ROB zSt}aA_cNc!JfC@e=C;h4nKha1(*KqIPWof%52s(BzCC?b`k?go68Z1j@&@3CQ?F0m zo;o|VRw^R;(^$MhBq#aec~w55GT0BlM@gJl|^+vz~3Z;)cF7)UKp~ACnO*lq}~UZ zk_=Ms1B7IddLJMpgVg%~Aa@Y;K0rtY9hHD&kZKB;k_=K!0U;T5I72#lUpy=U$)H0M zkPJE`0m-0)6Oatrzz~l+?c(|bB!krb0LqD1@a>|yA0Q-y)cpV<8Kmw907-gYoJ>G6 zXmtWo4IP+(WYDSvB!dnJp{!u^7CRfXe*%(0>V%+0iBgh5`z9b6v`+$(L3@W#j}atm zTBI+k6N3I`2yv}v7u5*?Ag!tvRXhMltExp64?H9x+AQkz2oG`jZWi@=1TdHt%%Wb8 z@C+BNc5!F;K~ZM8kUKHtLhi_r3%LVBE~Kgkkv*!Z!>nKzRW(2eC9#XD8UUnC)uO5f z9MjCI-n!K_|fBV$q+1p zIxwctgux=H18d~vZ{DCTf;!+R_M2dF3%}iS6nF8#!s7`_hj?1H90rUY! zu}j(o&VTtsK6yJ@tgmpus(0bG1f(jwl_579NCWz#+-x8XD8w()E`T(kkXr_%f$`01 zwDtxxNO!ItnuW+aLH4|w5;n`h0w@C_;w4WPK^btAKDPx>1{~$j4U_>#`Evthz)>1r z7W5H}xEHEFK9na|xFSKhM`(OYOv^n&<69!-9s%lrT7^AA_y4bzfOld1zh@^Now$19 z#EJdn1;F3R3jiOff2jVt`fYLizyI$W01s9#tsYg~ty-x3yza-mmvkHr7GT2z4j3R~uX zoBu|BbN>DLC-XNa?f|?#ce}g+ur6n^|DFBU?5DEL|A!9nt@I1&_orWzzA=4j`hfJ7 zso$o)k=mSkf9lE9&Hs=1e@oX(pOi^ek5yKSBDESmFSDdxF&<(7W3!}QF`nU~!Yrv* zjAs-Ndg*Fn=(ul|t|I2%-UufovvegfbWv$6h1y0`2>)5xrAXV*Gx>xrX_r)l5<4}N zphE0~c1gRLLaCKQRQtk3`O+l`h>P;2ixUtRKt-cY>kL7bnIr9P8xSw2YJA6Ea{UPT1-ty z-ejBL?3 z555d^H*HDdJOCqG4rfNT=*0@34!;hwbSN{j|1~9}rSXb$&nyZEKf8 z3B%Qz&QZ|1b}5uFVhHVPmqH06hGbAEVZ@LO3MGsfl0l(_5kVe-LkS~>WKbw!#E=XM zC5#x7L7{{ZLomoJ>2(UNK6&#_CUTUE&5~ZH00!omB@H?W46HFrp?(qN3C5VEP``*6 z*%Im(A>+|9)Gs1NwuJgc#K@L9*@^A}W=TU%`ZBoq+wn|MCB}Wc!i;Rump6Q#*pJOp zi5b;Pkr~xXff#mTvy^8>w&a*my=Z6$Zzo=rF-sX{WJ{VD_FuE4p&fjl6rgoULpuON zTNX9612C+Y#aA&yTNYm#GTGRQ&l+o5j}gOtrdfQH7zzMp@eyLU|2K;d6QdpI;zPt} z>|T5j8HtZ(@d09}J(|V)iP5;es8J@h&Rp5aW7aI{oe9ryM{5@EA%^?P#^T-K`0Vn; z>TE3Dg$Qe``cs(KLu`3p@ll%NyFqaA@qZNzS zB7v`X#o{$c=!f)eE|Np!GgZhj0+4@`S z57aNMA6?&F;{W|e?F+R|?VYv9YFE{ctL<4UR{y>Fx$1oNE!BI(17Ll%;cftYtnz&2 z>B?P|^DBo|cB*8{Kb1EC=gV&`-&ek{d}w)x@)o5Zls;K{zV!OiZKX3yYvcvM-xa?e zdH`HkJW*o*mkYlve6i4x_Cgdr2$WHvvH}l@;w9 zf#BVu73~{<;62(E?dySH$nq6!?M;yd=vuX+t-UEC?rF(zUbF3M#>*vrJa>bN`p`XX z`)Y#X>fk?E+rBCRVVJgUb##&b7G^ts2P6JXb#wuU3r*V&HHIi9er2{DY78-i?r+Z_C)swWE<_L~CEE_wg$Sa`YTKc@5J41KZ97yKB8c;uZHMYY z1aUKB+o2al1W_do+ImAnsz4uFnv^M)3L3Qah6YfY(S!E!35s)i&^|6faaIr7$0jLs zzMy?ff^vZ(Uy9IXnr+*m*bo&61@iWhn5{bhgNzxpk4RE7NiS%`RUv7yM+9xXpaC>d zQF=iGDOZ$U&_K!+r57}al2v*^11a{lpsg1)kYaZW+Im3)DfYLZtrs+qqHJ&5kynLl zf=ODP*mmSq5kg#_*mmSq5kg#{*mmSq5kg#}*mmSq5khP{+m5^{A_%o)+8Wpa%0hiY zFJ{Cnarhs!^c(~xb4 z>O=%lXR_^3oroX>y=jN)LkW~03&AbI#4Gn^nqsY2%p_glPxZ->qmA)-{FbA>~+fN!)z z=ZX+Ps-RsCTV5Bka-Tt-VD?4^?NWlG8-LI)CMZfJL0i2nT#bo>FJe5q)VI~kf++P? z^|C;^9z7-6>Scix-7AB(dRY*q@~W2wQVhQnwAIT3DK4Lbwt86*g{6~SdVIW`ojhn< zUg~#CuS!6$$t;C}g{IU8!=Rg(rBJYl7^MpZi!r0I%`An2MZ_pwC|EcqyJh;lP_T#? zr3(d%F{AEmmO{ZIVvw$}qz{Kmy*VFR^4@PO-A9O0-3y4$avDqb5TaC}SmAz)sZ ziWMQERH0bm5LIMj=??fU8UOs(VVBg6Ld!Ki=M{G#gz82C5JzLXq;3=dag}M8)Q!SJ zjytuaZWI7iP}! zQ|qhhTi1S9`)2Kh+6QV+)o!VsQCm~nUS0tBZuR5U=c{j!7y##p0$?luyYhp|KUA6$ z0q~y61(ic8E6aZ=|DgP-^2YMhS)yPU)j^2jHpF&81hA4wMLhzZC^w zRQ$W*6UFO_Cl&WC)(XFp)Bokdy9$rV3joJT6o6v>=lOrix8)ANWBF_HC*}9gZzUSQ zw{jnq2!L}Rs`*}us?kiA4yfL%oe_;;rQyd(2y=E}@*nY}WV z^e-hAKqvi<^dsrZ(?_RwPZv`Ep89-hA@#P@L#fMC$E0?TE&+`HwjI6avqAPg@;tj< z1;9&VrgN7psXWAIni?JLdcx#ECH?kc^lfys>v;s9sqJXj3y})+xJI@e?Ro%liEKOC z^$=o@?r7Hohzn%f(XJbH~xI)nz z^d0r2h+r}{N9Q_$>$R>Yo|T%MjlHw;feGd`fyZ%XU=l0Ei!v>8Llw`n3{w zOUf^C%3)n+I_gaU3@X-iG{UK8xT-Uq%ZcHl&UEyqh);(LRMXL$BA(%z*mU%!2r#gv z(b1P#JcC*@or~gRWA)GvXr^-^G3->Pa{)8>Inz0x76-mW|E{h_F{SI>#fzPTA-j zhY0&*qjM}FFk?mM7!@YnXC>`PJyKmI#zfvjB=7b{=cqVCjh>5QRp&@TuzIweBlP=L z0cVZ4xrx*XL$2){o`A3_wVlHf5SM?QLmA?csqGw+fMBcb9Grk;(1rvggVrY?8MKZe zo}1dv+5{wnRIh*Ali=J0zpVM zq+S#V;nTAnl_~&oH&LkqA$>?HRUo8_SE&LZE+}nBy(kb;C8!q#LKqHgN4+QzQVpq2 z0TBHeZAWzqgj7SSQy`=oQk?=I9&X!?>J$j6hE%6O2sLCn>PF!qP8_DAZWO?veoRMI z3Sdw@rlW2Yz@TPF!iYDT7` zZWO@C7ImWlMz*LM1u(Kj-6(*OE$T+$89lMmQ8x-;WQ)2{03%z}jRF|iqHYwx$QE^@ z@C-)|(@{4HU}THBQ2;|*+UiCD3~gzv8wD`5rLC%jXE>jkwyF}q(3ZBU62Qn7RV9Ft zEviZYBU@CJ@C?T&(^gdi7}=t#1TeBi-6(*8EseIy62jd1?i!q^8f}#&VuY*2Mq6cx z7~#2Nqph+;gebaRqph+;jPQuB(bm0TjOc~Jw(bpMM9aPQ?TB!iXtZxbgd3(tTOBCk z3{kBZpZ{-%=l|zT96YgdVvG8Z@`uW=E#Fc;y}VlP z|NpM^jnbyl`y~4R&80I+2bCJdKNr7W{A6)s@tNXX#q)}X6n89U3O_A;uFxv{P2v8+ zMTNr(I~G#;ALU<^^Zz&I?~)jR>+?Z=i`>8EK9ifvy)}1#?&91Lxm|L(?9U_$;39Yc zWHUd>d?quOc}wQr%mtZ4GAq-6N&g`Isr1J5)9E|X=cL!AP3pf>-*5D}A;b_{T9x*FcpLp+PHUDY5W zCeF9G^RQjjAOPat!**5v0*Jd0+f@<5LpdSAx>FGXAZ~7LS49YbTuc=q0CIb&2!W7l zT}23hWXBRr%Cxm}ebfWgpix++I_hQp)j zsvH4~(y1Kb8Gc=+t8zrdq)|{6>Z%+84AzIHt8xS|obtLVM|g%4jp?c!0SxNJcGcY? zVxo=UBDm32K|){{>>oaXMpp$1kD%8yx++M7NaCkM2^w7$Bs_vtwtMo}5H~oAT!ucj zwtG?nQV~uJq27$tOSE98?VgZ;&`7p>d;&s^+U{`-X&v7^HUVK7VY|m9AQ_|%7Fq?N zwfs#Tm4IZ>kpQLJa1E(U5oIfIl2WQn;UUF5vR#!a0HWKN=^i@nI?h_1z5FQH=pGU_ zrj}&QD)B>%o)&0y4<;n#j~+d5bT<%^=J2W36M{B2-F0Axinrbl(_PDq(j7z$hj`On z!wimNOm~tQbYjz8&5Ue0kQvz0=&pj|$#Cq8(C8jO2rOxI_a_8~G`jl{0y`SreF=dX zwyR=Z%w4 z5YJz2SH%c`xbn7L6(a!B*?o6sX(tcqeVDFl5gX(xo`!IglM9@{O?O947{W<9HxIh% zG!Ze4K#a46?Wz_56qiP}t6Bs=RCt4~#e8LurbCaeiV<WhK*~9*I|Wec6+u_sDUjkJgze_FK;z>_{ax;E z>P-k~JMwEj+`q&U93@@Qj9*j;a=( z;j*yNc~Hi4&%o#3c64VMA>9DM#9}+Tvjj+MqmJ$@J>(&~qdQB08=&~MqdQB0=p3N? z|EE&B>Hh!4iRQ$cChnOyKivQSu>KGA>H0JB{@*$Eb@hhq|G!`RRIMrR|J^4q032D{ zP5l3VAqqgR`dsyi>J8P?s;jG8SN>P!Yn6WGy_Hv2ZmhhbGFjQa{3m$<@Z+KZJXOA_ zd}?|Ba=rAc(w9n|(%+UIDqT`KytHF!i{cMN0eD{C|GNd=09Y=(Q~dugD;!zaS^WQh zn*UsWA^-OLL;1_{M@t02V(ve3U&wWG@60`xyDE2lZtq+*`>X6%viCBy(b2A$OvvLREZK(%S zm!^)A%HTg{Sp_k5x|2Y^@`2$XXO^{V0fTxs%i6WZOpfu%?cOYF*YXT^TxMCjmS?yF zG|MW80fPb8EUO>}3>MF3Sp_lAC~Cp-eav8WY?kk31|x)7zK0o={cdEm-89R0F@puS zS-z7P?wifBQ!89Ms9OXoTxQv+6`qkTdbKDlyNp$M{lP3dv0|J~M_8EM%(A}4;?v=H zW0r4b25UC6tnLy%9SNGtH!`F4yMYuz69AMt{2Vn#mvAIv#cHxah|mCGRsbq7+0jMRof5nNb^^LW~E9lbKPTCo!WuPb7vPP_V2QKjb>dr1*ZV5hptG#tN48 z;s;XvAcAGR_@Pw&Z&mQaGoN5tFMbe(`U#fx;s;UqK!fF@lN8DtEbG%8lonb#Sk}8A zNb%bVmi6ujQL;+!eh?+A^zH{yvP$oM5GAYh?gvurfx)ug{UAzK>D>>aWR>3iAWBy0 z-4CK=IP97M?~eVl_RS*4G25GAV)Oi)}R1k0jU-pkt) zqEy=fVt?;tecDrvR5N5z?l+N*WqsN+LgaAPSk{Xk9#Ja2=n*23ny6fQ(ZeH3r58OS zl;|gQLX=7`dPJ!b{iI5WQdIyY`bn7(q%zCuIibHLN11C5Chfp1tLKDgxUsRz1=%!4 z%xMq4itVy05&$`6jv;OTm$MA%@N`-A2%jwrT+6CQL{J5F=#_R^^$36{oY`g7BLK3l ztR55|;zQY{s~!}dq3&Y4szyXCA-mYFsu2KL0e4%*utmfv9J-q6x-DbOsEpl*AyXIg z(6@-`x;zCJ$sqaxQ)qWu_0Ca2bs=caqZSCaR0ky5Gzps9~`qAo#s;{fwRy|AJ0Bpz` z0N<~Cva(Tp0Pd=sS2?({vXUzQSRw!{$SZ)4l&>rwU*1O)fZvq9UfNvxfZPDMRbl`f zR9aE|Q}KJnPZXz$Zz$egJgaz6ar?p_3g0e#r0{{llZBfKrxjKgw#)x9|GoSt^V9h^ z`E zXEP6GF3ud5*+CS5e@%ZvUIBP*`sVa$68&!?_3PA^Q{B`%QV+}i|A^F1u>BAEdZkFC z=tx96QMp6|fXOB3>y;v;=wKA|^-2*@sQ93#fm?~n zN0XGSdL&87s)v)5ta>O($*Knvl$M>n2a=Sm()V4ku5d3N^z?lfqGXl6??RNUx+g(t z+1b+=u9z0L8$nNFxDuth(ipBp$tsQEN|db97haIkva@$vl2Tpi3on$Gthyyh$*P-^ zl&rcbL2239yD>@0svDA&thzo)$*Sv;l&rcoL2239yCzA=s;iTftkP(%Sd)1A8}u}q zD^ak@_M9_DIBu+wH40>Gd(IidLyY%ndza~G?ICt`+jGts9^#3g={ecML-QFvPZ;l`OphxkC4%1)eB{hkl|!ydZFy0Ojf5jbvAnE>1svp)d`cS3L2!* zJC_iYpwT;r5Ok16?`%TQ4vpSfi1agxl$l2FOhWQo@v(RB3`FAbvgVL5ut}q*H$r0L zb@LQuXnU{FmKz6ETPMffYrzoP(|8vE@r$;-QyG$vP45(jcvao@oFhj3n|vzJbB-7u z9!v%~M+^^f>asoOh~Xh!-|jg_3=g@7I!6o->13$q95FmZ#~0gkju;-|($Mtus)(;X ziiOzIKo_2&1Y>$f5+ixBcLXs!{W877iD6Tk-eJUWt!a9P62r}Pqvu>Od;wwk);riI z(>Elbp&C8sgW=RSIpfBbX!M*9MvUllSvT&d>eD0tfp5CeTZ;&HhK=4qgeb!`gy{R5 zM1)6LjoxZPu+MDt4kSds<(x0Z<ix|<6h(DW=bNZ05&tzul)YggehK%?ihiWpHUr&UATQ-e5uF>pr^Mz!ep|Q$MMGW^tOj*cw^J_^tJ~uDxTi<@C;*In4aGD07mKbwufhQ zYj)Xb72~3doqQhVw2GMVnULQ0@Ok27ru+ZDPVKzK#1AI^Aw2)TVB(O8mG!?!{J&4t zH`br7-%&rizP7%i_Q%?HUgrP*#cI3yZ1us||NqC8f2_<_-Yj?j&zHS_Q2yWLe=UEq zJXL-}`S$Wz<%7!Gm;Ouc{(r3WA$kAr=F(}U14>|dp`I2+-gIIg;=NuRB}uTbFAsRUJ)}?zJk6J5megK!*uxv$MK-=LYCJ3{G4q65r$Ys+jlCKPq_iA&GsMSl;{&?`%cF4DY5(8zPqvEA#USs-`&{o z5D)ll-`&{o5SMJG@7y0egeD34PCAH~{Egn&LElLSNMW!I`c68CsGf~Ns|9^09RS6x zRnT|R0Z>#IgT9jvfRg;$cNaH2rD#umjUEvGOy@xOj)K0^41nTH7xbNGfE4DCpzkyTpg5xieWw{9rKWS50aCEa z_TBXjq0ZxH-71WTVEgX+hKG2s!S56O+M@2+nE zq?GRZhKD$?*uJ~I0gzH&72haozJ+Wy%Lakpgq`Ys39i{GN{>$@BPaey^_=QiO>3O&&F-AxW*tHrlm zzJLBnCnSi^z-rmKDWsH6NB{_nKihXgf`|A`*uE1I07AF6eJ3OUqy}|Df`|CI*uE1I z0K)de_MMObkc#4j1c3AjH=Q`mjyW;kp>jY5l*@tOI0t!oP+dtGpJ%>P>O#cvF+-XV) zRwZj?Xw*jE-R$tp??Z#W^O;bjLY%mUClHcB`!mE1x$SH4 z2}sGq^}Y#62I+kdOi2dmeGi0WklyzI$lvIm2}m`h_dPHr8Kn0;5RyT=G30q)?|VQ> z)T)F2E~uVszXdPppucmH!k7~DcS=%NLk4{fl_@_vKC#oBVI&Ls&TRrIj5$HyxlI7Y z-DS{sZWBn!D(5zVl&mrdt57fs`g-vLZKe>NeGNkqQ}HsOu|e;BAf%SvE&-`!w@pB5 zS-tjw*-}^2Yaam78`bu=N2T$-mzJe@pJ(+y!#-zcTxm><{GSzm3_avv*|A&K@M*|G&?CBQwgpFZ0)# z8#1S4_RmbD|1RdP;|QH zYCCXVG#=6{I&caEKxi5}a0-NnwCNc*1p*+YbP9xrxazb6r$7Ltlum*05H~$`;1mde zkkSm?{R+T6 zDQ;9EJc|zoPJuv5R-Ko~nO3!fbCZ;;IwwiVsXs|l9a4EGfAng&PYhvTf zt6q_yv?3mymZW6WsYyy!osy(v)yYW;R@s5mBMw<54Y)=la^pdd9XLHAhO`T}1E)uL zNV>tm=@A~HCxIO}Jpv$o($29#pl+x|soX%&$q^yc<1AR!*}>7{Puhj07c~MW95Zm9 z4U$r%GI6%Xb+#Ee&j!zE)^MH;ou-gK40V6vY&7XBxc}z9%6=TLo;wb51v5}F$3rG5Hp+y&A|CQct%~^`8;?= zpN;c*h#7yv&ga21vc>s4#0t`CmM z6$uJvWCqUl!80nKbA1>y(MrijX5d^Ogvq(FEGC#a*M~8a-@}LvW)SW;$LGxy9?1-x zst~8c6InBGszS_gId29|Rqzak=kfXfuDbu%`~Pp8xNG9viS-kv{^$Dl>L0Ivxc<8O zt@ShNll5&S`v2E!!`gG={eM;M*xK&3eD$Z*&s1ltZ>ru^JvV;+?}f_WS6*GYu5w~! z?@G1&tMXUM{ql3=$II8q-hc0Mx%7+D7fS8Yv!w@17yn=H{*NR7A79v~P?x>`*Ylh5 zf1iI%{-*pZ@~h?bzyHd8TO$8|DEB%!|353YHrL4hIs5(WC$i6HU!T1#duDcx?Ee2N z^R3JanfGU2lesZ-YUY5GNsK^lej~x{l(t=`? zA49qJEQ9gtRW!tpatVkN(kRQ2_V^>!6~x*oTl7P;Bh?iU!h*w&R98R<-Or9xS3rmc z4OLeFNT*pt)fEuJ^1%*OS3rmc4OLe_hz1Q+S3pPxsjdJJw=;IAx&lHnNOc8-WRU6# z2+1JT6%dj^sw)7brO8k|8xWE~_a-12bWZ}3L3bx08FUvzTteF6oe4+=-I0J~kctXW z6x8(XP(=lVV2~MVfCqq}c$uLFcmM|GnBmRLz#22Wi5b+68LC4=n5P6i!iA(6-oOm! z(V+%-fOI%_4XJ3NOWo_GdB6$|2QMVH18KNzZ5KorUt3{@;33g1gGRIvalwqh_;v4AM_ z{a~nK0a2)mV5njNQrxu%Llp~vQq+!MsA2(8XqsTCVgXWIX$HfS5)`-f!SKWcC3lpe zMt{JZ(I3+eRWAUFP9?!mgFnPjmJQ^lHB<)%q&SBM!($Q@m+^L}k^!WpZSL?WhTNx) zWXJ}q`$C+pEFRFg!43}}Cl&t#7q=4^t#+v13z9T~B!3K@_ksjK5I@DNEU z+m#4nLCw(JiijbW(+oGrx9=08kZgwQiQzYAhM{^8{vcM58Lp*tTstn-gV=JAuGnQY zh*MB7TqAX-)`WBtPga8AWRlYNxH>^Mz}OND4+JW19<;X(hN}`3+bkF!08~$}&=)Wm z?vGS*MmOtV=wdyDC6XIsa?u|2l3}PLxU(-gTg11p?J(34B8ZxLFx-3mt79lq8B-VO zAylF@9t27o!Enz+TJ%s1hI=F_jZM2JD7WrzNlIyVO;FS~f}wL|0Gs(7(77@I#WiCv zbgm3YXlv~%iG62OLVK8*A3`k+5wnIDqD93Fi&hoG@vO|-A zl(NAP8`ln59$|;hkHJG+=Gme1V*p4gogagTC>GhF^J4%=DV-mKhjhR=bbbr~A*C6HdV_0E zsRS5(#^?WgsQ>>bC!U{p-NY>uub5ahv1R=~>tCra*WX!xL{9&YtnX6K)_zj^Ol_|A zmfAhF^J?pBruwJqcd8$OyZ*C>?Un)392e`jC_P5FJu4Pq|FTwB}KbQn;Rk2 zz1^hEjSxP5yGffHAcK>Y(Qr(#_;Q zbiTOBsSW_4|JhAWbpQwpPP@se4j$t8Xg4|40U(YAzkAgIn@Cm zHulJ=4gj%+Mox9`5O*JTlC{!0BNJqq@Bf{U5C6uZFbn|Q!iVJH(h@XTVh2la4X(KvPalviJ z$Jycz$&OT90Ej2-W~AbRhbRh}k%|kRVHKE>iVL3MWm+>*alte6$FrlgV2lfX0{iLF zK@3p_v7n53}&=HF;vsc zXg^}OiZ-KtiD5f7M*EEQRo4R~=z}kQFj6@|i?0WB`gk=i8iJ9^2}p5F2}UX>5QQ(< zj?^;&C=L(7NY#WGYPG}n6^v9(K#HniFj6%EDVl6YyWr2t-kZL#of+bTa(1*6LtbF+ zn1C?A*wGFQQ5vzMl^*IF8`y_}k?IJpEPDQ}qX~>o!AP$}5QPd3MtUUzDXwOMkzR>F ziXqE`(TXIcoVRC6Z-57*?L5`<+%@ETJ=!)wF&0ZO+9p9s9UpC-ptu|gMq4qR#MTQ& zTP7$jY5C~#?&V_XKg0u|Q+j9VvC>tg<4b#s_y4aX0zkj`p5m*DR~Jtx z?p>@FUMhU4uv~a|;Z=pJ3&$7sDwOlT$bTW<&c8$a|F6s+m)|R2$-R{Oa;~3yF84(4 zhTN&SRk^LRzsr6z`$F~u*{8C%WX}*EfbB&A_-^LonddWa$lRVeD|1k0`}7~u-%fud z{ekq8>6;|_->UT1so$l(nR+4hfz*?!n^LDqRs3K6*v%?LsfVA;oO0iOlD0*gRfqzJ z--6w&LKHw8;Ou4%aGO<>0LZ_oq69!3 zY3*heB>>VuyIDmEfNZUb5(r^^z_( zIf}fm_P$3TA#G=tymzae+0`0(?~!*a?}f}tyYgNLdq|+e+~Muv1PBD*;hE{4p7!0- zGrf3k1j3txLwNH=Ms`;HBm3^X+Xru@_fvL7WoBh%{39}Ic8g$`{9T#dEE((wR?M1@ zy@uDrBC{)IZxu-N=BDTuP3{qF1y;=75;ddv3%qtKvz+okFJz-uPE+n=v|p;sa>_%* z#N{~U!7-{+hV3}zA!4E(r#v_&YC>0LIprZ@q8+C^I3}t>S7tfoA!5)@&9dk~9kP!0 z{9Z&%&0bB97@eqh5T}`%y-GryXKMCJ0p$ucdxeBzg_^xwLYy*c_A&`ks;$hj^blGr zpIw$7LMES2mL5VT?_(oe(EKN&?=F%M7t_itix1;prSS&`Rn1;t8j{~a^7lG=WN`hi z%(D70hE%W(W{#RY4;s=dL-yRc5{eai_M8Y(DvikWuFSFkK@;5M##3!@@pQ8Q5iz)r z$}9^I5d%{zvn)VF3_7kd%K}8mQ0=SCvH%e=VG9co5fiqs01+`^3kwht6SlAb5i+?V zvH%e=VG9co5fiqs01+`^%kgF%iWu0kVwM$%kij~%VwM$%5P>BtW{)weSBSun6|+YR z1a_>LJxU-jL(Q`GK)xZZ2NSjWW{MJfbjNGv#dQt5EElp%$n+t z9Qj&L)zR^jw3S&_9;n?kAyd#EUs0?)M2y5RS5QvRnrsFLrcGl@J!`&PAt(rGde(fo zLQt5KdX@zUb5-g9S{r4IewGCYpePCHSr#CW!rorbntTSluE;o_` zf=5ixvI2or+>yy=!0V#+qh?uxh}z0Y$PxrVc;?kCOAr9TBsI$t1VFGz&9VdmP(1nC zO#BFneCJt{$$$_#NzGOyM43;`noI_0De|3XO(p|E7&kR*G8qt})G})vNQB~6i~|W! zIFPf(fkY_!);N#|Mct{VBrHl&5xyl!AR>Z*}{kP30AY7RFb zMHN_A3mz3qP&MySA$L`Cl8Pg2x|;QXOOHN_K< zVvs^t6CTCt)w&w@sO+nlM`d4a<5BD@HTOt3^gM#-AgZ~CCB&Xma}P;~9i`?Tlo0z# z&6$(~=n0V-HD^)|0Aeqxx%(u|;#14(4w1uypF?j2vJFi=Nz-^pz=iYp6Msh``Jo zr}aF(Ig^M05LG8NXA%(rqFbxxOd*N zK zXNoEy#pg@UnW73vQODJD=A49}!YXr4BBZpih^We(IVXWsj-WXwfmDv5IVXWsj-WXw zfmDv*X+9M;n{yJ_79VLnXU<6g^~U#PkIL~q$)j?7PxPs<%AAwH>&o#x-lKASkMpP; z-(x*0$JZQ`!0V#ArsqtlN2I9K>p4^E5h*UrYR(7>KyhlQxg#XRnW5&4q5v&%=+&G_ zW&nsIAIu#(UXb~isW~=`9Tm)N@Gc`4s$TK(#P_?%n1q}F1{}+ zTsS+cLs~pkSDu zGr|K>RD1QD5gw4@%RiXgU6^IGI@nbNbG!K%7u8^HS0Ce}70m78V-(MVxt%>M*2Z9N zCm-YD7|aDe#?>*H(-Ro_ESOV1mJdM1$MU&f;bZyS@91MW&vux=V4Cs&AB~k={QvQ( zO;cx1O;2rCey;qr^5@ELD?e1eg1-K@M>$pcX=zaU80Y_=Us@OD|G$S6fa{7U6%Qzu z3%@OVx$xP-+X@dCt}Gl|*pq7i{WRaF=>HS>&H1zQGx_Z(`~NGsPv_p0yO&P?ADYvo z0DOlOfcIu!k-af{TK1sqwweFVd^PjA%-b`MP~`u(%wCyH`e&5+|52{}e{TAa^p2@N zr@loBz`H2!e@*Iy)IOh{LS$P<5yDMzkTCH%KQIv?6a}A#U74b9Xm0$KXn29snlLz_Po;+P+VmcO>wHM zW~y0445xjiW~y043@3f1W~y04Ol){-EC`IRXEI4qx2drp5J7x|D>W7bLWt{9rN+_y zh{1SQY8>4UnY@c4SUR&(-bFz$yo*XLFBtCHE47?t!j`OHxE83I4eT5B#VFn65Jv8x zs@cGP1X0$j*}#4XaSf@|lID`DD27F0BlD3i5Q%Hn`yVr};Eb+W??0mW5bB!s{(-{6 zrfb&wk0?H&y7~yOnLy!Qb@gGNLKo`lLmtH?QCA=IDOy#1z@xYs(bfBXDy+KCr^2dx zJ&IFTSMTwuuFOq*3af7MC_Z|+db3Z3RX6!mSaqXEQRLLs7x@eP4?qj=&%SFiV}P%E$V zDLmS`daXxi#2sDZQ*lREdlb{)boDBqihjP*qaqoxdWBDgRaOWHpKhw52rF6DWCw)n z(JEPywR))sK^jukOC%Ht)zynV2o|ZTNf3Z*igTD%lOO;Pvq*K-N&xm=)=j0t;uqEP;fJZMs9IY!NdoSw28up1Ndg8^QA-mu7ROPmCP@Gx%%-4vHt&6C>upkl zseTWs=TYYe)w3orTsNqm>0v24R?qM;W?BT*7y4N2`KqV;SnT<#r}-FPH$nAOfvLmL zKMks<_!!@rIos#-Z9{AJw6sj4~K06#4DYE@Hm5g;sAs%kO}EL**jY8~ROs;bE_0Ek1cs%s_0 zfv;4}=>}{WJxaQ21psp+t5=$29sF5cHN_KLOGEK@b=4G4Kq?2_6i+~kvrSh`@dTjW zWHZGRkYa+MuCDYctgpIiUH|ZogchT#*7c7lKAx(20CXeWFFK;SYO)QSQHOXUkFM_L zQQRu3>b~&9)K<=yeHhZ@Uu!n6V*jqHdrK&H8P4N((M1_SbRNH>GJ@zlen&ClqpQ2~ z?L-kz*%iBa6jK~^byrEnnIT=>#iMvOPgi&LsJvfOI>D$EW1FWjy05FIbOKWJJ#^I^ zc|f`v-Z;8yjyxbm)kas%kq4w00Mk`-MNDVUrCpyFUi)#Mxi#NDZ?x}^2--Qvjt z>;Lcbf2sfX$I>@TbES8eURt`obV}*K(p2$x#jjBH|F;z%E?!wYwzy|8UHB>G06bNA zqOh5A0M-?#P{=TbHY3|4Ir#E&HDA zOS9KyPs;9>Eo6R0IRO8ed1L0j%%z#5GJB8$@bmOA{c$?`e|LIg`tbBF>3HhdR5$gJ z)Dx*Ksq<3nQY!iP|DL!fu`zL2VyE~&tBQjhe! zIZ`4hCJ@bU?^9T;^}IP!BHH51W!@YqL5gQ{^}IP!BB;2oIZ`61xUM-;A}Cx}&6~Of zK(U^Unm2U|5W-c}JRcE=dI~iZHP1%`A}G$*&+`!hfWja?A`n4QA7q}72mll zo{-b?oJ%l51TAiUM)Q_x3D;fM8n(xaG!s^?ivfL|7?<~*wjKt)2@JgW&vagCX0 zH36u2U)ESnK#FZ^tR?^zo=lC^1f-%Zs|gX6o_USc1f-%Zs|i4bUr}Q<0jTiJYOE$8 zMQ^jlY64K)VCfpG2}q%>s@(+>*=S<00Z_F&Jt$hay^ z?nfyR0{lx=iReW7))s!D<0gVHB$cK;>(L)dHlVEvp3)m9Alp)dHmAc3CYz3eUZ+v04BWU3XnO z47BQ9MvJb0Pttj1{vwFz$F# zfN(Xd)OIi%m=L09Wc>e^nE1b}|M$G|?^DE|MY!l&rlfAv|dMvfFSmxs-r|; zAl#0sqeMUu>lUawN(2PO%2Y>*z(BYcRY!?{AS!;UjuL@^!XQpI7|#iUsEw*RCmTc% zL!GLgG*2u*VGvglh@gmv)wzlQKw(f!{_Hf2N~O+K1frI(U#iS=6@iF>IeH$2fkSAe z#3fD7qcFf!v_)aSP*G839)$s>qAdyoOyQNG=TR6iRLUeM3@`;ZNzbD&a0r)aLum(v z0j8quUGStch3$o&ztg8MJbL~PkK$Ua=Wq8ZjGms~;#24iHIM25S%sTnHIM3mf$*HG zc~l1sgdtG#s16VmKI}ZI0|r7jsd-cf41``%^QaCO2%V(nQ5_(NYo(e;b-+OAA~lcd zfPtciP#qvB)`xji2MiQFgzA8SqKEi&fqQUfR$`ikn&;C607Va>K0rS!wv6+r4;UzV z2=xJi_&ln4)CUX{J%suIK@7#IdDI6C6!*zF1<|dDz4|=o6aWvujf$*U@ET5X#?Z2HdH8A^C$!` zh0fRWC;xTQ z1QHCi>-oT^u&nBN?NiYa%BNylR6L3m+w?qot;Q(!X;bOU(sXIN;&a8X6+cJO|A&fK6px|kf2Q#B!m#jk;dO;O z3g;Kr6)O3^=YNoIlK=l$epCLe{ObG;xj*N=ovY>kBlj}$|4+{CPqqJkogHQWU-sX! zcV{ok9-0j@|HynlvygdT<`tP2Wlqf;NMHZ^uk;twpG?0oeJ^?cho^T=ZWtKMYWw6Llix^wA^DEvBgw0h$0hel<`TaOz5mM-$0qhp*MV-LhGj~x@+QwIF;-_!!jGIS)_)cBx}kqXIcfn}KpiXGkp%Q6uZb98}| zHXCGwZMlFB8YQ) z#lp5!l!a>kkAD^(3bin0HX36@hr7g%e1TPh2nx|}fmMPCqQ&|4T}R2gaxQlXK^56xct;v9B_xEoPh}91XFd+82~75m34tJB$dfi9$6Pa3PY#so6Xw+ zsThFUJSsNjbv}LoZSi^0bv}N8R15$gKL9E=<#j%OfD{Hm*ZKGXQkccM&c_ds!nQ!y zU*z2pI%2xc#}A;b*s|BJ_uGn|yw0bhC$IIW*s|BJ@u?W!t9>eZ@+yytEqnb+pNgKm z!l$AqFZZeF$;*J!_t|7ZfBjOQ3Y#zSspzYVJ!-b>p`%#eh}6_z7Nc;HPsMdF^r^U` z3p^?m!}|G1=_$i{DZ0+d1ml@w%Cq5%Ue`I90I9g&bMTjG4~D+DuAl8wVKXNaxL>BW znBuJJtQ|yD9Dk^@b`U|K-PKt;00;)FI%@|Jl#3i|2N4ufS^ZR49@k9E;z;#VB*Zs` zs-NsZVbDnuinwh3L<#ZWkE)*_A$EPGZi*MW#gVLq1f5F#ILW{qU1!z6G@vbwse*z6 zoUXHK08~D(tQsH{zs#xuPz>|wI;#diG0vy!tQr7Caaq+5=Z*+%#z>#4^I3zasYuMM z^I3xk3MIF`LH?|KMX+MvT2fL1ZX0!-6$7NACs;86Dtp2z2DFDYpDv`oL^4F(Dh3h7 zO_{D+#UP@%xz=^77(^5wI9<1jK}e@Xu1kHDd6do0+FB(-t-5|NQvNTZeXFkXi38Wx z{~%+XPaFW1R`H30h{}@=b*meUt)dx=35mLHb%Th?F|xV=P%%bUHyBgOkQJ&<-RcGr zm1AUegNWi7sXAv8xI3Z%B0QS9jZlzs1y#cM|1XPe z@6P|fdg`_*TmS!WpQ%e6Py_M?!|2yXZ zxbOe<=nTMX=nTO5bOxZ3{A=<%$y)L~$(JUtOP-Y6FIl8B0AEaeD)HvT{geZ6WMbDu zJpQA2Tbu#-OYA$b`Ph3Y2jIro>9JMR5%j0h*oj{Y^!08M=MJGGRM8_`X#|qNIH(3E ze$Y0`w4=XpE7h|W;)_u=ti%vOam{VzHN~E=!MO;o`>21-0gP}x zXq3&9hZKHTH%dN*zSoVSPjNkH6g(;_sW$RH6>W2pPUE*5bR+9gk@(o)l!WMxg!I|q zlmrJo?V!Oa2@#Y7U{#0l08p)V=qJ^%szU@}&~+n@=2EhyaDEywpTZC8#x_2M`K=co z@hQwFy8sFaabQN1 z%fteoSBRR5xAejmek#M37;>mAm~S3TL(6ETR13F74JkubgrW67|zgg>hn ztn6T^Ikt`F>IEx1L{#iK7Od=040dt0!w zLrCTBZNbV85k(C;ZHHS~ zv2Z1;mTV3&cxKcBXC>I5Tu+{=$TC^rtb_>S{8S5^l`w{MLD`bC5+aDZSGB-d2@%AH zLM?Ds0zkMCwZK^k5tIgTR)U3;t13#Zs|C(Vh#(H8THvgN5PG-5SqTx8w{l+eOmKcI zYVKkh=Dnk1@ldW@qDHm5&r9fRTk_8DTIRoipqld zD1vK9AG3qmURf|7MR07jEC;ny!J`Gk zHLtR8lwi2xsf8n>iL=&o4AsIB63R!*stJ4-rlp)!R!s<@97OYNgmJ%7OB_VCV8sO6 z&`T0f3+urilOq75p%&IjC~tGEgmNL|$^~}f(3=QP|@eB1(S1QMldll* zbEd^v#LB|Hg2`LlM>27XdkcoQSXtOhFdX~J!k&W3q2EI=`3~G&GO$H0aCU+1HB(GP zz5qD8AcWovfU^rCC|>}aT@XR}!0i-uI9*e$Q)(fQP`&`H=gAM1X(^X+>v@LZYrLlQ z|0|LIf9up)Q!`WBm;X@ydU>||uJTLD*OgB$A5borep~u7eF5ODrH4vamX0g!UCI@I zSzIpuzv90a?=4=(12%Dy@KVD`%F@$~h-0(}KwYvz-gH)Zb6T$VYS zDgdOZ2H+x90Qfh`0k|}Mbb8NpHucNYDD}zIn^O;@E~oDR?3v0We@;~ZKc0L;^6uou zB~<($R0E(L|8V??`0eov;v47;z&~Tp#9FZ@V~@vf zjh!7kBvuLI{*~r#JUKS3Tu(Y3{SO?wN^@7iuoi%7+TpkDXedO&UegYL1mRaz(++yIlh=G4!Y4Z0IBL<31rMWE( zB>g7bgKFBe25XCX7lGfYnl`N=f?_yqT7!kOs^a>unniw&BM1(lYTCqx2!gSynTM9N z)fc&HO+NfEzDt7AT0Z;$5c)?oozh^&%Cr=t?34zAB*9b3MDXyMPH7lJAulzZ(qJGh zpcs@LJq-6VX)T5f5U=Hy-vNUbFF#fTHe! zYCPycoC%EwJSeVtzl5m&R2uvxMLT44E8+=iIC;VLp4gT&oV+k*a37The_M7~dorBqnQvPdNY-6Xyo` zv*P4cgHJg?OL5KXL`!e7S}DQyECsklEV;p_9KxR!YGtKiwFK7^rR_??Y6&5Ohq=6W+X-WwnF|iYa2Xgb<3@b;D{25rl_JHLR8pLD552O9&xu7j(lWD~zF$Tfki1 zu*nKQ!Cu|4$qJU5WfUJW-LT0D5ydx+Zk##Ra!nVSwj#^BafYPy(KL9SG_0Z!{W8oW z)v$^}1VuktMInNspH77#CzG(BRKun#j9bzUK>VytSBRjPW>!=PA&R`JVbc{N2)(Zw zCyWiE@`r25Tf?56 zdQkMx5fb7=QH{erD0=8HfV6?aGNY<-s0YQZSapHwMbq&d(^A}uRTn~tTS(Qg>OurX z_gQrzg5sKoNQ1;Kvav=&tRkWst34>LIpaZb&1nyc`{Y9nw2+TGLAW4|gJnzfh*e{y z2gOU$stn=J%7^zrucffo$_!yk;bk=Tmo0^--Pq5AaG#Zi)fwE+;vPviI5C0xU>w60 z?_S;D!~~=;{d9v5G$4glK{q%v0V&v|8=RRC(P^wHr5l`?fK)7iR&$7K7Sq9M4iOX` z?3~W=-HOe2!#SM}LQCWS^Y{OLG}WDYYU;I9cTQb2b@TUOs;u z|NlX$S^8k;L~eIY>U0d`$}0m-tfRlT`cf?!<+O4GA6p zd;ELxdi=fdm&b32pAtVHUW)xDHi~^B_WIZzvGd65pZNY?(Be-`&^S#~_4ye(CMn$b zpv9k>5E$k_(Be-`AjWr2(Be-`2n@3?Xz`~e5aZ(#wD?mK0>kVKTKuUAfx$H0;$#rO z;-P8rK@y~*EgvKSiiJvaYlrc>-F4Y|nA*Da0-wSp)UEA3iV~G>ZRb;1m2~U*K85bk zt>^g^-cY)=tw+&C(Jhy9;O+=_lDg$m4lJeD4fIveDw!(CuCL7BxbqEK#R)807krGb zs-Tshz_3yTt=t5L&JJ4H2`sLi@iD%#f>wG0i)*JQu()<|0*h-W1U7mE3|G*KdssL( zK`SIo|O73W_QzNA%qluS~p!5LP&8AHeD7%Na3b*(`6wzif*}X zx-5i{!gYh@eRxae%o@s+LGxZ8i*=}Z&jiMyY~DSA;jV%vf0EJ7aC2=;lMI^tNk)O8 zwQk;lPad@v>rnG{LD#KB4P7_4_!P|6&CNcA38V)+0#GpuHY*{bqIzD_ zW+ea>ZS7$QpyGb*VTg#Ld!(CJi&0oBb3>Z;Fa)%P>jup$#k3?hQ!KpAD}0P@N6@_7 z$0+p#&C4b*tPw%;(g_TYa?rfQ$0+y&&5I|nxUr2BSp4`!9+rz=^TG)XZ^@u}!32hB z5;V`Bz{0fi5YL$GMzIW?JAp;7oil;Ojqyhs+)8179CeqV$scJDShVJkG$6)PU_p~V z(jc(t7XCD*bvIA*sdxfTMM~2Y)kxhu#iwAFZl3H@=uh1| z$){q4JJF-^$veTPFp#==yiZ{k=;m=gg@Mq`V?8SJ<(l@qgp~+Q4wE?1*mME}^|Sfx zp(skybOMBf(95dn1PB9Zkc2wXbOMBfV6SRA0b&esnNUq9KsX4!q?%5EAh_Dx3M|K} z=>!M|MN20@SU9~NCYx$H0m4D(d)0ITgoC0JoB%O~xPwqlCqRs$&{CRCfN&6Il4?2u z!a;FOCqRrLZctUz2@np7`*Z??gW{S_fN)S;(+Ln`h#OPYbOMBf;+jr?a8O*+2@np# zH7iY<=fD$}!ocX5RGLnIpoWIQBV1|PJcqCyJiwKv&2tDD7*lE5JO{_{L}jIE^Bh7Z zu4nTc97Bz{(zJOFA%lr!{QsB6)c=0||Nio&G{Rq z7r#o?|KCd0|F15dSlo}i|KAqAQutiq?S)4QR~Jqw>{}@0f1Tf&|78A6`TO&i<&Vzq zLH_?wbN$>?xhHa)bLZp^$*rLJ|KH8lv+v8kGJ8|@h1pfv?J|GJd?PcPc~|Bond>qq zQw4yj^zYJNNq;u|w)8{kE7HfL_eiHwKcV`6Cinj~s{g+swR0+w{0V6QPgC^&p5!IT zqmp|hGl^d$mJ**x{9EFl#KnmtDEmJV{|Qw9d^-My_}%f1@x$Z0#N)ANW8K(CVo$`j zkPfhpx&i*E_8vxhqOxLC=!60gGeSjcb7cyEFlSVob({zaHKxrv4nUlzZPsxB!qiZ0 z)^PxeYwjei#bh1T4m>EXsXZvJsXQpI$;ktuK|<CJ73c?Dq3K2*0Y@d}6`=s((ODwK;zP zAijOt<>+TkTpgct)h>Au9(2_%dQcct@F0w3rOkyA#s<+z5y7}HLd0O0EA6Za(}fJT zew8*CMu->~Q)zQygplD;gGxIkeiM&+RN6_w#8TEyNCx9rX~zXaVY||fNd`T-qP>kt zcMk1@xA}_JBLcz1SkZb|ATVS_>mh+)+;xk!0J;`cW2IVBv@3+3)-Bcofa1OD7Ha`O zr$t*nkq}Xll%`u;4FM=tsRW?7dDAUEl>ihUF5O}k z04SzFsMhV{$vo~W6ckl!i-f4$sn%u*ajL7t zkdlOH#iDpC&S=%T*@N)tsTOAt&@nUD5=K?EID;U9Vz1fa3<7{KKUIq}2mlIeIfDS8 zFo-h<01AURgCK&aD5(}_5C9YgT`fC7gpXQRc~BU1r3ZyUS4fB|lxkh>L17SQ5k%IC z9E%ob5dahhaTWnUFi5v9=7)(-{>+%qhRa8Mqeq2%*5b+s6mOtYL);c8r*3iO1Eesf zx^;p7%V4r@o$phyS+zKqAo^uAS+)3FLIlxb)jEfJIJ6iIR;{x=2==PhSsny)RqIR- z3Tw}hP(Bo#MG#pl9L?70UQ1!nX&w{?aTWpmtT2eP2qGvS3eF+`DCQt%5dahhaTWnU zFsRbvvk4J|*H)#)XA>d@SFE)7Y(m7~f|b^>yugKn3D;9C&LD8@OmU2ZSFgJDw%f10 zd-JW879UQC;QE7SHiV21Cq#@c7_~bRFGv|uaHg}xr4C#>l7-N>*R8{GJ{u}tvxj+9 zh%c=}eG1zF-P+(&*tzN!mpcHfFkG!$TRQ(@JqZ4-!;nrcjy2ATK;aiUVdNsmF1htXO`ELSCsx%`hKZV`atPb zqyU^*nkl`Y_?O~$iwngM6dxfqO zhw@kCkD&~JT<%x7t+`L;-jusPcUkV}+#b1f_Gj6}?9)wLEb-dJ?Uet&HnAf9m-u%n58!?ASH^FOpB`Ts-!}HU*q39U zrW%0v$1aT>8QT@y|M5TSjvZ54@95A5mpsMQpkv1rDEI-oW5*OIt_B@DrV&NqT6gT2 zjwu~aM1f6r?3e<@`Ox7S7N&@pvDvi6`Ox7S7C`YVjqY#_3#8(XxP}E#eD&&1z|T%} zUGeViSe+rF@WZNOb%qd%H)zM|3=tG9tEFcvl%LxlWF$|_M1Ls{N1$VK%AugC2y*q}mTih#`2@zTbn;OR9aJ2XWZi_ezKx2GzdD zgV05)eYXci58Wl9)YIq=uEMHqB?$AaMTR({s%<3*2d7a|QEe+h zgmA6s1S>&=5bKw!wv`}4h$%3Ywv`|p6vs5$w~QA%Yb4-pjCwDLm);hL59#XQm> zgjZgry-_mgf=c@$$-tUQ`$EaU7~QtA!}xmim)NMZt?U349%vAxze`UgJT$oThTs}mp#Yea;kj< zzY{q0x0)hC=uNBk;U0u1MYRv}p!iu%93Z)y{0Q^27)(}eP8lritqn5iytKK|CZtz#Z|@U7k*#(YT>hmw-z2OTv<4-uy-Ms|7Cud|5*NC^PBT$ z=V$2j|L=2O$$gr9|9f*AbBE@1_HR`AubO>V_Qlz&vd3ok$R;z-X4;t#X8t8}BUS%D zAX7~LD*X1}#`Iz7ol^fy{UFsyy)X6h)b**8Qv0TIbnbsK`LX0{leZ_&ORi0>Nc<)7 z?L;;4?!-$H*CdXo+W*=3&*O{q<-ga`ssHohhs1Y?{W13S*ymzzrON-8#*Uzy|6l(E z-91g}+FA0itCN;=5d6{X7ko{ zkA?2$d`hDf(X2;to36VVpV9;8;sv^!_NlmT%BL{GL6^@SxI3CQ$?`C@f-avuK#U0l zL6^@S2n;Xipvz|u1cq51bouN7Vtj`Mokwtn7}GEo8FU_=z;I)_!>146$FanZ?r_F| zqpQfn1-o^JGY*hqhjuvQ04U0Gy2BXEuAaccw5uktFpUo);9Nr)C+P4&1jOhH1|2?#5MtwGh#TXB2#C>H z2s(TaL0~bUd=Nok*r5g;K8PT&xHca|K#Xcy(BXp!0*h<&K?H$Cr}9ArfyG?og9vLW zWV<8-TIZ-$Xx*`5fmOz-GPigk=?))07)!!Taj(-k&AjV?%B7hP zA0UMx(j7j0fK>c4A3gwzqNncg;RB>Fy1K)M50JtWqdR=~04ZEob&h8@CF~7+i>VG* zK8Tu%T(AyTJ^)BFYG#~%pgVl>U<{3dfLU{@!zT|SipS7Y=P0mR16GghEv9SOFn~DC4S*6%ay*`Bjz9dY*0f2i4{**rp~bi}h%9 z$L1^m6_>R+3qZvjwK)qw#S?oFJay)}7%k{BG(8Qwvk?oqE~SbyFu!?K71v|E%0Ee}t<4Zz`Wr zKDfLsRsZ{9=~JaQmmVlxUOJ|de$k>IKO^CBK!dQsw`bC2vTck~|<;qRRhUsRFYvN~?N&OaLIfhE^tL zQuX+l06=)^RBspaY(x+@d#bmy2Zcd9c~BS>cn}NX#%X3;4|CfNd7v~RVmw>-Y}HU2`gBSz5a-bYFoO;UcaM8Di-5Z=F8F(JxztN z=)1JIko4H;UpIzSy+TrU`hjACv+l9e4-{Qs-D9U8Da;SuW2YY}EK#b*q5O!75775G zln+p}x*W!jeilQJmG1p!R}ev%WV*}V zJ+Td(DnhS1SoJDhEbQT`oZwG3cL4mrD>jCcf%f>2e9eh>3Pwg3vMX zCCy5gOAtm(wBr(lj*(6kJ%W`kmmrK7wA0-cO=iObgz+Z4a*v8lUiUJOimh1pQlAQ|F7YUq)Yn};Rsek^a*w(jy|(zWQQeDph2Yt2 z`Wfe|>R#wUut{|vs`uA zO^+Z>a@A!wJ%TvLRhN$xL=dOA>hh5SfM8IidpfV7Vc)_Eqr2>+j~jCGD6As7%TBtZ z^i~il-Q81QL@AHcoBiyhLtF77%Pu?VNWo&=WhWgdhRk)BophwoHs~I2wpvcU;hhcK zaL_$&0>d2#-D7=>FO{Hs%mjwLtL`3cdIYX5pO2$_3U=%6kscLtNtcfrz%S!lQg`{N z0aEy7)n$hrDCAJ6E<5Z1#bVD6J3!o@bUES=5V~1)IpPlx3<|nyu@_BY9?S#_x`#|) z(Rz)*wADv%C+M!8z%WEXcV+^E-9dMH0*h;}@-aF#LHFPZEUvwB0@HrRg`I-#K@%9Z zuR-^~2`pyr0X{YkO7!FVPher%eiK-jw(kTMrtLF#5JB-bz*fFHIeh+Bx~pH^uA%$l| z_nn{aC{_m0eNMTD>xwsC-#Y59Gbru=tF-Q0M;)lRu65KSD)i4jhv(tC_+bX!x1Kt* zg^pJJq8J7GM13?PRlndtuvqmu;U2CEZk_6L!aYE7H(8uCr18jp%6L?02Yn9ByC0^u zs6XpIhvt#ObyeSb>f@fEws5aOp9AxzDSaw-dL8*=sL%v`4$LFQ4SCS#z`VdP=Yl>5 z<`LtDJ?L>@USN1qf*uFv1%@FEdJmbU7ctJPp!eVeM$>u^_!u{(LGS(vEKK9lfOu{E z#9Pq2*KdsuL(t>WfY=)SwxD;n*IMMx1wAee2(5)*7xXwtFRpWqX$8cgY*K6 zUgID=V)P4x9tY_K7QMzndVz&$9Hd8#UQN*BAicoCG!D`u7H&`PX7@~+c}|--^D(G>59x;ZMf*uFx5#tgU^f*9|80C(j#{qi4-b~>D zy}q?IU^oYeNx}J6P$Ey`-BZ_LD?s5G9FdBza_bzk`IL|OMPoj5EUiHrPDeORXj}!Ufy7=Ma#(DsB>hxN8 zbb}u20U`>j~ zAU;yjpDYE0lv1}b<2LBA6aZKplnr_;1rVM#UqoF)J%Z^zL64;X#OSmIJ(dCxvA4gd&Cx9aiX0Dv(3q5uEPRCDV6 zQ?Ho1Vd~_m{igEeUz8WiA1yyozO8&#dAj`k((g-ODSf*1rqaEojip0Ny7QVW|DRo4U3@{|kA-g(zEF4vRsXw+v;VUc|6io+|JUYk&!3xLlYc?(5A^N7&*t7j zC;udJLnNj8wbngF-%mtbC8I}H9`n&1*^n21T zNnevbKD}2uO_l$;sSl+dOKqaq|8#1*dOY(lI`*(P9r^G)J-%HFV-jjG) z;`+qNiTxAB_^;!m_$T78kKZA(|E2#wU>}}7Xgo7bLr&r+_O2eV4-XV&DLr5x9w_bRx>RbQ&881140$l%fV+dVT@I1=m1MYxD zcsdwxz#Xv=2?sAQ3ld_?e+mZM`xr~g1%vH;j4}6Mz{&Rb1I0B~4cMCpD#ke3K68>D@Vrw@Wb%EuVd4hBgdqo5NE*stfiwl^lq{ssf~>k*?U9}L*9 zM~o3#J=n&)c>s$Cy8nnr#RJ`c*rVcs?my&F@j&+<^r(2C`y7l1t8k$E?9h)PeXq+K z=sr92h{Ztn*`Y@)2D;AIneCQ1C}dypS^j+V&(3$H;-7X+n@22G z?mma?0gIKpe=z`&W2Wtla&}Jt|i2K6~t(4%skPxq)C=hMVEQ)*YF6zD$3@yAB3 z^M+aXIgSq$M_Kndjt>+ES@$`PA5k&Jy3cWZpg6?3&vAU9IKsNmmHvU^0PFs7&>3_` z(>T7mf2>DwcvYY41V+D%qpSLyZXZD$T-E1v`v~ILsy?UNM-Ycr^*P->f;h6O&*}CN z#DT5!4>Q>t5rlCK`s}o?r`tC{L317jv%P~pJM99)W-{or(~cMqp9g(*+5wBP4f^b~ zBgVS@L7$y=fx)Q@`s}nLmcz?VJ764!pg&_CUvd|1D2>)Nad4^6G5ipd@Fk8i_Bn*93;))_txs2c0Ss*7{s$4k@%X{{N$~(*Kv`cB5;tz`L;)jb*6mKtHP&~A_b1`1{ zaiL#$y6^`2`rjpmqYAqf68RtJd-#6?#L7C^JpG$uuJx40Q%hNZePfM>%Z=3q>)R$AA zO1&v{Z)#)e(9}+;ZIVAswvr!A{!8-4dhX(~DLtKrBqNVu8ct*NE`bq7@4O%U-i$0bsF=E?Ti5!qX_41&dZJ0E_{EVDWik zNGQopi1>@!PGDRS7N>kH7Rtr4k5LHJi&ij*Oxpl`su!(b5K*CiE^?lJINIdah_;-k z4-{WpdXe+=fv$#?MlW&(08k9}sYOoIM;dK|f<-G9kjeB>9FiyLbOLPbf<-G9Af`DM zrYS92u>djjwO-`Pd*;gYp%tn*L$x@fOY23hyyqwlBgO&MA}8!eR771DIbk0lypGg> z6ZRdHb@ze+2mcvT7L19gp<@~hIQVa{$%Wu;A#`*w;NZW*Yt6A5xUwGbxqQadk?ZM8 zbkG~Yz)A(?w+*GgF@ZT4SgF8aQddxARs$}<7yh;gd+EVFyty;?N)a!5yUV70GM}1` zDL%=1aF=Up8CRR%YWFK8LAA(g?6l7TUm!HWdL2emS|K{A+HYQV+!j4d>6&AB96JKSTa23&kE zf+WR+mAuv9TK0m%mgWWJTIvC3>r+efVe%Q;EaTow4>(&NC~m#S;QES%F*O}-sf`vg1F8845h|9*%e5an?_4oj)!KD%kd1qkVetN)cOBAfs z;9}VlU*l@9(SyQTPSdAOaz6{Na5dmG{RrZuRRd1b2MAAs8gQCEKzLcG0jKE$6b5mc zK0q+2GB{^E$E>yZG*kv>3x-oc4LC{P{3y*m`aS|?2&w@m=>voruLc~ik08z=HQ*$D zfTATA-isja&Gmq@^c^I-a0=;x_3p>!8VYl$GC0NEsJR)cOc%YCDua_H1A{69F1$zA zq#0`hjp8@C@LtGpX zRR&yl&#`GdwO1K%-Mx_ENw>;?>+XdN1J0EJ*ZdC|RvoGgju>|t-vhntu{#eJ3_r!V zVsO~FTe#f@nEk=PdhxU%nb6(_lk@_!I2c$j9x&=N!N7X)fKi|c2G)y@u$0vY){6%$ zWc7jd;sN76E*MxZ9xzV$V6d9^mw<8J1_O5ES=q4nExv0N4A_lFjJp>-;OIMGoN9W& z(RZLiRv)Yk^&xv@A*&A#@~Dv22M2mouDb{D>KWZKJZ`~&{dZ>+#c;iWX8#?r9BB66 z5zB#Q{~fS5(Coh>mIKZHJ7PJ|d*Vov<>IVmFxbP#a-etjF}{w1f%R#}eP(_f2imy3 z55;!)pZ$OT{QrNJ{;hOZ>4MU_(u(4ri{C7Mq4@UVL&eLBM-_K1#tP3A8in^2US7Dq za1wp{&(!`~%0Erf|1J4*@~iXP=bp=bHTRj^n{)T&F3ug63$lNwFaOoD@6JA&y*hhb zc27F{|Km(2^JL~#nVT}F(Rcq!>HkW9G5yK(8`JluFHRqx-kECuJ(Fsso}}piEvYk7 zt5VNT{+??7e>VBn9_`~rl z~b zP*{%ikn{3s^>e?B>z^KS1RK!sH{mLE}cRrN4* z&BvpU50oB;uDPS4uR_<{QDIf+nma123SILt#donDhOW7zqOUkPA9@nYFX$mB=OYzX zadJLVVO7%2I+J8V#cbqk4;^zy!SB(-&@p#ZTsP+Zve=dlZ3v&nXxvu3C>Cu9A1G|E z^r8*n1I0U9v?2V6Vt%Avv>|+;IKGRaV?MSDt3ByOE|_O}a!kd%TI3`3NU^ULxnLer z=qt6z1@nO7F~ddYmb=Ts%utJ5Fb`TnM+J*_^2=jv@M`)S{e8W72aXV7+~w=V+dYca z^z`BukBTFzi#Bc_T^Lmvy=de15f$-^MH{z|sFbiadDj(Nh($hO?|Oso2r?3b#hb(4 zp!ek}v+lzf1dBFsZ?5YwOsing2JQjllM*c2z&&CZreM(q?h(Vh3l?qQ9SkhDt!NXao3&g=sc`k64&y1NeaP zT@fsv=bI*ibc;5CkFCXk+5kRcVcOXfKQ2t;lzcN{rmUJtp~YoASUl6U4zc+0GklDv zyn{u~%Euqa^mDy+=kH@&zL{xNV!14FO1{9tG)~DESeV8s`2vexv$}wp3}egXvSf7uz;ao#x&UHfn$-mm3)8GF zfLNGjbpgbp*Q_o8ST0Le7eFjbv$_CcVVczi5DU{dypNqK+~h?L?<1DW5{LH%7N&7{ zUtnPxhxY{*rg3;*V9{$<9&k5iLP!Ezc>u8NR4WevmJ6zt2O=!9ITo!v09a&PELwR0 z@H%0dl?MRJwZ+N$$>g)ib{P3T zAX!ZODzTJ!n!ftCC2>w-H7Nkk#lIT=O#IF9`{EbJ4~qw}zsJ5CtHs_Odo*@+>^M6A zpV}r^a=~@8=QF_zp*#jlF1Q|HoVH79yhKJAdN^3BOkkY0OD?z`wZ_3;a>4Zwi+Q=^ zg6k0$rn%sHgoSC_`=+6)8Z5csdemB&=7Q@X77zQ93$904nC61(5f-Mo;Ch5buesoQ zgoSA(abpyY6C3%Z;sh403qBTa%%%JU7B`lgz~aWT6Ik3>W&#V-(mob%%%#)>7N#X9 zurMt#frV-D2`o&D`B=O$m$sR}Xxi|R35=!3aI@DEbPhG-;(5>#^awS))oTfXv0%7qZ0|IE z9({V+1i7GXFucXb7-!eRo1JgqT0?Y64{r*ox!Khe#zw{WMxVm%>fwug3iqprH~18c z*2C+43U{oB*LhT=@(j6rp6N+S5HU7m_L3gDfP6@WRW2YOQel+~$cI!|LgY1g9zEiRx-bk617~J$!n{Sg!D=`BJJu4&%%VhN1WFFs|@=XfyHcq&D4xL3TYn z4hGp!v|A64^(Yp&(8FUqDn!)b(H_OT20c8=qxeQtLz|2r*$i_l7=~Uutp?l3NF!7%jNLo6n6 z=(UF!o{eA_dhH<=PeMog^w1VDBM;!t1w-7e*VAnU(SCj|Hk}1 z`HS)!@+$Y&+_!Ucxp(FsA@Bc~-0ryqo&IlSKahQ8_C=KWzkjxn`DJF9`B>&(srLWb znVHOX>EEZnlKyo1O%(s%m_GFX;QN;nzfLSCKAw18;`YS3i8YB8@xM~me?9)b_$%W# z#ZQl~jBgwJUF^%TPsiRIyPv-OcT{Y*SYjK!?854%@E^s$R^p?jmt9!hQLz#(?>OGC zIttIUUUpG+N}{DwYVw7rmt9odQGDO&WfxU<6km6G*+tdIRJ`rf<{uR6W#qUw&yu5wXzNAX3cmP=t*ac|&zPAzk_J9>1+P0?btT#zksO;^iY z?JjDGFFCc$)$SsQ?>M#0HR&UW16x_njI+($y}(;$IdsA)(U;1l(Enj=3YJ4BoH6ZY zaQz9ELnqu}aVB9obiy4LFQMho2@f$WeZg|*ggcDU&tN%p!W|ajlO-2aHyOP3$;gBnC3$55f-Lh=9?zOq@_zIu;{f*1g4y4`FvkIfko?$K9h zSOrVYUyoV~)11E^VPTr{*CQ-?&H3vgme05I*CQ-?&H3vQ7N$9WJ;K5?=dVXtnCATT z5X zpSEe^5y3sRUUGiBqnMGdmz>}3D2C7UlJnag#i7vsBM zn{jWuv`_f#jH9%el^rbY?PIwR?=^wN!?EWC77xcB6IeVPyH8*-`*-uPT!?p_z{0d$ zCa^GV=LsxK+i3!WX~zG5ajb0P|L>oA<tNN>>sn=$bNyo0PslmDmnwO zS2mORS!R&=C}{v&GUxL5|Nfl*7M=ZnSNc(^0C+-rpL8zu%hXcp zO*sJHi!H?77kfqQMX^)q^nckN0??yK3Rt(2Qg}&riu^u3ill%sh3TnBF2mk9PNpqt zi+U7k0hZ#sR*xbrU`)j?M_PcTm=dQ(+qq}PUKeYF>QN*Gkk_?}KBEbPuSby-V5vA| zK8mCOOL1M)qeu#{RD6PS6iES=qFb&UIaBbQ%qnwmoL_zuz|mtXHFzGL*r<=2lXee?`xhRd&a6zh`ck;|`l6yE`Q z9yVUwI6{jNgvP-RZRCLqwec?ku zR?*Oc^q`jAfp>07+Y^v2)Ur#gcMw`umicpa;|`{ug@%=7{#;$epq*a6Gn~Rk`<`C8 z4mI;-msQV45{aTKq?cV*y`v(kyX>;+9mQO0z3j5;9mP}OYS~5J9mR)Z*(KG_P+*;6 z`qScxU3N+JA%$0vUcM!~-Emv-%P#O9w#7AQ*#+Jm#aE+Vc7gYh;)1;F0`DOeR=L1? zNQG4{@E%fOl?%K(Dwc|67kCe;u*wDALn^Ftf%lLKt6bncq{1o}cy|tz>s58Dc>T;M&V!YUVd52>)q1>PM+r$jHiz^6;`>xdq{;2YRjWNJ=hci)g;mo&6;`eCsjw<^ z*UhY>@x>jCUJl)LLn$7PYPwzy-E~LBFNf~BqvC!;cYRFd+z8!uN5%by?z*GmeqErQ z=d+iTsh3@#J*2`a7if1>&J7o652>)q1=>R@ta5?&kcz%?f%cFJt6ZSnQ8_nUpgp9* zs$FpOsW*fJvAnZSg;hKG6s!uC1Lwn=2(>B5xd9!fWgRvqOtEHEsPwY(C<;`@|9>=A zu>SuCryiTyGZu*de=2{oJX?Ne`Nid{%g2}ZE@w+WFAYmimtI%8qjWx10H_rI zTKrD2R(wzKWt0JMO7VbVx$xV}14Zth2$5Iu5bmpg-e&(sn6O;vTPG(K! z1?fMezn1=d`W@*PvjVVhIxiG}4XJ>>0{9G7|9g@YfLoJiC)Xr*O#CJB9r_BudlRon z+?Y5uaR7Y<;8*db_|x&%#<#@JiLZ`tAA2tLwbp>qQ*!nylixBkIFmvCv#urtvHO$-(G1wh!4Kw!{ zQ=D0RT5M}cT-%%K!PcUWajpkj!_58hk9#*3X6`$TDon67%-j#LusqD%cNksYU~9%V z4Sip=mA_-p6KL(qHIyF&ONZLZ-?0Y>>zUfhU&jLo3y0bo>H}ny`B_*u)YecRun+}N zwKdcS#!wjK%Hqw8AsRGtW$_$DgGT%v`^Z|JE;+W#~vUWG_s}h&BMv} ziEl?Wx<7nSEEEQX(!jVS_RuJl1}wx^qZ)#5O=*pie@(2{~t zm;qplQPNj4ro}oj3Nrv0lSYGG5sbnNfDpqC=}{;S%+PYbVbw}0eTL$IqhPfjh2j8F zDwQWoYmY*4U`%m7>QN{TI4b5%C=NI(=1nLLI4b5%C=NI(=1nLLjH#T>p*Y~EuqqS> z92HiD;((*Vs!$woR9F>?17nIqs7IkV;Ha=F6bBp?R)yk#qr$3C9B>q@QX^L~Z^lxr zo25qlWqUK9EyS{KYUFbA#}G3d)X3%Jk0BOFR3n#@KZf`^RwI{_KZdwYRYos#GO#sB z^ie1Z7)EOts@9d!Y1mTkTSlk4CzH!6t`^&&(J3B;SF9SHEZ~f6d6EaAr5=THfJscF z^$itZJqqOjM@8FE4j5DHBRvY`07u1I5Xu3Lil;r410035Pme-5z)`SDjchr5Gg<5% z!TP2~E(6~|ut|+|%ROFi4L=CBPU&6GAv4qfiMLQ>N{=ELU`&O{kqj`VVgMrmm?o9jqZos;?sx=M|9^&r@!M!R?rI!cXp_8?fKMmu>>7!-uidC2BP2EKC{{yE=K=)g;y7D zr4s-%h3)fy$bUWm`TRTckLItg=umpR@ChljJDx{!PxalI~7-(^WGk2}!4Tx;%b?Ch*f1`&(^1Ad>UYP$OO)L{Sd-p9bl`3>bXEB&(c)#+2x2dB%aUsCP=&!iqt zJ(#*Yb$n|7R4)0`R0L2rf>6g%turn+F5-~7QSmWKF5Ot~V|;Du#yTJ4DqA)74A9_K+#2LDEd59BPFSr)Kw$tQSlMgM#7_F{%pj3Dy)im6kpk@vC5;Upj7=~kD>=j z)gSUGI*?TTL7$>kb(bVy@9(Tw$<^=o+KM^9exFB$5Uo2;fITuQ#-Q#z0TT!|1$E~M zuuw?Yy7L5Bh^6|2dRTprz7Nf#RXmmTyYL|(9f_}*`kfvW28Da`Cx^vR9@N9V`4fnP zJgA3z^Cu9;cu;p40@hj_;z8ZH045L&s?=`|^?-%&X47@I6<{kZ9BEdSxuJEp6(Gc@ zdUf4x1qd<5wRPQX1qd;^-F4kL0w!4IhSr@UAjBd!wC)@MA;ugiU3XgnLX6LduDh)O zAx77`uDh)OAr`NSy4wm6Vv!qKcUu8MEW$~3=M9)(=^l38fC&{VhPv|xOsL2WtvheP zgo@nIy7LB1DEj|Y-FX8h6i1(`J8!^*irmoph3qdsyk-@HKl#lqB4Z4J7>Uz z%F{Y$fTdK`AQC64?wkP=DknPU446bup+rhk%7xert2<`Kg9A0b3TCy#zmg4yEJ}7sb{dUuDdjThr#o! z>n@Ey#G-;p-KFt6ELyuX{t)B9)^(T0Z!jfc;bvu3cL@RpQ=kv-S5SBE0Ta5WgzD&a z1a%dTlL>^Dtp6X5>2Ux5D`u{rIhFK(x%`X2p#MKtdc1Uh>EhC}O10wu6qkzsT6|aW zWyPzDCl>cFW(q$ne2dios|q(2&M0gu%;cZS*Yh9GKbF5Me=dFdZ$myo+5g|keJuA_ z?w;I5r2e0g%Vd9&eKPxr>>IQ9XD_4t|BcyP<|kAG;A5FbGj~w_e;ED$Z2HaV`_dQD zHvp>XSZXEpjnoHIf1A23bxvw~YJKt#$%W)UC*P5LY4YmiNy!6}`NU7D0^k#g*Cp;s zoR`>{2;zUFDga-OzbpPo{Mz^_@q^;U*w16%k9|D$`q z0!ZXBg9%Q}t@kP1Z8f*fr!fDiIji%dBa2VB&RLxg6rL_Mx5hj24q?@5p9-t?@TstB zcaP#?SIzC_Q(@JNPlZ)wp9-r=J{4A3y&v@k21eAJ)%!q&RaWl<6;@fj4^&uX^*&Hx zmDT$Z#Z{J?vw9z>u*&Lvpu#Gv_kjwltlkGItg?DPq8MOTb5`#&C9TOTCYTA-oYngg z#py{ktlp0(uFX}$>ivjf(H_;Xdf(Amp+y>2??+U;TpL#JM^xm>H>}=|D6UUb<3(;< znd_a!Y!B7A*Q2;*RgHT*Di-GrEBW1dci~d3VI{wVIBNtAEBPH1A;5-}{0`zs4;ohT zJ19bc4J-K_6d}NdmHZCknyJ#T-@~Ujj0;-bu(ChGvZQXq%6`D25LCm;e!w`F>4ug4fW;c4VP!vHA>12Q_5&8Bgd0}& z0~QX8hL!z*ac!jwO5^#GiFOwXhOfs;;{wS zu3-4!RT|HeOtd>kFnkGA8ukNuVV|Kqtu*Wh@b2cXVZ;mhXQ~@D4avHL*P@UFuaI#<76Li z2fwIpoHT`D_SKCOr!b0-hTFa$nueN6H;$ibElhLU_runh`lB0e`@X~C+;026!=hW< z_I-!Nx!v~t5aY{EH{AAphefxz?fVW3)7}#OMao4Yz&YVPTrv zzVEOw&28UzSeWLv?>j6^bKCbrES#(jw|(DXVVc{%@31hxR?+4hz$q{&!fI=JdbAqSu`M zcUYL_^gm-tO%mT`(+#(eKg9BWI|o3BMe;>sAM<*h_?PM6xOP*Gy*(;luX}kECw$e| z;8Cph7BpO9z{D(A^6Q4%!EYeFp>cJm8*Xzzh;eDI8w$sXN!x+mX8r#Fg}-N(XTCP` z-kHCq`2XoMn`r<4Q{{U3ep0uf*R?%Kw`9N%4*GZ0tuA_x}ie{ckGn zAG!ea{95iX`iwJu!kH3xX@Fs3p`Kqeg>g+hzj_LTxYP3{^IjYrZ}q&%ycZbcT`+IL z?SRFZP2RnOlste^Nza?Sdx7E5dfw#SBgQq5o-c~aqJv}px}GmgVR6;@DJ-r!H-&|1 zSs&vvOV4Mfu;`Zb6c(nXrm!$AIfaF32_NH1PS3}uurMt)g@tLWrZAc|_wW=()8-!X zF)kMM+=EjXO`CgQ3ZrRr_fKJA+I>@4nD!zc<9bxj-8+SaY4=QFVVbGdhXYxJP3K-X z)moT#mygB6KX>O87N*@Xg@tLiPhrt(w@qPT+N}b6JM{IO(dzEH8H;lptuC-Qx6$eX zi*p;Tj#!NIIiuAD7TsdBy1>FTqtyi#rWvg+urSSNb;NR<8?7#|FwJOnfrV*Cs|zel zGa-6`g=r>4k64cL%l#WFUfgq+O<{5FOQ*0n_a#1-1Nq`9EV|{QDJ;6>`BPY!cHtBj zrd=Q~MKZ;UYVQ0gELxjteXdh^X9uWKJ$J6(TD+*{o;QWXg`G2n#f3e03JcSo<74rn znmc<6i#|VV3JcTDoWjDiGp4XG?Q|c@2l%upEKECf3JcSW+{arY7N~PZ?h7nTGjboX ze1MJI7g(5Por01N;`v;1iO*Los{{s~%S#u`wAE*d}%$dZ0py;Fz<__f8F;EyL!JMtuM+%7? ze7wyL+;qX*MiX^5kas|ew34~~B@|(WIjitV=We9~Q`l7susN&n5sRU16+U9HS$vfvpKVS`d8_>^e5AANZ*}4pT7N9N&O+!Pkk}n`qzv&UlS7|9=?!ZtRKJ zV-)+pFm@ze`v37yHBG#H7bRoRr_VQ2YL6J=O_Lf=lmvD$No*>m9`J+g6%I!7v4^(kuvuG1hg>d}8C|m{iaWyhH1n zIV9kQTi47+M0`khT{DA3v`I%qYzkc0Od%0%k`WQx0oOGXNT7{wI@!IQgWSAf1|ApP zbh10dIGO6Elid!(1Ec4i>~v<=;9Y)jUo$L;=SlrG#+3m0}&B<lj7VpM+C%YXMra9T|urSTZZij_wPIfyiOmnh3#A0zf?_{^b z!Zatl9TuiJ+3m0}&B<~>g~=47|S!Zatl9TuiJ*&SlBxSe;h+hJjvlidyr)12&fSeWKyx5L6T zC%X+M`6*HZ=AG~>g~=47|S!ZatlLo7$Clidyr)12&fSeWKyx5L6TC%YXMra9RiVmVTs z>~>g~=47|S!Zatl9TuiJ+3m0}&B<lQ3)7tJc37C^WVge@G$*@5EC-X5 z-42U$JK629IJcAC4vTX;+3m3C7ALzyEC-X5-3|-Woa}a3nC4`+!@@KtyB!v$IoTaz zIhdU6c37BZWjDpG92TZo*^OA3W@R^GVVafQgeeP*vc0J&fjGF8-4Ui0YLtPj=dJ7p zEIfYmR(1o%)Mq_!WjA1vT{v$N?AaSJF%47d)VxWs2P$$N=dI|D+Tu=AJ%1>=y||Wz z$laf}s+$^fppdE_;6h!`A1oTPb`V{1kdHC@P0gDP_o0hr3suzxZLQ|bhI^#2{8jU2 z!#z+G0(yRbJTZqiGGS(_m?j%A6wqHoH6zPo+v$5y1VrJ($S@TsRF=Hi{CGPviPRr1I5dW zCln7T77I^N1;Ec1-dcEZ;p)OEg+s^-@EfWD@WuQ)@{i=N&!3*(oL`gs9eoGz%enXD z{yKLP)d1X@Tc7=7b}9R{?E9$-z-^QXursSNf6k0DU(38N^UBQ4nX@y8Qx(9c)7|tJ zs0!f2=_}I5r}v{=fFGs4lln;NwW&MlI{`(5;H`;=5|<~AOYECS z$A1+6PW&VBzoROE=ftA38_rRrs}oKDN6wtKS|%kQDP#_* zmPyG+3R9|TnUs8_U{%mE_4k0{gxWG0`2;yDejCl`qO?uRWaI-C8$??sBOj=ENwiEx zK2k7BwM<4nP)tTtEt8QC6qA%y(`4iW#jQ-LX)^MGVn&{7nv8s;XjRi>g1I5=`&@?;nBZ_aeplNpC0|c9brrCiXL42nLO_PovLG*3~O_PpKkg6l@ zA~zncErO;=$B!V!8iJ-t$9IsvIv=fRf~HBwk0833f~HBwk09Q-plQEy^TTB zY`CXhm|Q1zLZxYv@EycBNTq3#@FNBnQfZnb{D{GIRGKCUKVonhm8MC;j~HAAz z9mD8HrD>AzBPMJyN%#>HwwNURhzVOv5`M&lEhY)yF|l!>X_D|GCTuZD_z@Gfm|A-g z6Sh!!V>2b#n}oAarTJ{ZaI{sLW@o)SCf0luX!igkY$qD$QMz30rnb zCT!UunXqNMWWtthf}wn>G`C77Y&l#qVapcDge|j@30pP`hI*;eJWMiS%O=T$Er&`b zY&k?Suw{MoVBYECo)t(pTHicKAYsXY;SuR|N=py1nlX`cI--dyZr_AofDW1_at;t| z37RHy9znUX*l#kOPY#Qf$%5v-5{mtU&1ZN}oO2%uan%ttO{u)dAk^eR)0E1KAZB_5 zO;ailAe>V*O|(3OwA8^32&!qK9$f#T=HRntVvfnqnQrr8k= z6yw3FX?BE%ly*zv<*KIH5e`&dk=YR*QSXXE@o8=>`I6)nh2k@$@`^(78B)9=*8eYw z?Gx$$8)wd(nVnfve)=!e|Nn03qon`ur3wH?m-Z>8ia#uVr}$CY0dQyW+~SU6rSRW{ zLE&Et?<~Bma82Rl!hwYn)c}~we>(r>`~&m_z~g8SKqmJissZqk+~4JH&z+OomRpzo zeYT(dQuZIRFUej-SpWxTXEMLaG&7&gye0Ec=8DV-nT?rz`e*6yr$3SY`}B*_7pIR- z?~_i^K7j9}KAL)zz5#eXeFLzXT18&~_*(M4$-hqCkUTxPDY;wXSBd$=rxR~V+?TkR zb^`2`h{sprUyr{({z}ROI5WOEzDMjgu~zJ}vBzT%#4e2;LtXH{{8MdvXDGfTEmjTekpEd_LONEf7(mN!!*f02Jmy)i!(ecL9aD zNwv#nX&g~p!>G1(3;-3qVI2cNMQ>QgKtyq0pK4pj08p4sRoglSfQr7djsc*eudHJr zqPS^Kwas3A=nc$NQf=!QfVQHqtY;vixRy|D>lpwlY_^^Opu%SB8HgyB8c}WQ832m+ zw`Dy8K+)!w^$bK5-}9s%7@-14W;MYTfOPXRHqww5)f)S%pF-Xj$(-1mXS#E$ba{5M@WuvfhCRik8+p z;2=I=LCbmvA_)B-w5)d^g3$dz%hczKx&fcApmno(hr5=z;161+LO-+=)|v|a0HN!H zmZ{JmL42};mZ{JW5C&<`x?UP2@}pYUNr;bC(7M)xqKB^Wpy;8iB}AWC(7MWlFg%0S zl^zs5WE}#oZ^aU*WgP+zVpWZxWgP+$6g^}e0uh9#IA~difP=U|4qDbB5JAyH)*%o< z=%Gr>?8%RA8F;)ZEwd*-V$eU8mURcXgF^SH*7^7Va<&_oqgv;A6jzt3b*@LnlB)GQ zj|x|0>l}}Y7kBHql6o%R=Xi9du=#9{qQg>*m%^HNaWnWH=^ zghA_B9+fY~BRwj|=`$r2Wl&V>2#=y)T(x$26uV!wc6wBf#2p^R997lY?ooNY+dL}A z+E$Osv37WPgKR$wr+drP;p4Gpp&Vw(dL>lL?6@c0YeJNqL@g#-v*RA9 zoZwA1K2Y>f2d&V(FgY^L;6cl5xR08m-!y2MO8gPT=OSpCQhO1^y)8k@l-i3RzO90m z`Mz8PW&eksg-NJZR9aH4(6bOy3}UHP=vfFU?mJN}t6wKQOp_WuZmj=b94kfo-|qj9 z;{W%RFD@Td-m4rht(3lAdVlGarJG96DQ%OU*c}F(a%Bt>dviK=hk=7Q_oz;&@hJ+(n-3^b1uwHs zsPRK85)wM0#&=Y-4K@BOf2DNCE{dz-kwcB|D6AD!C)D^M74ugo)cB4ZpgMiDyaJna+ipGpjJHU)?dAi(VkdRmZa#>xh~(?G-FyHTm-D)9Hy;4TM@hHs z<^#Z(hoRec^8sM2=cU_r^8sL78tS&)d;nOi4cj&!Ai@}AP;HwJ5K-YYZrgkSq9(DC zV%>BVs9z}r}v_tOz z-z=*1j>XA?cIX|LKvXh8JM<1rAnpzi+Q)>iK6_Z+?$6W);{j zCTm3>g{}cgT$|m@P6teuY=^D^N5#Vsx&}fjBM6~uz){gQbPa@5crDweKtH|aCls^z zR6Fzx(8o=;(5J9P&V10`Ht7i>oM$PjptZM3h;IB!+a?*1R5mSlfw`5oO)>}>zUL}! zn`96&+;~uF+a!aKVdqxbHpw7lct0y`n`98OS-2_d+lQKrfRKTis(r|0)YAHf2bgpr zwGZ~FaH+Hp@+dm4RNMLm$Yo%UJS$(B)-MoIES0O;)-MoI)Q75V{Q^WM(NA=osJ8VB z02QOx`UN729jw~cF91|b^wuu`RLncpFA!0oBihz4093rlH-tSoxgxx^s$KJ_ybD#I ziuq3aRJ_QQPeoq^9>qbW+SWS|T@kKtRoi+8fQr7d-hqf>5+w`YhhtUy{l5>){O!!` zGw06inyJpLDv!%wFMoh40Nh%BE`0%Ted)hTi=}@py{Gh7r5j3Tls1=E7k^vq7Qa}0 zd-27^D=Ghff2slSJh3$p)`9I_r^8ZZP|1Zs7lRt&N09efZJXg?OaDd~5Q-iJ*F^B7P`Cp6o&DlySw=qeY?6lGlhj| zs(+WPuIYW2zQy7M;?&f?f%G`FdQy6An-OWs4c=mNSJ%!;B)!oz- z7N#YAEY?ch#1s|>w^a#XFrgDqcWqUI5Ys9X=Ox{>RS6J-X+h^<^XiN++|Ho$kO$GM zj;%;AX}OtGzp+C*wjx1@d835^B#5wFHg~L30I*m# zcdSzYu=HZxZD!O6qd3+b>l2{s*=eiSY~e+j)4v_-6F`hZykmU=fQ3BnSf2o5xF5P> zeF71l#TAt9Sf2o5(c1b12-8Qo?FtKgFuG$45+KGWzjO0skVdV=!EHeTY>iKT$GQa& zi*B)Q0l;EX>R7ixh{<|XV7g=70)S9x0LB%P?%09^fQ2WeV?6^A z77M73^$Y-ot5zNB8Hngk=rYx@o`HyBDRkAbo`Hyp&`HO71|o_PQq{4Zfr#QnsXEp( z5K(-rgO1G*h$sa5gO1G*h#<@~x?_tF5TuWY@Q0^6dJWTr6)t~BVJIcZ3l!`rBzQM&~l^O-)12!s&EThK9|>5CvLH`NJK z1UQkAzb`CSx1BIWAf%|ORVPdl2q`{5K_^TRm{5^N)d^DsCJ_A>suTJF3}nwQOlPVS z`T-n;Zc?4l4-irjJ?tDmSyNA_R7IWRd@7E7tVc0?s5-}Z6kklLbF@$4m8m*Mc~p+! zXZciE75W3hD?(R~>V*D)km5j9ozNfPsIV&Z2ZU6(3Ok`cAf$5KgsB3K!hlqr&>;{~ zTp_4Vm?{ubR41wvrV2O;y%BW6RDlWI1#hyT6Q&AGAUfoNPM9hXLYU8kPM9h%fjD6Y zoiJ5k0!1EOCrlNXK-^Lrbi!1D5JD#fokPs?&RGrgVA7`)VbvOR4wewbZqPZ%gQACQ z`9618Ob7@%b`yewI5`C!y9ptJqKE7z1aeu?Ji`HPVXfVS5J4DbLC0=Fh@i06ZbEPn zLm@%OZbFElnA`0pga`_Q>?VW=3WIExKm@^{N~dPFa5xAr$x5dx8JJV)Xvx5uN=Hcs z##B0iWME6ssZ8#37@LMwUC>$YLGdK4^B@d7oBzL`tp9i5OtJj4^1qj#D8H_JSNXj1 z&T>%tBdPx{m)=!+q;yT`q|!#({r{ulw~HU5=>N^dGmD26cPsp|&?tPO@cP0F3+EMf zkoNz5zL)<({;l~3^Oxq2&hM3v<(6|_&Am7GH@O>fr{xaG&18R-ZDv20eQWmN?3LLQ zsRCdj^YctS^U2H`GxudK$s9}CKS$C3diqoJ{l5ok-~Wl}1JlLSFH()vr&4c9-JiOY z;{W@mGRYq&zn6R>`8xUvz0h+k=J!!(H_0aEjpL5bNzO7|s{#d%KYfGHM4SY<+J=ATVWp zuMB82mH}MfD+wf86(h8rGA5!_fc3qCK%!M15QU|%RZbw$Dhp_bY?Tp6v`PcoE?cDp z60MSeL{Y@`y@WubRU8m`-0-?$0zoU)Tg5|!r1zHDS^5vnx$tbO?!!LC;njV}r|@*E z?t_NX3{6W+aQqa9kLhPiV z%gOv;5cW~fy+uOoqM*yk{Lm5|NkNyB`2nK8Cg^f9KR{fI1zk?&2Z*y=rTYS&a5nSg z#~qIzi%R!;$)JBK-RlIy{M1VKTEQ^wqSC!aFfsXcuNDlKS(WZpk_lU`6byY)mF^XS zp^&I_FBc3YRi%5GU|2vZ=yC@C7J6sQZl`ZXZx)}84!WGd4-l^~=(0Wsh?f|2S)U_> zYYe))r5_+(WYFa;{Q&VQgYE?q;$;Ti^Cc8(v+j8WO;s?GvLsjKrJO6Fyc8?SS@oHg z7*!9tR+Kx4)>gW9V}AtkQMa1hGAf=WjkTIQf};1%niy-Y=5SGQR(EZjo;-?FN@NRH z{N*~^&S%)QaeBb0WOdiZ=@G*VJ?Nfh&Pi;3X8E9dst4iCqPsRmPc3i{Aat!*7Zz<3vQ*VX|<4Be@_whka*lnT0Q>i{Aa=eBhK0poO~ zyS5G>VsUO;2M{pUM$%nd2N1DnZR-F=SZv+YU0Vkbv1o1U00PEpQMzmE03sHxZ5=?s z!b#S(bpR2I);lo_LBoOS0Y=Y;?(UevqP4992nR=}y6)OKfQUtFTL%y@ZrjjZTL%!a zXl?5N0!Al+V*7 zKcYCqRM*D#fr_>^wjWVBz-$e`kWK~BYz;ufaO|LK^Zp|&reK@*A3-q%+xmYK$bn+q zBBi^w{vTjWJk(uV{|~WvV%Ov7;e+F+A#``$6b1>PySDxx9vtRa*8eY!>A#f!-zWEQ?q|90=RTf$eeUku1-T<~I{Rm; z{rA=Ed$WI&y@}%gTeItF2f$+HUo-E?{8i?L%o+3@fYs^WQtiJlrvD-R()2ayQ_=^g z%c)y$I3fH50#@jAH?y=po}+04RFMI2Ix(gj~-!766JK zGL8j+qKCLj0NfQ6FG25m35AcOcbx}C4{?(6+`c_17dd9~9Q1p=TF#v=yROwyBZjA^+ zOt#YFA_2gle=0pL5&%qek8v=B$0PwR#)xq+02HROgTWn@T7s!Tj~xsEF{woLcuRnT z95M%sRFAg=2nt=Rdb}k7DfX@Eaftvy!D7|p5&?pO$*RXC0+5QRXOBw+2ns!{dR!tv zP`IL?cRF?kMd#4R&|@D1G{q$9pvOK2fWkl8d$tF~IZu&LPGcPVhr^0$nLREK08luN zdR!g=p*Sa(2LOnfF+q@4IIi>Ih0ED6?ZvX%&k}`U{0RW+B$r}Iw3fEfi zSsoNEkCYIHV9T#@JP%$<+)-Nc` zW2(ooenG`E!Lfd%a`rqNFLmoCEFc;5IMxqMQBMXvj`bsi$2911tRErtM9||{KSG!s zf*!~E0m@eh$NCY9PU39<4wAc0Yy|J|HUOk@;l!>2LE&mtk6i_ViVkL10Z=JAdh99? z6l@N99PxK_v)BC`@ka+rFvDQpit2Ixe|TEniGdcY9_RlH3MQ)_=l>&>Hgo>J zprS46R1Qz$HgVNMoyruQs5bw<@|W~K*Z+Sr)&IYwd~|v5a-#GfrEiu#RQlV}t+fCD z@X}h!{%;pQTYPizzT!p2Ba79-p9{mnm#O;SOAA*OPAKeGNauf$|7QLJ`B&#}%|AE4 zHNPiS{_o|!n0tHf#knhUC*=0eWliq?N3*ZZ-a&Q$x0Ck&L#ChkBIW)+l({T(OlI#) zJUvc-E&Y$_SER2a<^O+0{~sgee_`^-9;mR&%6p)~Dl6}S z3ahwa00%_Ez7isHq3Ba#6&DN;ZG}~Np9-sTJ{4AFJ&NhXY9ZrOVO83v!m5-{g;hzP zf>ptS75c8PFpwH7SfL+5uqjxGnOQA@U{bKK%7b80(C6I&(8rhwAM|;506-yp`ww~$ z4eCGOK{Tk(g#z%f!XPdbfDn7AZw0=)P7#amTY(=zVUQL05flblfgeF(kQMk56b4y= z@1XR}Sb-lwVUQL05flblfgeF(kQMk56b4y=@1RiPeJk)IC=9X!KZ5Wc3HnyxJBTkv z-RIPQzGW2jBoDONdH`XiKBxXm4CmE-PW_h{x4Bh9{e~Fs5X02>=SWQT44SAfhN#Ro{97B8p*4)wiAipm38^-+BUo zit}1eKtxeEs=oCE02TM>bgwtiX`=eP6969y;Wg>=P5?p0J>s1Jg2Fut`qmo|Sp_L) zLEm}&pA!rOg|CK?eFsFPbEc2J z14H2{R(7AZz$YbxTtVcVedjR|DWUm_#k-zZpojW-$LL1`)#h1`+V-LxrcI>=Z>S@ z|LN=xv)|5sn0Ei)mVGWo|M$%NF4H3qz}qt~&Rj{=|M$;i(?3doJN=>btJ629&rBbd z-i>1ajnpSnuTQkJn>}WiNvFcJ4pX;P3#%} zUA!CreEco(2jZ8+kBV=IuZoRgUx~dZ_VU=ZRQ>OOSdR3*9&nz-mRS<|aW4XnTq`;>NE;j=oh0zaZS5$gfh0f-JwbG&#h4!90LglWE(c5@v7fu-GC z2S8%5TMxJnfWVmFtrs5lF?##-!b3h5-sJ@w(ho12zn2$DJhfm$`ar=jwO~W~5yiK; zTCgGgh+?j{S}@xMCeI#ih8M3kwQ#SQl5Jb2;#Mu(<59d-YT<5=iUst-3q6YWQ7zo% zQ@Gw>!Rr3VDi}X{feQeHcWIV3+KMmr=>;wTATXMx7q|d`z-X6V-~s>=gJF8%79WfG zV1Ww&U~4%aEN}q;fyI2VV7&n0Rr4$fLqsoFF92d;n)Lzz7W2V^^#TAE^TC4k0)*I< zHI0U+Ua(#Oz&K9yg7pFbmIH+g07TbK8?JE8u)qZXkP7{`zy$!1qCZA0T;Wsb618x- zN6~1taG9X~19_=W#gQ-ZsC*!;`VYHfi+8OZ3R)Tjlk{)y5KDt?FKtg9BR`Ui@uuLZ0ABZ|BD)q++35k-Nf7OeV@s91|G zSoIH7oY$)Vh;GKU=z>-Mj>^*S3s(I{6jS5Wf>r+!#mYr$!K#0t!YZr&BZ|^WEm-v* zQSrT;g;T;&XYax+>TI=evPV%ztA&$%Dy%xuqau@Ifhz%+XK->}Q6X!AD*+(I+{IwQ zW(2q^La7lf*o=S(f=$7K%?NN1D}MwFHY32n9k6B(7Hmd7f4Hk|t8qq=gdPK0WOF|su!NN`nafk;CJ3I&mRTlVrgV6J0d~ciFmF;%N zi&#dfg{_7p%$#d2TDhds8#q8m9wf<_&~+l#byTpg)3tH{}9*z8_j%W=G`-o z%v?Kj%FIEu|NrOZCu#rxqvbox&!g&p>q@^XbxWTwy`}U(>5|e>r46N3RQ>-e#djAU zDPB{2cJa{S?uB0$nuX64-dwo9a7p24QvZqkf8@VG@&8xlZ_b~UpUtn%{a3D?`&{lV zxd(HXQSHBH= zIQ8|^`%|w>-JCi*HJe(U{B?3J`3cJWer1`juJrxFhRDirjD5K|_R|Ga4z@uj{Z{jPbGA6+r(- zYg2we9Ss&&u~`vCs0I&HQ!1@MCiB6~8$D_|c!-*A-%g)o+O(70$vn|Hs0I&mQv>96vVffyJPbvGn=`i>j8!F5t|pk!_@(4dV{ynz2eQX#!CU5RK4Wl$*K-W z*GHVXR2r`achaTP#qozT_hl9cG)T!K+sMH$=`DhK188tF9GGqkHVp#Pi}N^CSYeXA*@f~Twuu0$ptO*Nph02{W_ zeWuQ#kfJoUIw1AF;cyx!TWGqVC&e2L)dA^u# zULJ>NvmQ|LKDRU<_2mc^FOJ=T^?*tQ0G>6D6u?v@z+sLviNU4^7fNha&#tu^(8vB< zYYHgPq!Z2W!Qgy0d%G=L=M5S?phW%+Jh##yrw{B*O$?OEk61pLdO+0zHqgaxqx(UV z?5xqH&aTSf9J-G*Dz;I#&@Zql4tn0%o_4V;9ZP}5hAItd?A?hZ$tgr88< zb86rud`NlzbZwo44=IlwN1cS9P!!r~;3RxVg;h?%TPmf-z)AR!3agGYVuEgbNQG6$ zdQ`Yd2FLhRSaq~V#iD+2luw0K&+@6T>PU~G4?qo`=~H3V5gtVsfg0@csjzCNPr<6n zU`Hs}xhH8=5#8O&z=?UwKvq=-+hjYkHk2=VV1xDiSkm*y>jm`d>46Q_14cov2R2v_ z7!|o5a9M!R`)Ur3HCXh3%K`{2+~ET*3xHU(o z23Fcnj!muQVAw}ArWXiSanggmeJpRtUOvVfq6SvoPfkraFTy82uOP{v zCqA(1KBB@WKCtQ@s2B%a9>9$Q3Ox%)m>zI>0EtCwE)RfM7SSGXc>sa2M_B*ghx-4T znUiKV&Sc9!E`O)|;qu>>Zz-Qu-dx_j^sCZb>64{5lwMdmm%jeDw)kJgX7N+SHxyr3 zJh!;5xVG?gp=|1iHe{1@I^d;$MrK_nw zr-rF7r{0-*N$QH!aj9p}cmKx8uTtFqk>oYWlad>gxx|kW-%5Ni@v6j4i8B(L6T8QM z6`zZLGXD4Rd*Tm&&M8*-T!}9{ihz8{L@2L(fmfC+D)@m^T)V%-Fib0 zSw#buN})O|(&8_~yz#oU=Z78h6%Jhgr$#Op<4S za~)^7nyL=d$jN-;QFq7JL)z=^%%}C1aSS@FhODM1S4Ra+<%&xWSxryqPG0=-3kn*? zqsFA9{Kk|BA2w!PD-G8}N`*)4b^9VE!-trbgZ^Dvq;zJL=;%e3)ZxL&E#v9^#oLYL_T0SmH~DsOWw&`;isS0yt;p#~<|OLK+f`k> z#phB>EmF>WWFA$&^Za;}HSaJv3MH;C-UvshSzyZg8$2$p*Ne10-W{G^AX1CzMcN?m zFg-}7s=4bMy+~W+5%b~|Z_KqG7ME6CyvEqZ^+{ND(WMJtNOh5d=5+Lkdk^a3ReX5* z${VdC$v0-dp5lzFE>hfl1JzPxt7+I$i99h2R2M07?)WVE-ps=x=>b}@^GsKJ|uCi|6qp zPaUv>&P|6Gt@R>najqjzj~t&|PSJXiwK!|#Er;``a_#mwxHsoWET3t$NY(o`?4qO6 z<~lR!$m!%c+<2CU4SjCJA2(|8Y}BHpw|A1O5-Xa>X1l-NiOz-LG- zue!QOn%o_neZ^)Ifoon}Bvl@9>OAui7vQAJ1(%O=b&-^L#QCWZH>J8r+FWqsPk`f- zIu~5dCe=mK=MkswHEVBZPYT^}_6>WBhDFlolJip3wO_w@d}2T5^e|InM0$~;?2PCY zW1d;_c@Ec7EgnlZl`*ZhXdaUx=1QL;xyH8VgXKc6mE|= zEmpjVj)eLK`u3jv&J)iDqTBT%#oR5YXJP8ys~0Ki&X`B@7TO+V0_$*Tv=e{BPU;Wd zImIg_*)J4$H|iwh1=l!O+(`=#YD^w_a{tSyL$J65p{WhvT2>aflRM0{6c?lx zNv%&9-75O%E}B$bq|kd5gQ0GbF`DWk1>XfX+mhUwtBVwVM?Nc~G}T24zzc3Z!U*jt z1TVO$-2|M1@PeBPH^38)`}N`hG$dTyaqwwnJkXZJ- zUfjpS-oa_tJ|5hB@)Hiem&9h<1>g-5n+lD9YaSNeq86!Ozc@GEQoX3LF?}6|o|kBi zs27!oy#;RIVQ+z3kyt+BdU3sny@RjwFb!s$+V+%~?+D_x9u_kn>;L;>t5(e{&3t+0 z9WyVTxoYNwnSE!H<(2Z+%I_&ZQofq1|Ls>!mwrII|36TARp}=B_TQ#bx%l(qzZah< zK3cq^cusLE>HpsrS`__%Q{hFF`+sDin*VctnE!JAo%H3uEAz+Y_sPep`u|sQ@6J7v zyDs5`=abc*`u<1W#gG~=Bt@^XCBF1lQ}7~k!t_{m}37Qrp*7F z(x;~nNtaSTPd%A>BK2tMj?_7+t*N!i-zGcB&m|vE-k-cU`K)A>YW@upUrf9uabM!X z#7^4x|8%?+|8)Ef@w?*Bqp$w0iTx(lihYK@`gecqlGstP4RqP7^b$v-XDN_Ovo9^f zY{`abOf7LV8nArO^%6&;Lrin@E}4(Z*(0iEQR}>KwFNf;VDxZrnQyo6+acNw2 z_>kbVjuY)`L;B=gbpGl0Pi;saos&P1{azj3k7r=D>z&~~JOGEu`~y(Nd2|L^d&~7{ zZFnypU<)n(<$|I%yl3hMo(XsRKafkY+K|3L7nwk(@NQylc$fGAU!<5;YQsDIA4q{v z8&VoNoPv&EK3(rdf*#Tqbn^q+&&^+?mAz0M8f8rbg)x^gm(CD9q zOm7l+84Qi6jmi4=xp9cSeq|{Q*lY=P*R6*vr2)%ZUL8_$y2Y%==pptr-;mPNB^Rq* zJ!Cb_ho`_B>v?(8)sWS6h^eram}AtCK2itNR4;Ir2g5UsH`E@QEW;(08lDj~B^e@J zhH7{^Pzua@r#($j|Fow@r=_eX@3hZ`rlg?7yDb<}N?>?B{N+z+@yXDX6RIRVNl@S7 z69x58djg!6o@zX>9v*LQkO?zzq(*w#^pJ(~#O2IbI@zj23T`{hSrOjbe8|!{Y(AYe zQ5~{$cAR?CZ%-j^!R1S)I%MsP?d3FI9a5NEa4GHeki|2!_pkm4iRIPnA**L-?Ky*n zl(>%A^KlI+bv?wqP0Me+U1F*0^>CZS^5AN?)r<%mJ>orJ@}?h-jY;E)ajJ(~B$i`Q z4`(HomQ{x=peMb;-@5djcf-T5`DAmod#v?vlf?eX50%)zCA3c+Pwsar?NmoBP1nPN zB=$S?K)gfiL3+~Tg>pbqyV0(Jp9~Emo?vIK! z*gf>76PK@toF?u%mnMHPXw;Ct@`hM6t`2vHb8n{?mVa%#dECFY8Q`3dDjnLa|L=+I zX7m5wMf(5hnG|6fzSt$a4c|92}rReG}YMCrAq+o<~A=F$x5|L+w) zLSO$2YyWfh|ECLoU%13lo?nfx2`_vFvd@5ryqJx#g)pUJ&3cTev8+>YG3 z?9i|WpTpV`?XdQK zK(ank2el>IV=aHc>H>dYirNx=bzPo9rr_6>jQ+(VZ1IeI zk$(gpm1u(zz<2~tVlNp1EPf!CowX$+fW;5!D)1CW0OJpM#}jsx5y0>RlM#qVFalWo zK#K4sBY?#Zyq=_;*rF$?vYE7j_F{WK5W1nZM7y!QA9(#h`?0+r2z5|fq8-`t2kh>~ z%cMQo@&{6#)Rt&hw*0|1?-aBz+xvm=Mb(yQXSVzSM?la9+MDhDKrCWwOSC&%{(wVY zcm&#?Eq@?&PHl;HXnQ~K`hhC7c|Y*FnrgLqKk$Y*J_U z)Wy{$${!ck?>}RdK`yyBhIV?~e@1rr+IN{&0jk8iSMaJ-|6a zjog36I6{q_$0*K09HACmEG+aA)s3HUIyZe)*n5OHKy8{+b`rVlD0v9SXLX4K)W~H3 zxVppvYT%xCTQ3=j&9~nk-+WKWUAPflKq+yYQbzyrwDMBb<5DZ@C5}_iQr0Uul-TttrD|=7K18=+ zmUoM?51xZcGU8KRGFm(Q0l5QZ2)?>xv^H>mWE-tL;rx+Qlb!E|UUkW6ZTj4;Nm%0y zDKYZZ(w;m*IFp5>?5xedcdgaZT0v!6idtGDs9ZhW(Z1W_4)~?$&M8AM~*D z&R;J$u(UgOYskqVCPuwp;?39&&w2qOBhEVgQ9Nb&!7&b(yi@|mM&YUMwb z7s_8KKVE)O`GWF}@}8ytD$SQZQF>kJ_R`s?gmNd|UFN#w-uMm=&{l_|)< z`CB}k0lTfrG_+`3nVK`o ztI^H&)RgznAG|j!2cS0zYEpiI-e@UxHNCpXM}uao5eI$g#GIl>X|2YK32o^M=0J@b z&e7`VdU^~weV(&GIDOQVUjcp{ag#|v6D#K&n-z)Udc;v*;HE~S!_^U|QajA2@cN9y zzQlP?J9(b$207PUk2vfbVt#Y*{N%72(TB~=(K!-F+goWdgOv9$^SLLKmSPdrBM$mb z=w>!d99oYq^RPEkF7+_ayUs8@x)#Gd6B zc-XU?Bfep48fr$xyK}1%=T2M9$?>wst0R`Ml(}p&%gt)Xn>IM&3*3Cr)g4@qIC+{L zTeHuZ{#QN(wb66wCGWO$Q6S!5CyiLa;t!+;p*A`j4#06QKh1Z<5;i;ly-~byLUqIv zmS-&URY{63dGcYz5>{}rimHxS!ZN1>a+9GiBjVK&OIYOcbzL2?ghg&@+PZZ_b;J@D zxc5@5jZWbX;L*-sa;JO&ZxvS?84=5CG@4Fk=?;27sE#<1+I%FQT9d-{qp~ATqz*Z~ zoISsLZDb@YoxuEtHzAnPZ|)LmBO_rsUe94_T4+vP!*RUS;~$tjbe^S!hN+E?4S!&E zy>mtcKl$zy)sYdgbOc^<+x4R4M#OUXkQb7?|3a+St0N;~kqZ^1M^wg)ER5O<`}F8Y z4-1K?Mye2I)6nF4Dzp}tL6_>t2w1}OjB<*b7dO!(6Bv%TKY)#X zCCs}fXtwv4=_8|GBkpa@&?6HXj<|dPE2FKHnr)sdlMau)UKt%8F}gCzwnU6>hh(!6 zquYf{kBnR;y+@;j7Qm#jBsSq-i|vLCiA^{-!d_bL$b^F@n8vDHwbw?p37S+LPcj5~ zmySOS59UXOe?Yqsc^{0tm9-J=gPw4@kF*B!4p1A>PUz?d{QmYlej^hWHfP|$=x^k# zjc7A;bb!q~*!d0Wo)kUelxh~#T>WRepC?coS>ejqu4%kywK_7w)wH)ikXhB$5p9W{ z9G@Dfda^wA1Me!RaJY8_x(e*5qW=Sa=I{qpJX{_@W=PjYdH)Bp2wH8FoBDy* z580_72yI>)W&9t=l*igA?f+nlce7Id4`iUVI!aES+;CL;@43We>Iu2%XFZC0SWNu2 zQB0hk--XmZ>Sde%znbg+f7R6gyN2rj9XvBr{#ALd{K@hg%6FH~FYhc@N`ENzOJ6L# zt@KdoQc?f!WyPzDCsOtQOyP%xZxudRcva!1!Wo54g_-&%`f2LBsgI;y zle#r^R_ZXy0{BJp`^hJguT9>TJUh8Lxm)6?#P_N4|7#PsCC;V_0K3JXihn=;MEte! z+u~=(H^+C2Jr(2+Zi9u8NRP0BS3SbF!f7tz%G0DdcWxc7LN*fL}O;1NB6CUOFY=h(8*RNVXYGwJWEE^}-d zx#uNX=GZbT9+n(@mpAi#?2fOOITstaDP0KoY{qn2vyP&R6V~hHvpnqGJ67e~+N_bO zZ%siUcl7Eqt8(D8#!v0IUOs(tcy3SP+_;JXpC+-195`HEW=$R*o%WL0&yWCTO%B}m zfGu-anK_9$Rtjd%q-(C1Pi9PA!VfL02r(<`<&!+@_4|nu%Z^pcCy+PC9Grwa`C+}r zoS#jU%VF}EkoQzAA7>j+@J?}4)H3gD4ja><#dM*TkC9ZmsFsh06LXh{v96Yng2v=X z6+NPsp9PeX**&w4l+( zpod4)%%1q%2FqJ0xMbUsK$T{x6n8;-nPbE}!_p#y>Nk+MMzi!Xr(q-ZM!-RIYz{hbrCb{G9_1J@2RF?E z!`AI^XI9G`BL*tQM|GKVu&F4msdzzJ+J3vswXQC6lo+_x(vIt8&cP#w%WJVYO~amToPF(@PZHzdo^bXxV87e;Kuie{-j#7&*tODpD*VBk;)0ubfl*BTSr{UG;^-1~BWMf?9x&K;1; zW`B_VdiH(US7fivo|N4`o6h_o^UcirGk=}AK647~{?Ah7|8J!~XukV*I%)rW>L;ZA zKb(4X>c-Tmse@9v8{wY)a@BH}A zc!jF}^(h13Ewuap;@GpOU@PRBP<&vSr-J+l0c zl{5DEMv3KEtB#FSrWNlN()yg=;mwO&8;U`zJ;q}Ba`{yyf&dXu}N@)=4PLA#7%qz zu-T^^V#Vqb~ZaYiGXhy+amgr%0Kj*UhRIU6tEIAe}l z+lU6W-$7Xt_()a9HvgKAORE&}1NqDL@$>0{)?-Uwt~#nPk9YZ&u|KIj?_ zTbodX<#G*N9UFbj&5aM9Hi8M;tK%^FI^^<|qsHeNzJs9cZM#?J{om3&{hgtsaB0~gNP*fgiEV@=|X3D(Adjic7J zu8q$O56^|@IKtqc{|x^J@~&6MF729bD@y_SxYov}g$LmEG6((T>$)~R)&GHfBUi_) zkj*8K0OxNaNu5z0pAvGTkLljZHQtydvT4r+?>M-Q{jbL?kpY_^AoP&Sy5^6ca%|j7 zI~cpHYu-i7Doxs78@sG)t}8u|qjARL3UWI?O7iNl(s7 zwK3K3hO|{0Inphv$0mRs9)P12m0K5WgUQ= z9zWTE)v?*wJUKp>GV=Rxe>R`rHnjR=*NAxOsPTUMoWjagC~k0w2K)J5{itBy_Z zn$^#woRCaotd93#+kwk$Ws!byJ!W~$N1&Gv9o;5Gx%PU@@*1$5x%HUkb%<&9^dDZ9*NDZ< zSL5}3cP8g1%_An&V7!i$$AnI*3^=>g*rZ$Aru0UTW~s4Bw{}z}v8l01x1La%ti@^d z*zRh!9YQ_siIOqvYPO2fqfBa%xFKr1`{a^r!4y;2$XQ(-+fB_RvuG;ex2fmM7|%=& z&Yay_;$hTdR@HoNgK1I|-Koc{ssVe+cVkx7j5$w)1*UjZ^q5sOVBhq-8SE7HV-Gkz z=%zp@Tv{&TMmd;lZs1wqyr?&2QykZ07S^1@!wycW+bY)>)o~h{(`(9e!s{_B>##X- ze;P5t=*iJ(jb%4K!`V$Rdcrw+BxX51Ho@o#=1&ANH^q zQPt&#;L5pHmD!l!Os_6K=yADfSIZBW5otP>mnZVdmRVy@`px7m%ZFk4z6kT~0&hSr zbB_6>H7jv>YQ21~#9p5F@;!j*!sNPBFLRFh z?P2}D7gPTKF*AG3tSS%7|6G1s`GN8!<)g~A(w|Gi(!Z46QF=+~iqdhVXOxn~|0w=j z@gIwSRlL4C7H?la-vrz{olX5B)k=LS^`6wLs6N1j zsbf+bQziN?U^n^Y?zpkMN@-WzL-@Y0cJKLjDy&Ob(qnJ9$=+ zm|56>ixANBFgg34E6O*l3XGH zI7x5vY>+bq0l8AlIN5XMOb@tooZ$g?j?*PD`7p-Z(X#h4AmBZ0t4$W9v2mJX22Y(b^S?!@CxAb-cbd4GxC} z^ae1_cmuXbU_w#GCJMZ}BT)-?izwti`8#KMnG`zndkVJ0-@_BEU7;{L{N3dA(C=5T z9Gch|{oUDrNc3x(SHjoG+7;S$9sZjBZk%Iulr<{{(cEuG80#}PZ&D0B{4)>8$sJg; za)9|cyHM%v70zdCRyMjn)4|Qk+Fa89<|vfr#~}d9+6e~)DSA4($>t`vfDxSL_xrlP zv$M-Mm(8UGExAzWH;_{+SHt#n0rCU%NtOy2)^oZhTEvzZe6xy%%ODq^YEA{;J@wW@&5w z8iaqPw|O|eRqu2ce-0OTt5^1ZtecHlN0`leX+!__ttNm zhsM5pu)4ycnLicJS$ihwQfTt(3X5js(!-=zSTu7+8z+y^^3rp^tfW26bDO&`y~3K= zwf0lE^a@9#0n2k&R}#iHIyZ?@@~};HI%{UroH(shycpsNYi7VQYEfNT1xGilRGy_G z+s7=LU2|HG@{{dwbNWGWP>k72Xj{m9p>$G>O>4#*$y;o|Fy z4-~H=kHBnkec^u!|5^B6;gf~O3oj{LUpVXkwfCK2w-r^IoE*P%l>6;)@A=3Q1>|z! za)}otXA}?=xJZ&DAc7JkjBQS1qYk$6I669Q7HqX0bR2VR+te~*8v#8#opTghr`znj z@7lF$*WPD-&QI^d_wYRRo=U5#R;~5cs@j9igB=DU|2|26%PvM!XMjRBw;o81DoA1n~j)pU0l1Rl}Z6<-N>y#4+5XWD=6i8p;8wgFa3XFD1dTs6eul3Gei)3v9e6wN2k79|!QhJjN6rVfP^M70VcT(2Nd>!m!_vztPpyNJ-w z%rb>4F91|0CqRNgi5CcksB>+K$f6v9DaffSwg&R}Q}RzF9!O!sP?5uS0ISp6Az%Rb zIu|)EH3_F=pG-1y7!tsrg4$#{mIjIXJU$NPcvI3(1fa8Fib#Nmq?3L^I(I_+r%t;! zeL*=L^MEq+revRr-z$T%{q&~B?o7w{A&fYm9o`gAVyt6eDt20qtNJk08`(+_YM4p< zl$z{vDBYhvj{uf0d`#{QYQ=fe8(0!#3B}K8qCU*@dS<{{M;i7->t^~>l1~L-Cvq^w zg`0J>NSTG^jn1fGO7=;%EG`)85H;?n*PwPHxT?x&Zff_Yc;UiHS8vaoUR6#vi^!Xj zek#h5k4uSApHogZu8B7#`&9g1*MvVsFc8x@Qy3E@$8%B;=_deK7rZ7fcabC=?^QVI za`heQtJ6y`yX^1P_X(!B6tj-B3py)HNTQ99!Jl5tnhk>3I62^w8n&?p0{5#i{edlHr?m7Ha=@I7M4*m{88 z6kiKq7Jk_eYe`*Te@fa3>9jJr6InNPif;r6fWFW;Ry{sF4Wea+JlzP&o8q$onoKU( zE{Id|bnbn){j8nyr(~Q^3}e9PJ`~b8$!6eIr|WukdSYHLrjp!3R>eWO2`Ymg7wa%; z&!3WR!ldUHCaF;h&3YU}BmmYe8en&Ee|l`5h4SX(5_(49Pf0j&0byp!y)WfzrpFk7 z(Fcep6AKgL;7xIPggMwE(#=-QZ8hlvIioJyG#xQy5u=HUy)OnOE5)h8DI!v&D4LC2=gPDA(|t`APHRj)xdJNfeR2h`J=~`ZSo(UpcNx$v#-Hw02ITo0 zsbkL)0PUmN4Iw6Zd!<#DqVlJ^mjN~UyeYXTiZ}0v_RpK{R!T2w*i{RnUI#~H_c0Pu zQV`a7L3RbxomGTbQe2I4856w-raKt~e13it)Xoyz!jQ74z^K@*_TC`}=uE=T!iv+5 zua$v9xRWwq&jzLl2Vosrlsy}mA`qkmSj9*Gf;q6QP`8?aU7eDqvgs1Qf$ptN{X7|p z9xGZYM}O+&#q-MrWbV{N^ryH(!D3({OU$h5F>ksquU7%9V(@6ao58jd>=e^!6T$k@ z$?Q*`kXOKT*Dms=W1E4>N7u{hlzs&Y!j7~FBW+~8I;CG>lXbSPPKTvrvrJc~12?%a z(s1)Z3ZW#?NIn1Yr?~TA0Zf--(&M&+1u*_N zsj@n4@`y{n9`--u^RnD&R{LcpMoxO z5p_hp>2{E_lf?*>{{OwTQ@0zZG=Qu2d@Br0k;7Dc67^V8@>a$&uHDs z?^YhcmjFM!@^>r$Y2~VwGgl5?SzD@3!8h_%`4H z_&UI!yHWR>-H&(Q)_rOBT6`hk(C$v%PUn}MhdZC?yu0)I&Mlpb@r}TJ@tuI*w;#nD z0T1AcCVV^K()vmD{qfzv-y;^_tF;Ge|D|?&?J@}K z|NYO4d5XZtg5*w0G3fDr7~LY>*bZTgcX9G$cpjnxbyfv2q6rOzm5McE;{swTa;{y5 zZv)Wv;>T3v4q#88Vk&Y6u#+f8$Y23r>Z#Qp#JGXyBGz3F;@w?@OUD=~LHwjLQp7mK zySWX3YEXq5Q=QwE710uYyh|BS{T0O2=QamKBN0T@=P~tp2{B79hG@o& z*-~QMn6v57QWDHA{ls0l9KdZAM55+V?9u={JYx`y3xgtPuhS?AViHI4CIAgT`kGca zB#vA}b)*+l!3zR=5GO)LUj*?JO%Cz}^oG>%3u8PgBRS+w3Ff9Vp>Pc@hv+ghD$nfP zK|E4~!D`%cjiVOCD~d?mhk3wKx-+y0tY!Eh>R^R2o{Y)sp(D*`6uXhd+v9qZ_bSARSAazPObKX(blJ2?T#f*N+$BEma3ln!}6mimIj~ z(-yUqBfOvLrYo}(kx?=gz+_RwDu}LTmoWio+{nXdc2KWklQ^092SFK~;zw7O06TU3 zh(S$74od>~(G@wsvwG2mb|lCvA%_CG1iXm6k^`8f;YH+?m=3YRPF6?Gi!Ldpt9$83 z3~JKf)BLmoC$D4x%-Z~w6q&NyN`SMJNGxd%t~Ddt)#ySFDcS^Po7THolo4qq2Ab04 zrvs$Ei61ef$slsiNNJ*o#F7AHQ_)%j1Q8>e0MK8N`);}|`w^KXurXxLV2|h52B<_M z+yfIpwkrr;P6nli&&%>6(o3jAlrt{3 z*#RfL#B}cT&_t>RgNXDJ0aTs`$eU^9N2Hg4a5iug)b@H2UMX<^YwSe$(#1OPa$>Xa zh+OTKAUawR^a1PN5}84?)ga{5FsW_WgddS&BFhKAirbA&cRxB(0cble4>dueBl5Cv zW&jzYOB$8qN2HiomO&(HTIMb(CJSI6()Aofq?lYpndKlN#pEEk&Y}ZJipfQkB=jRv zOb(*-br9jYlm$rfs+9eR9Fu0jZ@TYA2ikO;iRCxyWaTilDgQmg ze05fP5ks5ubk0VdbY8^JraWCvpR6_}y@Ygf!DJ3pg$5DnCEju6EP;nb%-vs!@;Gw~%2JafYYH$O-33%jSH~9aL z_rKTwRR5j*SN5;(pWQ#azgvIM`*rV!z0c!5z~AEQ02lU->FwED>HfO=gYM_L@9w_7 zdoykWZ0+ve?RS3F`9bG%o%eKJ+qt=OVduEcKAkbX6Y%5qm)jp`-_yPoXaC2w_i1n6 z`d#ah)|XrNx9)A-(YmyC65a_6nty8k46g-zxcTPhoz2Uer^5U98-Hj#*7$1Uew_T@ z*|@xM3f>F!>wm02R{tu#8}R1(o$&ro!JC0$?Ju>c_Kn)d@N&S5Ygg7zuN~wk$6-i# zjx0w9=6(@mA0)?OcrD;8+aP&r1+klFLjB9Y5x&~WX+&0DOxlD2r4FJjlAmlX13dJ~ zb5Q#_Idqi$gxc2utf8Hd-**AkO9=x?d4XN-F<~wlZJAK_@*X6d8}TxAv+@$W`y>dt zY8X4Fq%he+H;TtZ+{Jj9Di^CoUR1qun-A(~OV-(*u2F=`-4a4R)0%;eGNf*`@?f69pN7Rdos#7gEVRRj{q zhlM&=8lBf;-TY*~GN78vOBiD6=1}PiF~sh(B+A*?M?pdzY;zD%UOo|Kh{u%NQ05p9?ZljY9Z|b+0fyHdYIQl=^7%AW0NtJ z{DgYg1&mG#65JdW09%=y>skXb5pIaP3=sTTo+}Y<2p&9+5qXkmxA8={Axwj0ChE-vxxxX4+`V-HOdgrb%ZyTF7ILSgi9g!wiTIZW`RFtR|rm|Sv~TI*R&$p7;o914_H zQQj3lVN?;5SsZ95J&N=bo&XqtPLulIVIp)8EisjA|sP` zel@94COH7kOO2vrJNZ3QSQ2Gv)Ip37+v4{SA4iglUR8S#GqwnahN=3t~idN+!}_n15E(e$0p? zR>YNzXV`h9cL4TEKfa*?KxDGJ#N>wD9I8ZOazid)7I;i<$VoT$h8L3?a?&A4R^Y|t zhMaV>y1batModQ^xKEfF7RFbJL?Ci194=$)Y{pkgzjKI(s0D&|dr?@9U|LwlC5Z82 zuON&zfhU70ns+3KFLw|)RyOP`h%Xa_vkUU&YSvX8Us^`ssOF{l@g*Who5!m5_}Ok2 z>}}crKPF40Cp*~nbcXveSt18e#S_FAIc4$WPTiXzzR*D!R;KF3k1ucvmF3-e=gMGj!y_Ly8z0pw59 z%Bth-HwP$&{?rO!2Zel5kwY0pFFv`HZXNoVkx0ew)uCUF8HrS+n?>!%Cph(DuIiD$ zACoK6-xJVHFcxpc97_VQo@Gp`$jPCMr5``F3@E+g#m6{pg%M(xj(94j3T_}~h5E60 zDi*NZju+$UT3dG!vEj$!sF)1gZ>+Mxd$l$LHBlY7$ zO8}xB@*G~g#i;M0e#?E3Wo-%u0(|DVSn8UNk*&hcgA zlg9^){m~yskB+`Fx_|V>(e0y4Mkm7iUx%*%@bv$Im3vq2Sh;lN#FhQ<65xLfe>D8u z@IAxV4R0DgbGQ}X0$3URdhoA<&kX*4@Y=ymgJ%tn#y0_n{eSC!zyE2x2>9y$js0i# zkLmBze?srydq3`dq4xp21#nyM;@%0peS7P=zwbWM{Yv*k-8Xh`>t5VFzWe0v6FdLj z`Eloqoey;G>AVoW|5M@nZ;zAz$M8a6e)4}APX0IIJAr>}Jqq9dgROh;rN9eY$JloO zKHdE9cq#CP<~hwnn>#n#jTycZ@Q;nRHeQTZ08VdgYOF`h|Ih1RtKVOLWBu0pMR)^X z&-$?TtJ?SQV&FS!FRNWsI}<`O|HAYc+~7zDkzwI6qb{~EJ+}&Rp>qQd({q*}v-5`O z*-Ma7Ct-?jeUk(J;m9Xl00+ zFfZ`5CCJS9FvXK-m0V_7g()6Gt3YaqrnrSshLp4n)03)@HD6PFv8$Ym>u94$9v_^p zKt>utdOSA~XDD&aSMDSSDJk|6V%is^!tywIxV^EWAQhI!MGnx?gynG%oHojhem@o6 z=^)6mSz5id)M}Eh5MD0wqpA=+_Z&J>Au3V)S&BGJ@rGI6BLi7}Ge{3Non=%ixhT6y zq@qaCJcFoS4AVnRX>w>m>r1`VFcro}@<1<=*V1G7AQi^PK=6{SF%hPlZF#64JZoXK zq@>&BjRyvOvp?w@gInp2%+D8%kA75>HgYoLJ+Io;t13I+)Oltl@AP42@7IPWIyQX z77Z8n$A#47PVtGXyb#h9*_u7qPbD;{K$NoaQ=xwdz($5M ztnsx$x{EfM0NPfxYiDhjLCkXX(w(^NYFQWret3kRVtCq#1Ol4$@G2$ip~s#f?pq2HHccUra+a zA^p^M036iWquf-;A6A1L1klG^BjO`exlDMb&*&FrUW0U<)(?mg0oI{Ug#eP$;Od~C zdRr(+g#dC9t1E>7DiBLc2C2jZIf$~NK`IQ8gXr1_Qi%z25j8YZUM!PAhR=+)sVy6% z1KS+{oSb&P3J0Wx(c#a9RSz;5q}$zYmF3>8DKt@HIau4QoH94Ko1&K;79xrIgX2Y%f+Z)l(6+ zn$}EFSlfJsx5&bXAZ8(n%eQc>vzy$l2s)05VJ{u6CU?=&W*+nrhOn`l6FzMu(qaT3 zLc%m1?`cUo(lGn2OOP-ah!hsDmVr!BT^=O2OU))G1`^gd*dV!05M05cGNM0gDi4xd ztB6j#pXiK}*|YCQ*l%a-#zo61kFaR8EOR%DD1;sqh${-CW2!CX~EY#t$joIDzN z6(m9eIf$MY2Z@kC4x)$jVRAWD84#Jrm{8W&3zN$#kllI0^ph zM%(l$OfGga@u1ympk$j7gs{4x%T#X%iI71kj=#rdW=%CexlrV75K>NN4@iUyq8yekPud#3foV38!Z=Hj@ZdARFG!jLbS_Gs31jPnpj>dIafOg zTY)B$+DCpOTu_lm*=|2M+pWLoW0;7`gQsp8D=E<}deY!0j2ps57(m#_aRR7YZ6ah4 z0pXyFz{@ZZe@75lZJZz4v>-V{8jaPAM$@J%I(oW6XxE}D#3AYc2qA>xh+wZ#pFBuT zl`O&#aIYV`G3-Izv1?S{}}uT z-vW5g;C1l+&mSB$coI(jf7yQs_x|6}e+5qd&*>l5-?`t$z5jpdJ=lAD@8!Mgdgt^G z@9m0j0zTe-81DeStNW_%4c&9Qhj({D-2bBU-OeXEZ|}Ukb6w}0&Y_(hJI!|5{$~55 z?YFe=YG2kq33vW^?*G%)7hCVc*8y*8o!>gLwQH-}{6+Jj=KpN|x8^IF*TeTethr0G z*Z5WA;l`&M?`pgTUkbROacpC6d?)a?^+)8~|K9pt^(*S9)eovq>W$j0_TAcpwYSw? zQo9;209yY)$V9dAyoGUwIC4}y8D>{f4OoOLM0H0dy3K)fM+`F2Z4P2}TPC_q5uQ`3 zdlP1&+bo31sMEm97zD{!V*H0o_PThyj6skl9lnJc`(F0!Qo2qJKNEI4FNcP{?vq}| zyR}*nrnONVes&R8r^!GkQf-|~)R_hHH%+nOc-aL`Nm$NC(fAodAhjf@2KCVVj3JN( zV9&q3?EIo6EONDHyzIPkx=|Qj#+$WL5OfAKsVdk^IBhgl);FwX0|ePQTy_A&T4yG; zbTT2e8AT1X!1Zq|pp3zfoFXROl;mYkE2o?7-^6t;0i2@^lIfxmGPz`O>X{Ht`SGZ}mc3!QO35^_xD6&X{PE(FD&tIammtUhU06(n6QwYm#B$ouYRFp^WG9%yn25iEn#hEqL1By$U{s@W zZGI-ic7dpl4l*HVSU*~gKO7orHA2uRg2w4m3o;>S6hSpQgTm}+S<@I;TG8S_8<~Zf zP&5*>L&@Mz&HFGDiiVIJvT}VIuQ$wuqA5Y9ePJdPjSCg3<#26=7O1C*VRl#*(#8kb zp(59!8T!P8pKXz$03siI&Y$kVnhdi;Olfl12GGu`FcXdj%_|^G6Pk`;cJNXzNJ%KE zOh_6hmo-JhY*QtdwMBzWSQ^R2c~T5wnBlQ_Ogyv#cVHwQK&M2Q9Z-U}ahp{aX2R1j z7u_UG{Nj2_COnM;saX?d!qX7p1`Wptsv@6CVJ19H2{O~d&v*@&4TK?t^=Bh1{cInV zISmzD6EM@?&m=|%IXKAy=n-F#?Iq(!3jvx3-BtEC$RtDu3xaz91)J>U2uo9xW^ca-nMCP0 z2zRZ#G>Ou25CnIa(j-d9Ma-lNvK=Zd(9!lYiPI_aD1+>06B&Y{qo#g8+fV_pCdDbr z)>i;K%wZYOGbuk4qNb=^PsaUBh#Chl9q}_EY8=3BM-rvOcy3G#u!y=j2bs_`pd0h& zFN@oAK_)Z}iAZb}c*>+OQ8S@wh{*R*T_mSzsCzNTLHuYyOpxU?4VNGh+M=pUbD9P- z4`wCn(M>wYa+(GRT1@p~@8)MYO#{0`ZeisgD8>BqGl|r}E(U;hjuNkama{ZDfc30r z%wZ;xI-n!+SY(JtE#xqhi(3MrWz^WJ=EDph^cGfvTc2Sev_EZ5Cgw6wp+s92K{bdd zuug8)tRT7vg;~Q^#5|CNZh}Fke2rZFkeyqbP%9OOJ>6=r?cCzT1J`j#m9b%Q3~E+s zhv{856UGj+%i4%xDsel~Sp(@AVwm1xbLHEH4QdWk3EYuf3hB<3;w?8Ly&STEMM0X= zHxz6R6^vp|-xP@MPC=T}HwB`qGDvg!ra-J6o#yn7gIE#e^i6@->6PBZHLN{y0>RSf z+x}qh;WZW2$zgh96;jJMOrN&|SpnTph16IJ)9aTYCV#K7|Y=4-C5cW65*L_|0`tF(CP2HgL2Ydb^8fYio7(5K z4{z_(ZnWao*IN&?-q^aObwO)uYqwUXIct6kcmChpd=cLJJGQxJbI|x@rKS_f3^0$+N*2V)=q?ZU5iF@ z@zYCVgs7Z=6-9$qR+y*GVki~p)rx|z!Uif{T!G^LX`Yw+8rCBff}-nZS2p(EfwZdJ z1ub=V{p>jf1~QI|q{w$g2`iU*d4VDLyqxc{5=JdplzC}^;mEXHCLTP~cETp5i&*4) zc7au9!}{691y&LI`q?&%!B(lX^P&<~ZYM6PnzqmobEnAq*#!lL3BrxFXeXXQ(|qvt z%YArefnn;D^PTTvVjdM`o>yQ9o-XHmhKp75om*fS+j72hT&$As>;l8smh(N`#VYxp zR$v%g>iwb*XO*yWnP(Olc(3v}oZ(^>d7fTiH~}cE;=$tp$d0DCaxM#VYxZv>23TrSC@+*pjRf=4kqd z^S?^p4=XUNF`oPsayhhwmFM7=0>c_B_u&v1tMp-Wfh}!;2XmJKSHc(+1h3=|#AtKY zW(PSi+|07ZUq9Q#lI3(6u|Z<;Yu5F%11$zNs5FY@MmK55uQ%g;S%Db- zQkAZ5IplnEm%*Y0T849?H(2krHz9=uJm&)-#n*rr^x52ARQ|b<62`mOEqA z4h!O;1C^0++q@YsZV{k^%0}tRVayKGVU036#~!N8_$YJ^kf_suP;bVN9VZ=Kpf~Bw z>ZNpb3cVR$@F{+e{UQJC(~PgT73ql1%+oV|hs;SwL#6!eu2MSRd&<)ptW*3RHnUKy zUdCXZA|0y5q`#<~ZpvBBcumXxUc0-R-BwD*;-UOkvs+8awvb!gWDST7G7>xtJ>uCm zDQpe#3o;TsMCeUW3)q3lZkB=Jo*~46u5~{nzr*j6@s%3n&{^zfjLuO2#c5E0pD{W| z0W`vD|BTT&a#+HPpYS-0CJ!@VcGyy=Y{n~qK+Gphm1JR^wH71quWLoj<$|=9ko`Hm9MYdzjDvY%`4Bqt^W=1`hPO~?C_n#mkytU zbN_wt4ZvUE#lMdX-ZXe2PW=xXto8rgf299;MEt+Je^vjK{=WTD@0Y!A_x=IV{x{*g z|KOgFSN^}>{Y3Yz-4}H)>>k)L&dy6Zmv@fu?9u7qYkyyBzrXz&eCzM@ z_Wtd0>+#liS|5Rre{<{H)@I!7|1G}q_sQmc%{!VGHIHiU)ZDJ|XyfxZ-G6E0ipB|z zJsaJ6TK}i|2kNh_Uspc^_xZQ4{RUC}57ypVyQ8+Pc64pmT5~eTB-w%2&>6S_PqSo} zP3D*>1zIt5Cv!}f0O2orPQC8^=!paU;S?Sc}#B(-Oi;3cUce5@!O2jCT{ z;Xa`QFG&rNWDdL}HH4En@RHQdEx}7tLqLX;dr4|%m*6F-J-q}kN$qJRcu8sqH!JF{ zE|RtRnI(8hEQmXEaxaMmu^SG&B$m@k@RC?gEx}7-K`@$A_>x!<)ZxHOVmYYrYNo`9BUXt1&C3s0{ zn@jML)N-!CY!)!~Pwy9M3lGG4BVmn5ws8aaG61*g}14{6c)Ic6Mg)d1B z41xp0kEa`{Ovc)LzbZ^`sDSq^!8t>1H{iATlS}ZDQ1K3oQ+I`vT$}G*gxbI}UzJDG3qqWLH|(s-haF3I@`6|~&nv5P{^UnM;ezFyU_UHa8T1WvP#_kpth^0#@E{hf4EcsR$Pf!w zMts8zjED=C8Z-kfV!?`b+b{z+V!`TmGP{F%lcWTxL_CgD(u`}f7nR_p+_>6Q;UG7R+ppWocP-T1Nb7sv0$>;Kn`PaE$) ze!}SAMh}fXjxYb+4*&nC(axj#%FkE6yz<_aSFb!5k^cwa-v4ig-y1$Sd@H{Aw{3Vd zUi@p~dw<^xNtw+GJrf7AbQ|I7Uc`uFzl0t;{!zWBFuzXu-R;okr1 zy|eeK-t&6T=pE5}Qg47a|9;s0Lihc+_kVl$lJ1G!{kvZ0cb%W$-v9e?@1HOJpV-;I znn7>aCgPy%|Z#d##shBXNKZfR>9D1^bH470A#uc3%ttY@p1qqj^k<~GJ}G}F)otN zQbEE6cnh0{5@CqGK%wHVEHo(eZR3}b4P?IcRe{rM(f%t02}TxyDiA|aHy&v6B+?9R#pD7Y zbJSZPRzU$!&svVRK%9cdn0c;scOf3k^n6HUTIFNtFYrE-q|1Y+vff1U-U49>1o)H* z&dareU~wQijgqlS-7cK6`1FpZ^4-@L`{ z__aK@DB{(|_zQd)j_J9~i(*z6yP=iTMtFpwm}IMqU2QTB4Yl~y#V$4(Dh$bH7VnJG z^Fnx8))^c;6`}w}&H}589rJ=P?T|wY3Knqk@q77f46lya4Blc59V5cQFXZnpCQ<{{ zxpYo@>@7A(23{9(=Zm*kFX@xdpag1dZKLGhSVg-AZ~qS%~kB zV{zUftP-!2h4}7@R@}!sO%XkQ(}x3;=31UDS&CR5Z_(VoM5vq?PMXoyMvbN#YL4J_;`ZUTVdZO3xp;V zD16g$tMIUhi&k3IC2CIe5PehfFeeMdDimnNMVu_!E?V&rCkuov6nQHS;$(sMMhdjz zA5Inx7p?f|lSSP{m!yH`M~adw{O)A2or_jH>dE|W7p*wdllff^T0P5~%Yb39LC+l+m=JPPyMU9>8z`E4#*mDT)K7p=-_ev6A%Wi@}Hi!RCP1unWIE5t_F J9#v29{x73_m9hW; literal 282624 zcmeFa2XrJ^c|SVp>KsS0)m<%VG#ZU2ta_%Uku=)b+1=UQ*_?CUZK+#QkJR0o?pB&j zRO-P*1ICzOOfWeZn_vt!#%65{#$YhPVEo6}1Y_V&G$t7Q|9$sXRo|-Cto`13=bd-n z(VX2@)&1S?yE%N}-n!$q8%vGio`q_yoNw%z+_igGN5`(q_w3oVYnK=QpT_^zKMx)# z%=*`1Jv_r-@2+g^bumQnB$jq1-i4o?e>*j>Qv*9Suu}s&HLz0yJ2kLV13NXaQv*9S zuu}s&HSquA8o1iyPs(yfv5}u!DPDK$t+(HD=Pl-+$d$LBK6U5mJ$IhE;>Oc^%)kSC zORIbL+=y9scCdP)C{Zx%QSj?qr3|DE{P#6Ks#ocMhF`SEJ}q4>4&i{jDP4`P28`?J^^VwnCo!=X2ZUK)B<=+V%L(B9xLf}ab%Gx$5fUk`2t9}J!fjs!!2p9a1f z_(b6Sf!73{7ia_?3|tx*3Hbcq^ncR-UjK{ykNKDUxBE}}5Bd9jKlOdl_ZPmm`(Ej* z`R?=$dVl5py!V6NmwKP_7QNSak9d2epG#knJ|?|GdahKHZkMK|UeB*QU-x{%^A6AR zJvGlgo>QJ7Pe;dBIzH0zyB*K#Snas870@R%@m8{QQhsm?EF%Ui?}Ex1vwEt?V24QZT}VYRwZtP$R-(7`$i zK|%Pxx?Zd;H5#jo-lR>|kQp=0{Hj2>=Pa*lA{-~maZcJQV0zU|mU2_fBT9D7%2H3& zYzIoZK4&JDs+g5sT`g7!X))_BO9v^Rvu)LtS}}=MN^`X$Q7u~S+P5r?%HUD1B9!J7 zGo8#C^rHEd>RMr8C0{F!yOJvLq_T_E>f%aK$VAT)<(g7ph{G&aPsbEQ?*X)S1fQ93o0uM}$45(XH$cBNq@L5Z)f|>w zDG}YC4&FsP)W+#fdFo*D3vA9Ad-x_>S8aud9$zKTH{eYAlSeVN$E-vKfi$vOazm%d7 zl+_CAzE2uJ&<19>`6Vl`=U!2>Mj2d~tRKgkd+|43d*)v1;-X)zN@yXA1YPAb+MK&o6PO^%xxlCD(4rA z^>G_b-HLuzTBNM6E@34Wpv)~G1YpOdBHJ&0H%r5($&;xO$zx^}P@W{p-6_J93 zqNb*$5g_@+YAx@A(o@pGp~bax=c<(wEpC{2*>Am6EA<|ejPU8!53BYh0Mcd0AO-&tWMwQf3V+g!Ugo zOK>`>ZUIRjM0KyO)t6i~LqX{SCg#ctVSQuL!Q^6nHRr-o`=ujE+9Of#V(Hikrbne* zk_C;ktS*<>62wA!_DQ43mAWevJtGKR#C*!SftB&zz0w%s9&-l|BbcT;XY8&$SY>!n zrMOXNPn|>3kQrt%?H-gylKDI~lzbLr@p=Z3e)(K$7GR-!Gt#MKar*ew@ob?!Uz~Lf zLKbI4maa@zYo*1KkROU@4k8w*H;o*#CpHCPY_XSpDe1&;J-ov+ue zV7Xs9D8!;#Zh@&JCVy-MtL3?3jm^sT%V3|BYeDPzwH4M1HZJ#qZ=;wmua}D0B@*A( z+uHa>F@}TxE(wg!t4ZLpp+kXXN^T43Q9*t z@{RRz?6tuYx)zz=(*YeotaQ=6q@M>l6@R!VDF z$=P<>*&$dx93snn=zJW%!Dcsp1BM^Jem#U=pBBNdS0z+Z0%V&%4}mxF*~FU?=MyW5 zqlrZPyYWxN-@YUNqiWc{9r=Gp{>PNNBmY+$JM#aI{J$gr+mif_{J*&)|J$Owd+SG% z`;Pq2B(WX&pX&x(g8YvBza#(e$p57B*pdJLpOpWl(<6oQ*+OA@X=CEp+Wf+Wbp>4h zKd>wD&BVtNZ%sTmv6Q$eaZw@`|55z!<9{4~ZCsBp#cz#I#Z$4L#=aE$K7USu;eAGtcRKhhQcRrqV+4~AbH z-V8q+zAU^a^pBwrhF%gn6S_Jy8rmKFaqzRjj|ATwd{OYR;8O6e;HAN_U{}x+__x4k z0)HBKQ{aVxjld&;(}8Rt74Z1K?*F*|UH%vN*Zep8_xXP5`&-|ud|SSG-%Y;bzP-Lq z?=QVy_kPCvN8Z+cB?*kHEcCZ1+E#I zQpt0H+c9nJoQWk>2}bR$#w6^8t4mA`Y9d{#2Q|Q6vU5c{u)_+Rvr`>bceV0eGV^R1 zeNDnK%;Li1|2wy!g9u*b}Q$kfuv=$V?l9cOG@#0oU^QKO5+1%Xv8;`@(t3RlM>f@ zPAMDG!GZM)VC%rPr|VJHU_!OH*yMW@xF?L2%XK?MOl+Y9efS=wjwsYEZE7JuW|SJD zkcs$$QT8ckr70w|IR1>$_9&~;)X+w08ERiBZx^cYl;ORW!d5A)Pl5Zw5Q8Z!D*zP$ zHmwMhO@J|I0lSqIG{<@g`g+)Z*xz1dnOii_XDAqhg*|jCXJEc?hQ*bV)GJdLZfukq zjbg1^S;A<*3pZz&pko>S(fJ4RT*_T|cF!>+K zF6JA>4Ok1yMZ~WxqR^IsQHZ=x$&;b<*wicruFLo$L>p5cl`b=*73!|>`zf%>!Vl%e}UnS%}E5t}D4@yHkMsdC_mb_ni z0H!$>m0U+eqO@|qG|Hhossp|t0>>WZJ{bB~fEe7R+=~WY$itrk-35bVVWqU$quc|3 zmCC}(X1z*d$_!2_cVqgaU_K|ckY433%o(my- zw{jayEN}>EWEaZxXQAAy+={4hRDj#W3Pr_I0sGZ*uW}2*%@-j&rra#`rf3@FQ)!oS zlQfjF=W!m`qrf*Iwb-)XS;04K7ra}!9=YOC%!z!ra-BP1*=!* zOL?n?w=I$xJENQ+YvStac)6IbuhoiWhrd%sx%ipjq%tcVgavRFF05yY^UQL|vzSzl zI}te0ab&+TBVCh%O}+wx(t4?}HNRAZA6{Ei?pLO_jcEIQSrwa9;0cjx6jzGy->Go_ zEuL1Va!eXXEv`2vTFua@O!BZ?D{MfSkfu`D4{#Tdwl+>HIhaN{&vCTZ3N}x+`&XB8 z6kV!NZosN%H+H9T1gT7vxo;MyOeKgoq;n9W)vAbuta*;id zXwSmA4JwE2P77DcLaDV=+wT-dIgJ<35AeAF47R1TOm#!f=mo31Gk1>GfIND)p%uVKHEk(sKm*&7d4v4Y578F zWu;2_X?2Bug(N|WKn}%D=UydB-n~S7Az$l^5~0-LW)AP*b~o>g5;oyNaT{1xLS}O# zPaAM7FESYw?8s5QPYJ?t*UA~?!30SDf1+dmuEgIaUYn>TZcOY?Nb!G(KOKJylleJ%E>*!yC?jS~Q8V)w;P#SX>#a0=juI0x{D(dS32(R-s;L=QzfBR`A$ zUE~iU&yTD@127TEM0SP09sYdy&%$pEKQDYXe0TUncsLvgeLM82&>w|f6VgIUp<6-| zp}ycRgWm{#H2Buwa&SEGqre9OTafyP{Qv3ytpA<<=lU!D8~x+{xbOSE&-mW!`z_y- zzM}6&-!Wg>=Yh=sSKc>!f6cq(J>l(^zAF8V^gikJk}j=Cw@MT6_y2|GpFK}|UhCQL zJP2?9j3?Cb(~eJeyrbj!9p#Q2Q1t)7zr7loW^5k5(i{2t?CMg9Bqy}{2Dz?p)Yn$A z<17woVQgNjl_Ga2w)WfQ`Xg4@fEI#-OCigAgBcDU4m=1PTTybr+y)=i0&o){T{?CI z_J&?yFsAvX8$I(XVy5A(WRz9n*GM867Xz7pc6E zWQg3_?pQJRs82~JP5u{%BCAhIlgV*2gMuu@Li$t^@;PX=342SbIHX_#eEV-zPFj5o z4tAWRRds8;qGa_PQgeeAX-eIK+g|=0rm>CUTpf37unB?%^r|?Zz%k2dm4#>24QYyp zkLTAK@G2xHR_b32-mR{qW!U2a+*yfrkGh6UGJ9m4*6QrJQ*Dqt9>t(WU=K&sx^%}7 z$(?N7b5i*@Y?Wc!$)p(shVeZ-|>UCwn{cpt=fgx%LLM zBV^Pne5uzttds0w^K%dMQG z)s+i_z3Q?wG{mT=(rk`N^^7z!v>m%%wFC-`5?3;PDo!&DmFsLp6f@taE;7Jsbs>!f zq=D&y*~h@qM$&2#S$57g0$2c8uET{6It6$ni20V)dFe2fM;!C^i>%^s0!W!-Jywco zM=fX6JQ~5A)o8QK`jJhXQ6Fu=Oj+Ydc}RUkngs6!t3$BU2x8vS>chx*eF;0n)hc;O zi{KvhA*hL3V6_5`hcg2s>VwjWAv-_lPS~5|F&{b@jj9iz0~d2M6O-guiZR2^5VY0) z9`$}CXmb;sO6{-_^*$tsdYG@SVBbwCftk7L+p%)$z0y6-Shh+hUn^O4?WpQY)qA9~ zLmO}bg$@T3Fe!JK_F%l$Xtf>d$2|Mzip&?$PIOwmTgneXuqw21uzKe9gfr@0(mWd~ zjCj6W|DPs#LcLR39x@k%@p8VlTx=lUY?i|olE%<8WcU*G4yk-0>W%sTjy$d2j=qC) z2qkj`68la@r6U~cr8*`LoE|Hbm@e0@s~+`MX<%p$d3AJ@KJ^wpE^#=`(KspfW_ZbB z0!PzSAW?})rPZ5|k4kZc`fv>^taGH_$T(secg|n^>J8E;8yjsad zt}Yad=eYXCd{Sqn2YNU1=ZbXV3L-4iQm|!dd^K+h-NRrJ!7O-1AC=IcIGw7-;s8c;44YMGo^=Dx{>KNvbjbdpI za|;V$&%Nq?YzE9=v=UNaFL8BL8tPoMjA&=iM$~;$s`Knw%F5ZZd({!?GSYH2YB(qi z&wuI)d;y?AO9qAcr9Kr0G*bMzzRq@O7JwrfCSW!P2fEZf&^7VrY-8OD#3_x`nZ|l$ zqs6;R9i*7fz+QC#g;~bHVe=<@Af;xHnvo86WA#I)V0t{L8SvJt$`JNfp>VTKAMwZC zY8rmu81((2tkTHlWEikNG(w^{b?FU=~u^1@b=2 z4X_y%Coyc}X`xsy6q$O#G^Y-zy-<``wpB`IxybzM&7eJM4@7ed$9O^p>J1!rrq0h( z7*V^W%j_uBmxxV$4cmK1tgcq9_Jz>ob&=XB-6k&;F|DWXY|8FLi6PG5sho4|VluMDVxrNE7W>A;>q#Qzij=lt*S zzuNz7|FZvX|K6MF z$o@Z*{#p7f>8;XpAp74g%}PU(&+~217d(H8)Bc7h@43k{>)G$=hW!7Pj*oS`t>dK~ z=Q?iupJ)I^^pJEawVInAZ-q7eiEU!{ z>j5Zqi3y$ct{2%H#o2f3ek?rYwK{aRD_K$|Q=+o&lX9tzr4rVi8b8*<&YjnhN`9qV z_kxB$lNOLa_309}4{LL4mBtzkC;o)}Y`^ZoipnNl$lVPn)of_D4(mLuq6IoBPv>+R z)!q6oJBS_KX;eG4r!Yk>t*xw;*y$pA>eQYz!(g6AY7{oCJt3XyEzR+m2y~t4rSMVh zap}5VZkl_hcnR$>tfUmf;@+#B!|_%M;k#%nyihzv2GliKtutgeu#wZ3v{?RsWm{-z!_XL+Ny}i8jS7(*i}N8 z!sAjySC@{|4^Dty$iQhy| z;XzStPU=o=Y?`mTwLFUf!$uz0G|+FK_9(dVXY5m`nEa(%djzAFKT~J0LUEwq3bo^o zY7a@*Kph8R5n<)E3M7BmU}9iWdk}gpuB>9G=qWk&+OItTg`CNOYMgH@iDO#3A1W^s zGMNi>_gQr8!V5^E7Rzq!USt(!ot69?ErtB4OS=b~3p2C?k&WQAb~l-~*fT^{?3me( zh6i+OceVI{xfOcnHlc&s9c0-mHI^`E!6Zk!D6=d)a8SGbnIm**xAFXe1ExMs)ur9q z9@woxL^RW)Li4EI8jkk2g{HKdp!js&fupX9HM(n0&>6q;{>H2=n0)cwJ+YK;POT>C&#I zyCaA#yV`+0b!w-fM`VvShh7bGpe$S?Vm)eCN_WYHiP@>8bLVhrSVbAGh@3Ld$n0<(oBKmoR;q2lA}?Aly+Pi9>tnq&h%mqQW_*q zhSk~Zc4AX4%vEC5#m;LWi|UDK}~}GqrhwxDT4W+62nwj^j#4 z)^gJ5C@l;%+^*nG=74sTbp~!a9G|bPWU-wp(e|f3>Jc$&9*VgOMLnoxrBmo)CRg0X zvU=d4M$&d+F2; zVKlNw;%kN-lt#KSsp2?0E^OLBqt~O_0V&mu2UvO8>zMf3t?ie_2ra-cz&AN~iEE<} zhR@-6JB~5apMDLd^(6KvMP$OBR@r-}HiCSxN6H6#NNIcForqc*$4v{+i4lNtUdykq zRtB|U>EKueI=09_h%KBd9HotPM#cWBJPbQnj{#+iP&? zkicP78G&K7l8`-U|cnRf)WaXg}>r5oUcO4dOqD?y9wV6jhwS$?nV9n|`y%f{>@=+DSAr}av=j4c+cTv2p^Y*>}e z>maA~{9mRS(z>O?V@^Yelj}hZV)xiWaU#2IO*<-XSnEWqxeMmxcR<@ModmzhZTUIa z9nuogsj)gdS#T5AHqGpad_aqXFCzcebu{RNl|5N@Q=#AA4EsvDm}# z{@)+-M}H9gT=WCc--(`&u14>UPDOho-;VrQer0$yd^(&CeJ}KM z=;fhG=*m!k@Vmh;1fRx@e=iAc1n&->3?>5q8u(P;-GS!@RsuH#js!aW|Kb0r|Ly+s z{+j*#_&oXqSB&FFzPvKZ$#geW=7^P-L9>=)aTq$jcv;I>oAfZo`;WX z9ovAi8Ie-3BALj3eI0Ir=kgE=dCe{rCdL;`8z8?&jDgi|eGQv<{!DzV(8e~Q19}}| zY<_-z4fpOfmbg7YcpcDd&xm*GXR&t9!AGr1>TLGVqp!k<&mPSk8+-25A+MWJkt-H< zK(9!XxpKY^!2&w}*8M~LiQU^sCVt!xHKv!P9FIzBC%&NtpZ1vhbcpUO<}*g?*O#Gq z&Epci%~kk|vF?Mnx%^zdM?V8sK?upTtRf9FxKD@VP83^funY-6k51S90WiyJvw?Y> zf@%K)A=nJ=)nOc`U`k5h(yJG@4NvLtsPDx+eU)Vx`k3{aCBCqBuGpu;DBep?tzUmo8WGVJl+qu-77-WYk+nFxd~OLYGf*z9l$MLdLH&O0 zFD-28TzPqAy-?!!>#zvD`h9Rcp+}-=5%%c!qA(O*!bO}mzdrpQh>H|#nk0}(#-~re z+XPw{_%NVTzY9fWk5nS|(5>HztDtxoGi|fSF8vNjob<>~@UXzWIwbaCexd^CrIAzO8oY8Tap96MKkLuS; zCxtwjQZ{;DSUk6jlDyhsc9x3}-`=w967W!WMwFT_cufd&~Ex>8!u)`1QSL0qP z`!&0`Qk{be`U0{0^wT^wQw?s@4eD1x0Rufp0XLI5iFsg3zfu}EBebmE9P8JwfMT3K z+fF9@wOc=h$(cV>v+<|hI&KMMp*ZkkMZ63V8*Amc6@Cnoj_Jp6?5NdR7jCREebN#0!fiFCPdH*;xT(hU zoFnFiTWU;)213Z^g&S&2hXO)~dEs^%)3c747jC98ecTcA!mTu>U*w2+;YJ$J57Taj z-wQ`0#Wgqv^+WJOW#eS~(Ua5sq<0*X@(-k+vVedlj@<@%pr}RAzjNj49v9vw}mG^pX zx}0U!LUZ3^5e|ZIJvX}zmeg@9fD#;s;m<+UrDvd}CT<1VD{)rcx=hm@GZVIQ)~%-z z3NxaELARblC^2Bca3Cb(Vz=IJb6AJ>y%m}iLZLokaeH+5_?xM%x0378dl8J}iu6AW zCOq~59akN;>W--{$pD0lwa?nSQyz6x@0Lz811gNB5IfkFih1U|XRd-4%Pz2NnPX9q zcKbPxx?k^vG|-BAL33=Mj#B|bHtqHu(i75bYIP!q%M`b_`wr=GiUI5Jg<_28G1GpG zg7J)PV-en`N2MznAJg=^eRBKsh%4H9ej9Ehde~{R-ZmD=|IhCj*@Zj*{}SKl`|X69 zcrz@35Fz!2{L|C;}= z{eR&9E$9Uv@L%Ph^r!ri?>oLv`Q8P+z=rQZ-!_p{zV^}f~nGOyyT zcpvm$?>*{G!8_oS(tD(rLpy*QxTXD4)bkzB-+12Ud9G*GbC>60&j3yae81yM9Zz?> z5jO!Wcih`?bw>_W6KQtCac7-PBJ0at%`RySZ{y_rhpiE2nf2vFvr`(TKpIjkWOsA7 zG}1}dDH7Pwnbwz6%>?#sFsDLYgt?Oq9P1_1j7y_qbTjW-eUsVKt>+qM&Z^vuK?`aH z;jEMO$k6U)ltw8o@TDoQRHdghxRqY=;n+Ju1P!-EP7`%gbjS7gt?Co zX*{HxI5jd-TB>1-29G?Hq6EK{8r*J?r~YOD=WPL+e!LC{{tE;xLD}V|@^Pq8WK)Mg zHPFNb1E8`~aFGr*C7iEt;@QeMAt2NA;CfLZ05v7N4K(qg1QWJ5mI9t^?!wt(9*`|> z3P`^J^@@c!3p8Ln38u4?Go%%O4;Nci1k$AO1k6V3S?>4+J0-a=GHFOQ9)~PJ=AM@C zLhG&Hz*Pgd#ba}Yi*W^Xm8~+apQu)n#yRA(P&PZ8fE+Nku)7ih@&)9m0c!~Nd=-!Z zV-xun0;sly*B)a-N)ZnK6CpThkV6Dq+&8T5V?8H~HM*)|t-#hs`kOFt9HG0M-{gYa z(p+`7QJ03h@ldI5PIUel%!uek= zG}gK6A}qOZ3t#UtmT+1ep>uHVfauKv`;A4mLt!swiA|{2Al-)fLY&RVL8FMBRbxH7 zj^k&}E0p2L0*NwX!1bRZ;1s^&E@uv>jd_e%z}ta6#+)?P3pWoqt+5X)!1WU^-9{dF zkkgZ8cB1E`0bhR>iaUzgK^Dp;A#vjo*o^22J3IQ*V?1o~9cNn&%tAc)AuAZUVG{ub zj~L{`&$e{vn_Kjmk9ktsu;cOeOVW4%{cJvuv%d>)#Y588bDx33{J2x4L>it+nr+SJ zKI6XafkES5T*3}(*D8()R@Z4OYRa`>OTkIw9+Z_ufXc8@;{BB)cU#C}wE&M@mK8$! zjk}~HoQ6)T&SRKSE(sbn?!*CZwzpwl!{8sFU}doF-7r?I4j6a9<7c%>o6TD3+&NxO zZb+NMEGQfBcpq-P6NlDYmvI~PD7od$wMw>Johz}YP6Iv+W*}m-us-7!=)TV2yagH( z?x}2sTEvG8x{aIB@bttqs)$d|DdQ%n(dY>Vzy+unFk?~56w+_ph(g0hX%V_r^EP}m z0Ecd9gG{O}gFaS3kx2Q5PD77f#&u#~o-ye*u0@V84X`AvRJ#pa3BXe|X9!}DGOk8G zvAT}0!il520?D5_V-l7$PNUiA32RjeenX2EuRa6cD`1GLGJ1_G;Yo($1!b(AC4Msn zG3Ykn%FYOIN`mR!DYVysgF-JfqGd#qOrh5R{OqA%`!DWu!D1i7In<`IIr=b{pUI?3Yes8VA|SC0sOwG&W0l zY!VX2l$1hPE2P^vhRp~^X~^=YZUa8(R;W!qW{`}I$*zX89Hm8ECj=c`ONl1{V+P6S zLO^zD?m{t1Mi*l`6oUe=&p3iBOoRYf(kzE!A@p`5>s7i(N~`9fo%!k-3`DqC9PUUZ zJTUj0aVRFu3*K>Kc4kHftJV2q=O*fBNR?>U1s%3w zs=xW-YJ-kFqvM-rEQDy+7#A^4(`V0}ou1F<*XGwC2iN{@a2hdijew&*pzPzvw}tff z8Hb#;2Ghef(FTlz*mMYV)I)^Vq;UYVzU7w5K+}1%&wzqp;B0BD#GLV3zMGxKet3GG zW!~BrVW%;Quo82%x5APJK8%2{b`CuT{2DkSrr2%l#kqz&d6>bI&oY?x8Mq{1pjcne z*XGzp*#deEd>&z-w7EoA!lQ><;b~(CW;EQv0}C3dL)ctufkVciG&N9P&Es+nI!T4k zDw)3NR*XJl0O{f4jT$^AD0>#rV?Yl8J6jC~Js~;Skl|yB4Hi!1^F(R1T134DGy(%l zd8{sMJ#K|VCooW>j4;Kz72ap`Q|btwhbya)OuvEeA`Fm6Q+<^*`2sXz^wIH?wN(<3 z@D&~Sx2}}PO~nzb$LOW(uTd=u8B7{Iw7o=vOL-_#1f)BSqY_#IQ(4LMI`pY zMGH$CF|;raSZ@@tk*C@anrX<0qJ>v+0RaXooX6PY>ZtpEBSINnTUoKc2WN5KZG`a^ zrs5RtC9;CL4O|F^{^vBIri>u6hZV3=U|t|%4rBv|#?e$O*mB_Gb#x$E$REl7kL~)^ zE`0az3yBXW-jR4|Vk_}L;zVL7(GmYj{7>VrhaW&aeoy>(d?5DY*x$$gIQDAX05})B z20j2joC)|?^bOG$MmKOO;B@pzG#UAK^ZfrZ?*H2x{;%*?papn2`~YqaUlb1GJirG+ zzaFZFZop}PK=7Y}9}2!QxEZ`DxF_)Qz~AE}z>5RLz!iav|L6YC`+v{>9RC8&{U7o7 z`hM>FN8g8hzXSjOhkchr%I|>h|Hr&<@;=+U?7a!neIKOzFS48do-Lh`Zjz2lJ)WO< zz6j6%*Lt4vEPAf@WIbIS-|hH#$6N4~zq1{8cU;_&+4U>=JjCwN&C2E`liX1+`2s%U zVR}Bv=VL(66l=>kkb&oEWw(v0&s!$*2(Nj zUZhH&4@o1V3wc}xg8M35bc5${H^3;CXbh`L0kgR~!k+U1xS?U(VFiNAvE@c6Cb0Ls zAMSQgbDqPAHkjCKhi)-a>O3U$(fa1rYK00B3_Gplqrn;Y$GZb~w%J;;wD&s1{*nW?R<6eo|lYcJJY z2S!)I<(V=?q#J0iNe4%1ZwiG9u7YT5u4V&yg|&?Ck#y%K*{q{lOWRg!4P=!iC^4WK zaCHH>dA8M76K=_(XYz^{(CfplFiQ}0(j-s}aW}0V^F&w0;)C%=lTQ$o~ z_&UHVcx7t=XVKm14mOuCXsvAL@R_3`R2Poap&}Ti@rspjn{JV5;vx^ z;mIbxSZEDZ2gBj!BhqNDT-roI_%vimD(JeW1ccgvI zhv2iaR>64KvQ>EPyoQ?(B0bD0aEamHylam$)Wm&(Ik=P3^-8QH?!-o#_e%$J(0$J1 z$Ui>BwSBBT&HJR0940S#B{A(lds2s*_ewLlm13FJk@+R|S<@0YjdcH^Ax%DwTk(@&GvLgns=gf=z6sVKJUmK+S+3sYT~R# z4%Jh}vQk8&R_8EfFb#EkllTea)NEVW7Byiiw{qzd%|yAuTi7_SqS1-Y5;_=nw-tT-u)0 za1%%Tb5KUm{VhyW&>m;7c|Dlm0*Os?u5h>QSo1o#Z{e%CC2T^h)3)1Y`B3v(v_+T!+74>vERj6m61UALA8cd7O^Ph##`Dz2=;vz=em z(9US6c?oixFPwoLb^F}zZQ`5=B~^#c(^@0lX$>|nMi+vYy)^;5BMdcXkxspw$Hgey zr!&;VNf9f?w$0SroPmD2450*@5t@a}$L=Q1ill0Dma4v1#pmueyPG&AlH$*lB7aIX zaXy4DD1qFA;{XKMFTKr495m;zPzc)L-OUMbqTAr1;RgYK8gAxrWQdGu{GOZ^zDW1P z!lF{$NH>p4W5bIWn>KL^%ruX{^Qy9rgHPMRgH2q#I9%XT-}Vu3#AA3lUphw{scjPI zZ(an~G&4cUcq?tWc^F#U*1H=$MCby9<89c=O?*@m`KIb%PH$+57N=AbS27M2p%7Vw z0s&Wj;YgJAl4_1QFc8|<{^ovs9+_NmafA>aess@-sA#k!_BTgyNZ5)<8MmQK6X!&R zun-qv%BD^vJ!MRhjFLL>N-<3*rBQB9`LeX zDI507KywKDCvH5!P213VY?^;~*ids2rw7V7R9nJjAdU!Tpxhjg#zwd!f&*tksb&UO z#lm2)>?Ed;fu@YK`7Jn3l!wVpe3f#9netsQ9qdjuQ|uC2+;i(lmUJq;&3yRXmvb&jtqnjgoPqR-t49hbO4s;Vt%xLNL<(?+4TQq~&-2pr}(d=P%YKqN6NdAw+ z-?l69mBfb}RDNcyvdp|r#2Bgb5U|N01Gg17p%r+4;tvvUPrNbln#3y-zma%B;@LPO@OWZ9 zv6?uOC?pM3}x@f`F-;1TdCeEIJs z9gU8=I;MrY05XaMh2cbQGCMIblg;6CR=LS(x+iPBgnQj<8O75EPlzxa%?0YoZ0^`G z5#Hs79n7CWOEZ@#-3HNHdL(0sslxJ9TPcM+E9_U>_#1Rh4cJEp22xi ztSel^*Fq<;4{MPSnx9kG7#=t{xFlTtT19iRi;^s90WDw_E8Ftz!t{UOyKq zmiGY>#i>GP``+J%isikp4V@Ck@4ar+(Z2V%QAhjU-G++gy-PrIvzQ?qee%vWRLt`o zZK%lkb~ozC^KEX_k>^|6P?0md>FrivQ{GXrU%}k$LdDj%<)O zKJLPV^imhWYRA)~4UO0{Q-__9&;wG39FW*2QwN=p(5cce?;xSd5$8J(^#&iuwfRn*$;2|;aLm| zbW-O6+`q?x2u171jeji~ao*@3bRc2|2av&;quI&h*(vnBqhg84f{P72?cwoJPce6C z85K2!upCAu{u41djov z6v{96xIl3-mhlC>R)(lCgjSck+@Q!7AJJ=3y0#CaBY~f6Avt^*r zp=5kR&jFf~7bMiH-hU;2ul&QK_`TwNFF)x0{41Q9^4H)SIus@3A*sj^D{QQk;o55LNDX zC-8gp^(XLqPJeMjXEh zoqppQg~Zetexr&+e>4cbiEk%9g&P20mN=Jq2$K9r!XN)u{1frti@!L&7QZ)s0;m5w z@D0F^#@-rxerz>%M{GKlivBYC&(V)Y-w}ODbSwHu^i*_zG!prKBmaxFu_ONrD{f{-{ug!;nH~9`X{vYRe?hX?k^f=4*pdIqg0mz4bDe@93GT@M zJMup%2ZSA#{Qn{OpD$-ow{k$(0m%^&gucn4_6)m0kuoHJlhAHD^f@?NZ!07iDArKG z4T^02A_%3bDCWsNHz;gh(q3q$EbY_8F_;5dB2ij$VIrN!iHVw??ha|Jn`!%xL0Jlo z-BDatMDqW0Iu7nid^Pds@c-8nMOgC35q z|2_JJ=pRL28GVAu{^Qa9s5kQ6$mb$|9C-t70NjW?6uBaD2=@T~1oHpW;kSif6y6L! z6uydS0DctuLg<5`SBDg)0XP(j1-}>kbnxB5m*O^n2k=#Zy+Lo_TY--UelPHnzAmj0Le6!;d z@CNuzd>i0Vd>h~(s;2cXrQ$Mx;mItFBonB*Be_|Ai_0VVje5Ttg<_Jh<3|BaO^8s~f+h%>6d~LMz!**+YhxHRAt?Uc3T&(fm2 zJB#IIM8}}%cMsLJ%#46*Mm=wNiz^GXMgaRkkT_(Z`B_ay0-eWYZ zCPZ!uzBb4ZmX27n$`dRLP^>U^Vrdne?FZ2$33y;>g5wt6uvRoaMJb zu$&U1x&=*AY66s2aPuCg!i?9(@~lP2aw*XDD>%o`>2hras9F#!wm_9ua48?7nj{O- zaaRFwc;5ouxm>a6pui_OfoZ>j3;Q@7Yfhm~(hAP)a|jjIMpv@vW~c}PUB9wqL98D* zQd_hjcSlGoIH%83!;ol84IeD9Kxb-c1)mw@5IU=iE~VfyKMR~b=E~-r#nau3l1iR+ zy@_qQ_@gG`9x+Mf5r!Zf^^p?_-KW4~p%<H3^<&SD-2QkU?*52Kk>5od5I-u6Q&fLlplco2qs@^Dr}M60Wy^7=&`IhSGS*2#8trhm0Q4*JS9kROk_6CjB+zRLPKRU%~fv7n;0cZ zfYPy6v=Wq+8&NUj%0MPm^g=>sEVN&N>j6V4L4uB3kgQx!gs3jqU0IzYL&q#Mtz3sf zk~0_?i%|~%CtDzV4+hBahFdYHUIFGTP*$!Xz67Eca>v=sW%HGls~L(^K}WVx&`z{y zarNH-H%R7KzJS`5Br8`*M`YHO$=!iE>G30z6XrGHX$4;;kYS}qiW4v;PD~s?~Sh%3_vOrtl3*4jiMh z*+`#qjFX^Cz~f;CZNt;=RVMLq6IxAC9M+R~cv695K@y{Dg1r0S{DRacS&sXa95O}- z^&l8vXpmW@Jc?A%DQSvANkKEkXnGa66L4S(!&2adPueFjl&7dKV;ImZ&Uq!3ab$p; zNHONvyka5U3eJls*<>>@NfpDs>es6r<^>@~5*m)jW>|QS0{;Q3M+(egl03?S`xKlG zr(o9j$EhU8O+N4(XvIf4I6;px#`#cw$ccdmcPjXVJ=GtQwRm?aqqtp^H3Nd|i2KZl zST)TsSs8&GGeKjOraH9Ej3AH53ce5MKt+i}R`7*DCn`!$${rUgdiux;PJTOR9m16| z=tdp6!tMGkS{gZybn&r!2kPXEQ{PV1!I|6!tlA)dD<^028xT<^XL1~HpbpODIbfrx zXVLdWR>*b0fr>(^LcRkc>P(lM2OOx7Zc6FKCd5Lq?g)}-O6hW94!TYUCboN8!Cm_{ zPgIhaowSm0fdbdG5*I-9cqe7d1qzfIB??Cs+oPM@X{LmtWRyr7?4S<2VX-r2l#m-1 zGnP?;ZLouRzyV`A6njlZ@w;Isb6*?mVD1%R@`4d_&h7u*yAoeZ{1v?Xe?8HFKmR3( zJ+S|OC;n-8>AxcWB)$W9b^KsF9{UmQ|NE2JYhy;N6uSvJfZpiOqW_4y|KAY(wP-nd zTl848FY@!q|B8G#^16r-S%m%n2;~2N4}T&2f$*!tN_Y-m1Kb}DhQ1a0MCcu%7lh7+ zZVw#`^#*?${9^Ef!B+*J3O*XVA~*us{~Lk73cQ7R|KAcg8tC%>$p2YL{=enl^55@2 z=^ylW_`c@*3*Vc4&-GP&x8Zw$z3~432PXBa-lF$f?_qCT`hoOW>Ali#N#~>oA@lE% zJf3fOKJIy^=f$2i&%K@#oxT243T;ZRS2&|PAPyXO~S+hkoNVi%%(Jti2)(ZLD#`C$OP>eE)gW2aC>K%An?iR zQ@qx(9iVL^TFikyDWE8)Lxm%&PY7sRd#ZH7Kcz~X-LkT*J|>`)D>2=)dX85SXtCP| zC^Sn(-QqozKrFnp;}G(kRySL;OuiN5xwN{`0@>DCsKd0nZiA)}B=j+rR1my4kdu%l zLC=*|8!eC(M#yhkt=k~nU_mLQnNe$YVQ6-0E6mvzEvpDeVOCq9yK&NL)dsnYDCmLG zDybuQVIaG>3sbg1NWJd-vSSvkRUsp^=Xbe9+n!%iO7K*vn>t!Gt(ICKD~zKGms%i~ zhgvO@QP~*_o+T`bZBa(6@n(nBtKC_nNgXG1!GL-pope!6R4p~@md&=yT zg$=t>memLCaXB%?g=n#=nVSVC#;|TH6+35P!)?6pYw*+oAmh07R2h{W zwcx}MI$UbTw0di+$ZQx2Wy+}Rs0E{CVysi^DXTZz2?K6Rn4PuY#O5#+c&Al%*n-3D zU6(%8$cqG}2kZ6%t*l<(N*IpKq@ZcFVn&79!y?93&Q)D$^;)~cxF;7=fPIPHN|5APOF#Mw6l;dNE^dGJV%C=l#09e%v`Z~*g=Rp_e>1l-Odcl z>Lqq@FmJgEn^N(;1e4U=_Og1hO=-?rLZT^k)~0mNN-6cYjkRt3RCeluRf0Kd2wc-D zJ9c5BZAD?{E*NOGxzHtK6-p7aDD5+UN}aT`#3p_r(Udx2W9~MS)tt?ByC!3YE?ABT zC6$!WWJgT4ND$py)Fr3XEHJ)vW|*+RrPOhbS^GstH=t7&ptH894vdanpkioCLg@*+ z;*?6~E`ZTyx(%a)7lZ*JOxTj7RD6bjFesoH=Ex^>D1^~sNpz09>^Cu!r-P18UVv`9 zEw4&PFMvUb+@2nty&w#YMCl1l*stOyJzyk-xQfuP(#Z>^UuKZdLj5Woy+G@2M@45Z z%!Wl;LPtxhgBWgr%%VGFqLfPKFBnKw=GY^rR62mcG1dni6)oEsWmDYbrqr~BVVmp3 z`qdQAr`hI?I>9FkkesEg7Mdri;?zGNv*CosNveGeF>6F9c1rDKxxg-inKDFKFQwvR z1>gsa%MHT*GNqE*gk$YBLTVF^u^JI_l2S=+LKvAaP->y!QtECCz9zA@5533%>vNmc;WCRh;IZO7zEn5&uWr{{Nb|7B9q4$M?qr zv44$yOz{5ikNzC8|A(Wmi)zt@=ylPHq6zr^e>(E6$crMi$X$_{NGkjbSpNS6lK)do z@;?xcguWa4ROk;vFAZ&k?hVa`(!pN@za0G2;Ol~Va3OeY@L(_;_)g%Hfp_6M0FA)i zftf(R|7ZR$`9BDo|Kt7#{g?PNzW?-n8D9c;jZcNW|7za>U)cK{?LrhwlK; z>5A?CW$;-?EaYfi(w1VYk6IP_ZbpxZFk20ThRon&jsi7nXQ90^_=uwbyE}hICw-HZ zHmox4v`OD&!8D^dhE7H&eUkaMKO#R>w<%s2MZBx_94=M8EaAY0{< zH74nEv`zRO(4N4zx=hwH?G|iVW3oP{295?1W)WFqvc8GBdy=f3qt(_#-5p8RwglAO zk7RALg|_L8WNkx0G4qkdN~n)@2kP8=$=aF&Wo9XXw&6fg(+x`?dR1k~O2 zW$kPWZS!%Fwbd5NrFvmDleMaVGR{KJm9<>I#kEemMd22NWM(DoAHBLY?nvUNh7 zw`J{&fV#W9td#`R-Q#6#sfEHS2iCpP|pL}LaWbG_nLCH;edvZ4cgSe zxkb}%;{mPU#JN#Zz~@~!awo{)1KOMer){{{O9r&O6L-lo8I4`Ez{dsh@7fq=G^Pcx z;YpW*L1S6~8zv*CkhzS;v;a0tWfyuwMq`&Pv|wk|Wi+M+Xu)I*6-UL|CY zF)e^i4AzdZbFYKe&G{Y&>YSTpjcEZ)&TQ@#`h%=7Er5x#(IKE2jcEZm3RjOQ*Q%f~ zEr1O}=i)3e(*js98L=H@x~-LKnmk=793HHG2-G=ir!}}dSg3ooNozN^K=+uO&}TMq^q4n;KnPgk|m8R*^{{ zbW~U5%1kVpp3?EVgPHjKbdVD-kuqaU&X*-RwtswoYp3+ zoTI6zu>_TETFaT>QH(=ZOQtoZ6hM6)#W*BT5X#aTd?#40aRT2BX0$9XagN(ET&c?1 zIIn7gc~uMbk=8EaoC#%|g{n?#@TZ_;b8rcBgR(|9?=ukh22eeTvYo8Kx57esD>xb$ z4i*;57GKa$q_t5C#N6$w;EcAvcSeF@XP=L4TbGU(@ zRVK2=N-gxcjFvHJadQgY-{35@tdTbcH6q|`w)E*1$~MPhw$fV4Oc%5)U14!ZYyBoj z;xsjdqdVj4hb&b~vE-QV`YaH1u0~92y(WljJ=)p!Sm1W!tJ?z2Y1EM+d#6A;yckDM}jo4i{`=5;d zH2THp2jKnxc=Vy@rO~12uE#M2{5l<-f5=F#N6X$Kmz=yl@%c{yP%h9r{7& zGog2fegm@q{h>=jgP~o)e-1t!d}Hu@@J#T=U^cir@T0)z10M*yI-mv?0@npD3MBkL z^ncF(e*Y_R>))LJYX2dB-1kG@=Y8bw|194;@5A29y?ecW z-23-Q=?|pekT#|JrIWDyOR)TZ%=30=0BWAQJjXq9$FDlR+VOP9n>wD;QHJGz5*6V1 zm&WHFQDvB2ExWfk<=}gd9JGe8Fbvc9-lGY&58*U@>XES}r$uTBVKGbNV~-}d%>;_i zKAND}`eKj6*B?1(^;JiPmAPHKOAqOQh;S;!BQJ4vzKyzvpyQ4uz zRH*ta1*#*rbVh}NNU<$V98zH*>01bNQ0}roGq+-z`coEY){s~f{YeWn({xZiVS<*< z&_VgQ3Bp&DWynGKm<5__h1|+Ilj@IW;rz;!#ZJ|` zQ~HKUY1WWHnbOxeW_1K1vnhSe#LU(dN}19dCbnHUm@I#sycjI^NqT1Hrn5+JyFOCjlvZ{eeS}UG5M}!~N$GPY*4__NdY)sn{JUx{r9a9suyt2? zO2@bVSe5f>&9NKO@y$PmSuXP8K1zSc2HSc-T7R$wB14Y7P+EVW1yX)QpN6!4zYT8F zCGWGrHa$*SXZCrjaO`r4tvHqH_t=zF3yw5XI=$SoZo6%43y*?{9Zz@ODE*4=%?MQo8fZ>RaS`(IqjDB2% z-J>a^TT(e?t!;E?bW18H7|S-8JF(Z^A?*QuM9_PaF$s!EM^`mvbw1x&O=imK9A>rZsPqA$;B;QZ)tgLdom01W7g?lk?+R2)AdgSAZc$yGL-36LwFF-A)*F?nt{!gxd?&DZ=fO3v*ZJ6S}Dcb&UUn zNX-f+^hJ{Y)s7L-{(nc}ctXa#{a=kg9e-o|+3_>b08GStV?T}kL+p=ZuZ%qz%g3&Y zjm5&z??(SN`tIm&;`YA>qnAa8qn^muBOi^tCGy-zIdV&6BGMcF8N2)Mcf;qy%i&wX zli_6O7oo3&J`#Fk=+{Ckq1!@Jp;Yjf!LJ5C5_|*n0Hxp!!SP@s@PokL1>PHYS>Un2 zBY`UeV}XeOyZ%r4f8YNS|C;|E|Eyp3{nGap-$#6Jg8zTjcZYArm-hbB`%m7Fc;DbX z?>*za$(!{ir0+|gh8Ex@(zzE4hifYd75_Jpu>YBpkU(hXG75hs}p$5|Ep8 z7{Ep+T^q3`-F4AIXPm2ale`B^lsvSYZiI3()FM9WPB`5pZ2~7IImj{brJJNpFhTdU zmu`|afrBJ?IJUW&Cbd23oM&+R`Mqffh{G7I6eM$!$P@og341le7vP z=GzKk1f-j!RWL#K;7S{$RWLzTUSVjZ4bm!@U|Z80q*dTxo2@x*kXFG2-E1?)V|HQS zZ3Pp7v#iFs77UlaZxof5k zIw8Q}cInBW69OjaUKwPAlnf@w-A{#?Up7d|V58*jEv$!WgH8yTsC(j08>D04V4GN$ zHb}={g6_2}ZO{n;6LfDEQ$`uW7YErG5$Z5ytk@XKj?ht4#Zy4OnCctk)MXGgjZw@|KF z6M9+7c*v|rvu%V_Q^tcP2A)*M!X7zgJisx_7$DSP%DA6nH0=u6h>r&oB&LeRQ`@Fnrx60fQ2$z2j@FmXq%l!Htw*|b~BG` zkP86kY&tJGIFk#2iEh&)NbO*veARKZ8>t;El=U?SXHq+u=r*l-lUd7Hk*Jm(t$L%0 znWM_lsyCPzsEE!n;;!cysRRfUdT+mR9sEy`8P=gtR^asbd?a<^b zw5V(xCC-2`m9#1N(*_y#3AMVkP#I|>Yk_7RJ6e3)1gWTPbxc-$Vr%txAxCM0toi`y z8Wcw9V0*{{%`_buI%t9I13qmWut0Mib?h<7rq9xB?@DQdZ2Ig56lAAuT$4?oK+ERm z=xF;auzh?E8Y6J^z}}HAL17nFxc%b{(h~>~Fw;A#Vi?TnLr+%9j!N8Pf|glOm{HTl zkO}g6%rU{Gj6n<>u%+=vg%t=>20I6U&)1m65mJ+fgADl`Y*QSk4Kn1z!nEC}={I^Y&ErfY zuLN;*P8oD8fNo4OE6CB{%!-ezWh`5eqkA$dK7nTSIa-rh@d08EVD;{x+>NYa2>u_! z-UCe1qc|VG$$3WMc4xlto7r8RbdpfK*~^kpLMWjKD91b9Np}i&(%tElkVFtWX>&Sk zOpYd+V1kJPi~)lI0|rbmh+yDv6K!Lgpx;{^tNUC0-$#$6XWp+6 z(ohN10-Mbk>Hm);607j$-zV|LU$1so?b6z*wZp5wseYyUp6Wt%fAx9Q_0=O0`~MZ( z|1VVbtNZ`oBKzM5%6|sk|GM&N<*4+#(zi+s>7@w1|KBQpsQ4GfM~gQX z&nk`;6NT>=o-Diu8UMBw&M6#KNI>g?vd*-vC&n|(2E{?E;>$tE*TWj>L4ZRUy0?aJ@}XX($U-;th4?@eExJ~e$f;{Csz zdRJ;LbzkbrR6BKK@;Auv_x|LcB_B!NlsqeWbTXUxDf0WhGcljIKXGm1^u!2;jdv9~ zbSDpjBXLqpMGrf4CojRcF5ICzc?J51lCYz-Xq7$BxuWc7EgGQUb3?9iRO0>MFENxG9)V7yJblb2vjOA0y^ST8|Qkgcw$vkD87FtEGy zN#aX>f*kG@8dJQZ339mCsL(GM*G3Z*TCY(-UZ-Yqx7VoX6(dA6LGJbnjVa%)iHBi+ zRVXFA@{9@51UcMGTx>CpRBcT>XiAe?8Fnbg=G~fjz`-Fr9J@|y;-JMzEAxbUYvO*3 z)6-mVYvwlf*2Do9_xze$6Z;)pw9f=>Yhs^^d+kRPbY-tbFReI?vaN}GZE1LZkWa1K zyS*;H$qhAbP3&=TkM_-pdyIjBJWIB?=80&6yzq7B#I!q1L0(XN3IqXP&_!@--b{1D_;tp1~*xwwci6)ey4TeE(7b?wGd^DjHZ9-RISMtJF zEn}-{Z>5Y_)&rw8L0HF2wlyT-=W#4R4~_wQyG z-{|8vdAMt_YE9he;_H3<1`qegf4z&3yEd)X#C0C-kMCNB<5=Hz@#e%emSrJMV$*ZA zEl!V2k@bpM9aBv?&6S#?)WZqaHLi9B*vv4?wUJW6G%>|*^_cmkiC;>O|6ONxHx(FJM=}4LSBBe zFHbLWaY!t;{tG?aA0KiR^7=i?b!!6I3OVjcyw(Kr6*@TR5Hz&wlfWbazpUy@`b~5)`tu=9)i_6T4jI+18_NNp@!y};Al>e z=YWQh645Q)nm}4a1LG*`aw(AX!ya#mkh_H93t~o*80~T((TTV1_tUWA15p?TrO{`^Y!<8)7w_{vf zrYL26OYQ@@adJiTDZj?S+w0xlwI+^YI1Vc`I5x4Zi7^j%N#B|n^>ClIBOdM^;#w0e z7e_i8ckY@V?yviZ;li-u2%XkMXmQFLtnMK!$LF%mxY+t+M%QPLTV60x_MQn2IJ2H_ajkE6I0e z*pmAHh`j%QbFE*yyLMS^UF`_y|6i^Cb#=M=0ABywQf*ZJxAN`EM=P(cys)wzxBtgh z^5vhEKVN=FdA59S`HJ$o^5Lalm;SNz-qI2>|KCtLvvgD`UHn%>0KC08Tijo~y12F2 zEc~(Xy}~C7uP;m#b`>rzoK&dhf0_Ts{Co4u$ohY6errC={Vwa+FMG7G0z8>{4ZQ!iWzNm4$t2QG;nx54>6fIpr_V_rm0pER{~t@e zI`w$!=G0m6{7)pmpZs|8)yc<`x55T63cvqFnhdh+ATZLt7oCvC9f#si8(X_wWj!AH{}vxBG!V#F5Tj-Ur?kHamB6 z8VI?{Sftt6&0$}=ZgzGtc%6SAI?}m=wXOpyS@o?BMbYaSzz2R9dS@rEpBRWQv1Vrn zhs6S5^E1-9jW@4M2ke7ZN2%|E{zwAkH9ykX#w);f=uxlLQTn^A02%h(R9PdPTWkg7 zh3Qu?(z%&`Aa2E+H8Rq9SWvb6s83B?!GzFxt>=a zU*gTqb-cXrEnySb?BKNkTfNvm*@oZhTw~|A4Tl>)k3i>YRU8Ia&<4HZcgW4oRSL#Y zBYsui>`+uajg4Sw17*8@vqMq!1{S=_jcv)W1uJI_Fq4W}c5aXIoVA0Gp<$bCyBXBr*<(I%ir`vNoH; zu=7lH>ZIHo#P<$(h5;p&S-oLL+`Nm~-QX{{uydL%Dd@x&MA)ILcS)z1DKzZR)w==( zm7J2BEf}wsGVCexi!Ff3pRlvhg5m(cmOTJt6psTi>I80n+VsjRT5nvJH_(TX<;!wN1|9$Q<@4*Bd;waPQHLHmP&AX7oEgQV4n1<9QPC^LKv9PtIgqFd za$snyqm^xJF7RiF%gIqz+CQB}oe_rm0zT@{GY7h5u?(5o7_94(i@TL>;YbgDNZRJ=&3+P%&GK6QWMd z)+`-um~@LeRg22~gNc){Lm}yMNWyr)r!wqNNV)`LK2oIrKblCds(r8a@!G3ukJYx- z&cpkE#p=ITzgT@2?*H$vUQ^v#jVgbre7Ev3=>IQ*{{O7XF_ldD$K}tK-&UR}?=N3d zJ{=hVQl%f4K3jTQX-4G#+X5eeKNSC^_+;^Q#V3ll7cVTHP%IaIj{JXrRaht-EL?{i z0HcLu{)Zw5Kv(1dI5}U<{Q~*_-kF=t-Iu!}*EX5|m$MIKuZ8D-nE4&@|9vF$O1$@X zYvvqS08;56rauJ>z!T{m>GRUZq|>P%raqN=J+lApNS%k5{?f@GCO?&Yee#Lqj^ugC zW0Gm){Qp$q^@%4EI}+z5j=|7ZwR$PybrML>@UiQNr)9QTgIh1@;+tHaX!V2=Zp&}- z41T>;UU|=8)_vT=U50ISg%Zx{cR9AzrQCF^{~JAnUiSqa?itj&k9fGdo?2a@gWL8u zx?JDtKIE0ha%Bsy)fFnZEx*B|U-tpG{05JH-Gd(P)9-!{_vv@Q!+rYgcX7I6ar(c{ z!+rYQ=ixs6?)7k=e&W*H(r3L-KcRwK+`qx>-s9Fk?$hsX5BKSJmxufG6F29qeV=~2 z-SWP{y1UE6efo*pb6dZcwyM-etdL_cq!OEbLOR z+1>8KF7cY(Z7%H6uGziSga>ICdgxb}5y;CJSXIc6`vAU7>XA(!Lhf>M>SpSP+$+P)E8~kg-C; z*yz0jZnG=2Zu!Ebx1u`umY%ZgoEUW} zsU3BSp4}63z_=&sQc^pG#!iY+cZ)@300$FAQI{OwRaxmO>7eBJuF<%h+GsnCyjY&f z8Fk6?T@|LZS&pI+b;tSB*%9G zb%z+I23^W_4^YQ1v08&JWxEHaosOMyl#;a|1DJGskVWbs%8C!A9F2%$fSQwBQ6E(XO z6R%;(CycnwF2%%aSlS&J37g#}hiSyzwY}Mm7`(!ELoxBX@|bzA*;Q&b4NUE$Y`r(T zO3fBNcC;nBEw5)onJRD~JPin@woUu|DdqrgbL?zJfScDmImkMG8km-_#! zYcH(bT00xB|E;QiuljLh|9@e1TlL)P(baV2Un`%hyuC6D|NpBin=8X2`~OGFuPVQ= zysiAK@-gK?>F1@dl-^hRv(m$*8%t;7{y$m#LGe??Hxws|yNk~$o?NUIep&c3vi~m> z4iv5_Y!TW2znlMf{&o2Y5&3^={)pUfbKlB+IQOdD3lRlC_y3vfzh*z5{j2OE^nZH! zZ!DY2{5bR3%-b`wnFE=tGg}b(|NHcJ(;rX278Zcp@$%mZ>2m7lsV^b&pYs3Rm^wSP zCY4G41TX)+Ejf)B0G^Nhf6c_xiKk!%ctc_$aYy3f#K|Cl{tNmkNGA%p!9%ySR@qVx z`yzE6d^c9ww)+%hP62u=#C!VgA4kMh?Mwu12QJ*Y5sxM5;C z>OCO)iYJ!i$Cs#gkfCCQGC>>l?zdz5q@P3G z`&7N=z{TvGLGNBQR=FiPfk3^z3R8q;(=G*?D|7|kr$BQ;;aZLJ1{N%v^{7XI<{A~fV%vVyqd;?o#;vtI z3N+WKm<6X-6lku{6=s0~%_XY1+~FAtG?%EDdxnKQ%4Y`&X4Qpk1j zc#K)^V(OV}Tnx(T8L8uVWR~8BiVM@AcOggxcm)yD=v@F(0aFKQR%_ThpPEGKffXXx zf*!@16R2|dIU;~Az=2UR_Lxy7>^+OB1%$(jKa#LVIyiwV)Eo9l2PaSmTr>JbJ-YoC zAicy#3x=U#kCbqMszw>u?2&W208NJ(9QB?_HPej%IX!tbH+!Uq6N;mN8Z9dv_UHl} zaGPX9tn6thi_8{y++NQcE8FaC)$mGHH+x$&jBd*X>y+NCVYD7g`O)lcl5l(7=2Mg_ z4=Ww@Cj_t_ec{rsF&0%>`@H5L9wb?v&|mGpevA=-FvH}NB7|t zrguo3(&UNGU{uaF@Me#4*cn)49&$?4eYk~jTj*9!_u&dA0pQ+q20eOy4(nDgGFEfc zqYU%FHbE-KglDry`Rg`8B;mX$udDe1E9_A?I>9>eFsnK2Q8@ahji->vqEjko`bO_q ztZf1M>#WgRDmF@MGv5RceOMUUGVdaj%*`HY<{E}h=kD*#9%<$V#!_=+bJ%MUnZ&HgQ8~K|y-NpB zuTVDPkzPb<7mi;zQqa?1=(y{$))Q*E{QwQKjXLa6MEXVySnt%V@~}q{=}>!3vS6nq zMWmDAgbpM$5zdxM5$OViJo08K>``iY0VR4cs8sah$x`FXS1qx5v5Bseis&U*x#+2y~BBFF$b*A&E8=g7S5ZD7_DB-y}Q}!-JSKS9`4=!^eP_i-u<+CWf$M# zUjDRtB@cIRe_Fkwhr8E5tzN;y-TR+bPw3~0c(_~kqc3|xKeza1@9wdeb?e{k-JSI^ z9`4gG?cpx{NdJFm)gLMT{}Z*>)?QrOUOTt8rk1QeRsBTuwbd6_w?qG5Q%zRBU-@|D zRmlB!Q{{|G1nvKui2grRei)hm&Mc3WlclFhpDew$^y1R?(z&Iv(kk5if2{b5;$y{I z5dA*_&;M^1{-*FU-1|Sju%R%V|F8Tv@*l{*O!)nuksn3${||D1n|o8Po7bRW&;LJ?!r$uC&3GFwR>GVv z4~CpO`;TxO=P*~mjP@T+wQYHlffPi=q|9jlq1YGTP$uF=`w#kGc%f3G{RjLnyfB1T z{~+(D)ES*#+|O&ETQh`t@=bEIf58935A^Ks=WWE^Lu~c;Ik=z|69ldPeGV?Ggq-U5nFw_CAT=qN3Q#}`gBWf@RM%|7|4>(V%EpzDkcNBZQWZeVOjG&fH5xAXG8h#u+hWaZ^1 z?rvv&x*^vM&;i}q&YFF?A=hwBQ*QR@hTOpZ#E*Lok|puzp@M*7$IA3(r6j7L}Hx(Ds}=;^B5!2a$W^`DQkn}&tG zlZlO}|2&2Y$}y&k`jqcY*qyb-lg&!hzfz!-Ap@NPNAV*^)F*ws4c}lo7>b(Nltq2Y z_oh&K7{R$QiTWbVyevyk_c&{%*{2(FRTd8?cxp)0zrAJA!7F(rJ zU*wsGbZzU?J{xeePue);Z$J=HJdH!Me<6oO%Z${`zI^#zmX>_xG)>pzs&Z^sK1Jwy zT%nSM9cq$Zu26ZxW(`Mux*S)i41Z$nhJ8}Z73wz|^eGV>f$FI0tm(69O~Z&q*{9;E zVOssOI4&=87+bgcXEHo)PH6R?$?=#H6!p&#!;BtADyFP3K|%cpvrYo?P}` z89JP?QQ&wRSLn*anQCX+*=T4NG{gbJE_Ju!ylV||6 zB9UB0zAxvDu+=AjcJ_g1@)+%(Ai6-bgTV$@-EkU{M>}1t>o43cwED*joa|Q^gM7x6 z&10*7oQr#Am686jVhFN4nX8CZ*d#UkA{jkwtZf+dK#5RF(;ks6Qr9OdXw^31!_5`;=sk>`Z$1V9k#7M`+O4 zIVd=2BN)I-elXH+`5$0sWy2onH~kOXbN5J}bbQ`~mz`pyANn8on|I)S;3cpa={Nij zuz9mBbfjPRK3M0fpCkQY{{z2?W46L04#seYvTit3})o2t*Ow&4B$?aGHL ze_na8a&2V`UjO^g@>k05g75!*<>!{ymsgkmv-C}5|9eI0(b7$&XO>!}1n&MniM#(! z@s8pJ#p8;(!cPl-UwB(#s<5YUd0}1Q@cggyUqR&mQvLx%{-2g_=KhfTu8919QEoeO z{;$ntvp>pyCi~Xxbaqen^6a|o;duG)E1CCZmNNI_-hXSRiF^O=;NJf==@+H9iP--{ z>ielDQ?E(AD77thPUKa z&j0Fz2UEvIFzO*nn4}%)k9Y6hzHR%q;Q=09Q-}~`TMd90*94&C-zEd#xitV{LP+%4 z5_oG(0P0x0!Iao90WE0P8(^OTFnd&$EpeX$@Us-Jy1TfQrZz}RCP4S9G1!}WMuYlWX z(~*Cx;1Vj0d1zDZKDRUnbe&Bw7@5xXsNA9W#WZmA zsZBR(Qfp&p;c##f5fwOXR4D8m7zdO-oj{r?0$I)BfYPUvphY%LjF<++#7lGVEGi631l@g0+bdgu&B3`E7H4?wd6mtgYZ!xa^`Yi~T+$irs@>6m@~dgsKW&W;>SS(F z7joop0LnXh{pesg_JwN^9~}(wFUb7nWi}igtaiRYD_;J{PYxdKQ4vr90 zhs8p6z!etE;STO^v!jE}BZG?f0U5Vg z6Rm+zjrAzyL4)y7Yamo(gZr|wH4v(?##cC73f0))LaH!EYYl{IY;a#xw+2Er*7yqR zN2taI7yV;9L2DpXV}lEc>9kLm<7SqnuxH}BHK4$7i;Mm_^;2ND#eMpW3=(_-u)bl# z<@TS}U=^!CWrtu3wbiG{aNR)spg7Whj5Qz(q^|L0q)++TOa){?b?rx_0M8~)URC>X z?en#F*ABq~u(Nhatz8?g{ti9>pRN8?^$@H8+p8B=PsJO6zpH$&^6AQ3Ds!*|+)_Ee za&l!gd;z{!{xmWH%$FZ5-&{Vgd_wuK(tqJKfRC5nQ0kTLEnS0bfNM+T;%|!IEPlNB zrs5Rx0bU2MfVIUEA_Be!zkt^ix`n-ks|u&%U4Tsfr};1D|2qG2ybN$h{*rtVFaD_|qI1Fr(EPY0>rr=CjvUFz+rc@Z6OZtB=nIr*#PKP5kmEP+qJ zSKx}|rergjO#CGAg~WUCHsE84+Y%RoK=jv`%0qi@L%|j5G3_Kqv7X8)NX(K8Wi=F2 z$EPw1B0WNFx>AL&Pa&DVXp8b?p*|crHG)k3Q5)W<+FrX+A&sddRVVx}~vugFW;feIwXbl%i!5NfzZ3foDB6z#32ZT z_DSAOF!@O8#E6Xekh8`>EqfPCKCCb}9EkWDMu^FWs7932!D41MCLbh12(!N$l!Xw0 zAR&Dk&`^Eypr{WKh~_MydvU+$1>Iy(2o3dqi=K|j1ELh%PqF^_h=a-fq7-dFr11c= zlQ@Zx19Sss0d*!ZlQ@ZZ10YbCDcv8hus(^$>;&W!w=qd}9da_HrX1?lC-IJ*fatka zUR^i|j|d=`T^u>(dDEDw>XUbiVs?t{fbY^stbcbBvJR(H)s!AoeR8)(Vx)!b24(1; z7-tpgps~7zlXp-Df#DfL=)y#I=+SykV7Cz5@(GOYt)%LrO?i#U9YiX) zOq<7rbT1o|2qqAaaog2UeR8`PK>HN!gsizHm_!1A26HL zp*1EEKM;Xq=q&7a5Wxck;Y{kShWg}9sE>Z9hn)Fb)+Z4+5Ya^m=>;5VOx}R%fXM4J zB9rc3WAb_nN%c<)na1RG7J_w!m8ws|gtoQj0l8I*Hp$L2)vhwS_aypV?u^IfzYC&GMakBlUuP4 z&_7}p0`%+-Pi|3wDxt?ZJh@o`UL%c3#MDz&WI~jE);()X!i(QP4mUR@;lghqqJo*( z`XrLsDahsJ`Xqe!6(adnOOX0x+agXw^+`m}>oPP{vuNs*2%T4m%aQd-#La62`vloe zB>xOgo-C=LPcK@23{Re<0JV+k`L0hQSf1*FtB#OGX6qfEJV6%GPCT}*XDC2fboD5Q zClMhp>Qb|&8yTKNc)S2St{$F5Y&-$}5p8%9f$;)R^Q@~1CXXQ=#90BxX5n9CN8gyl z6}`l80ueg1CQM@z_wxdR-NoHK84*9z%<8?88}1o+R|FH6}@E!qJEfhpwEePvRXk1^MTNEZUKU zMAz&Z%_smrQ=j!fhbPk#pmR0>w#x|UrmFliX=9SKB?8RhSGUrbOjt-k14=g^uvQk72u7gF~Iv~)Hhst`a~NbWLrU=CNg-~Aksps z4DI~OLBmKXh*s`kjquS?c@2t(&4%V)(orws5T=n0oU#h;h`sc_2u(NtG zwExwW|3MDGPgdSsnX2qV7J#jlX8GyzQ{~S<_n$2vKo-C=%14zmrJt6*P_ zuK_%s-<7`-UI9nvOS#|VzKM4M|1vk1dkAj=T#!2@w>ta3+3#gPoqbz&KKo$yCcF-K zT(*+=P3D`Kk7wSH>16KAT$)*zIWqlU>2Ib#oPHH_{~hV`)5oWaseeoTL+Y=f`5#DK zo!XKLlfO@X7q0`n7JC2f$qV5jP)__j@ukGO6N`z1iEBWV|KqPY4g24yP+REQ7pe>G zq}%V_yZ4^$JNMnuoQC<2!9pl(FmN<|Sn9-4x&p(C3_8S{p;+k#m5%nd>S(&kQ7MO5 z*$PLcFk)z#qteBmp(T#eDq=&5ri%cS6tX>NR9zCW`JH-h9Fq zQCwYPM!jJUPa)q!o!k&$-I3F>VcWrN`w!Ho;89Z-7xg&*NmY1UA#kP<2uUuwE~k^G zECXANLDc93(wKrJrY>)?=($wREaGkWrHFE0!r#6ndxMJbD$|RJarSO zO{pfpQ7|zu;6?_BKCc&b4Nt-PVoC^F%UKwjLcWGNwg6a;v=&4i9-6w&{H~R9`8%vG z>U%^5o0f;BU~|#GJH$dSrmW#DG^%U1@%1thIXT3jMP@nn?1jp1R!pEWU25N-ons>zg&% z?`%w6K)g-IXMXEU(C`$jCv{rPE^M`3U|juvp88$K zdT$iJA2Ic;)KPWmUxb!r!^2bO;><|NC@^=_AAQgbr_O=3l(JV*kghs4>a%Gu1y7Pl zxM{(fC)9gm{s^ZKivf&Gu+(AV2?in%Lx94|UK&pHIXRp{6ov(*{LzQbaOw;WN@mvQ z&T#5<2UHUz)v0jmG!D9_>~IRv7qU%q%9Go+Rzt!myxGS6N}6{bYtg=n0u1$IzHM37QBo2f6Aik*A>(8KlIq zoxxCq! ziY%lz8a=NegS;un+j+VzX;#zJYD~egLqpQoqa{IO3V8-Kw zr+C)GckP}k3J5Zhj%V)Z3IbZ;-iY-7i9|s0|DUS8vDT^Ws$En&u~x-b={%@+BTRE;$F8`|hwekncuPDE$yt8~^`NVRy^sCa> zN*^e_y!3eKw$k~f6G~Ow`+uYO;o_@`FF`E8#mEDASm8H?e=2+s+W!j+w-wGWoPc)# ze}jAgAI`rz{{%GuOY-aTN9O(udjCgqug*P@yCZigwEkN57uhdn-_W*I5pziuV zguDKiCU++ecHV|V zK`;Y;Hkgzd7DLudg9*M}Z?PeZDIa)?t!9{C4*4>5o$~m^`U0jln3OcOPH?rsq*%8Y zGG!XfZ?9%CbpW&Fstl9oX^X+wsOyv>fQ`M(FwveFLt_T^MpaHJdAiEROwmGe4Os{# zM^#FSqPB(d2J-0Dn1Rhvm6Ba#-N+h9N+|=?XJB?zrQE)UGcYlZoB#O~YM7L-JH$ zA^2;wa8$)66)OdY4GsCFV1v|<+xc+%VG>{1g~_*F-#hHsxA)%ddmjv^@lu4?!P~gN zZp&HQpuqa{gJKJZ?>O!(Xu*vuq%kdgHpFeYzV|jY9;6y^3KTA!(pJ09l!NskqBTs5 zSn|JVjJ!7Juul*AQDeGLa~fV7aG4?{5C6!4@7TS6&(4SLz5D+C&FOs{7Sl7%;rkdY zZ2;>n+?u|Z9J)wr0KqBV1ueHZE|OdrT=dK-FOpmsT#d=}t~D)^TxeX`w0Qk@^Y(F~ zBe}-$yBs{;{+$jkSdb0BHNBhR+P1~(-{s)(_F-o*^ienXPW>=8SX?eQhdvaoqv@+X z=6U-Rtz&R`Q^CqNr$wd=QN-<-aL^zJDR;!9wrg|LLY7Apkh9!d`6i2EN;uOxu z7)--dVK60mO*!PRfH*;8SdenQYNgLD1 zTLB0PG{V88G&il0k4PKmYl`l72^vh3j|gcWE zAoxv*Z(9;J57{3m6T(M|gtVOfaQb`$noA802GaRipwpP$C74&ko^q!svuRt_nh+Xe^v2D~QTI z2Wp$Wf_fTGlNF>*_8MF-#N-0vX8;n#U^EsyWosoPi14W+pEbGnS#XmE$(2mmuFN1e zY7lEpc(lpAL-uEb0~*mN$x3z*VNk_D?WQ9!vV#Dl%|he`wUq|bWCsx#8k9zS64tUD z*+GcAX_)Gc)?j1@!Az0Cnmj2PM>VDqB@>BE2%xz*W{?D@DjU-Xkui`E474>%h^!#0 zlsXX`h^!zQ^4dZINCSz9*WGVSKZ8Mzh;2+CZy|TlH>ME?qbrmQzs_{ySO$5WM*xf} zrJW&7sbc_vXGLtfpoZ)U#`HL(C(8$lfg?qd zeLK^QX|j9}L`F!_d(D%<^awRZXE98sOZ#BD1q=soT5{UrsX944jr@)Xbr#j38)j#0 zOq1njFkMNv=xq!Qo-LFBYyp5K78!VJeTNhtM?19&*-|edZm5J!F*D08z>BSTqfbh(#r< znVL!ee@P-*Rr_J>GqtzXW@`s(*VfL!3jpcrPpkh>eNXje!u$W()#IzB%Fiobs=T|h zSUHF+0H;@4;`aY<%Wp1EmiHhJz@~Co`a|h^$OHIB`2F8qy1X=A8Y=#G@ms}@7GHxm z07?5lsaS>2|34PqTUahUShyZ<0FD$^<)3120G^UREcff&S99;ny)5@|?ndM7{{_4P zu#i27Y=CEEN3+SykKpV7mds>k548XB%L3({f2ZeeGjz%jqvpU1M&gpt>SEV+mg5>X#-${Nf`I_WQk~@Abt;1r9}r3CCz79Da> zSLcsrS94TxnJtS%Ahu@g({9ahc(ABi9JVa{9T+M%Ig1|VpppkIiUc6GEL3S)SQbV4 z4~EK(#iB_5!B8;^j2bYdG1R9dqMI1%_X@F17FBY`wu{Ini%K)RF+T*eaCs6a4#7$X z)Fp#i1d0d@%NVD2KGt9sks=0jc_x@esEEeYImp(TwwT=0SYJ{MbEy~1!UIaziF;T+ z-@zV6UDn+hiwOVw)gSx{BXJD2v?W$`9T{N75QNn^Q(}gqla?o7`;mlqJO13jg zGo0DOK#%Xj8F)09HgVCzsT9s2S%?Kio8z{(NEKp0sc0E?4rk!jU_i-3tV8f@FreHf zP03(p7cqkf2!Ttm)1P4G4u-ju4Q6g@M-OB^1AvB9E}%M2Z&86*T@s2Hswel!DngF*Fa(e?_- zKrAZnp;)hAa$u;xs$g?qsLK)242%v8b%jwhbDe|wEAm>7l3TY!jcYh6P5G?PS39WR ztE)KbZ+bJ&cTiW@MKjOis9XVT7M|;%?y`$!uH>k{`OI9wQE&5!W?+l3l$4yq+J!N~ zqRLgq&M&MH4E1O55(jn18_pp0hbb#1kXZ`h%*70pMi&NN#6ZtZ9?o3ILBCC8%`|OF zUDgaWoH?I?a_$%igM=xmlyXgma0V6$3%YX?&LG`~0lh^X&cGyLKshsp*TR`|IOvL? za0U(>am83XO80LHmz&!&PZa2xc=$?AR8Te;d z(A_t~88~QIP*A`OB$`=I9fDRxIV*&V4?j)Mj60}1&~OIU2~n1;C~}RONr`6GQBlZV zx^LELp)`XNR8uJ7}Fav)Lbzw*; zEcvj588~bxOea6qg9~Qhv7s?#540Ez7Y1{eaxeqSg~9ys!D&Nd-X)*(|KFtV|GTw2 z5&eHk?Xc>vt6#0Y58D63)f=nlRF8%B|I5nPDjz@&z!y|*uAE(2Q^}S8t^DQkd&@5? zKT^J>d@kMq%$9yq`dsO4rRmasME!3qMa4hh9e^i`uPeS3+W$qx6N{C?FYpH7dkRa1 z2MX6A-oKT9I{*FrC-ZO0_wsk;FU_BtKO7$aU(3Be_h-3BayR1*z@riC|5LmH_)d8H zAI#p6JtuoCy#4<(^PSA!;uXN9%%ho|@b}-CX=O6$e@}lc{gL#W(zEG@(%aL|NpDEE z@GihFQr|#cz_+C45b=LY>ipCxsUdj&{{XK8yes*#Z)i)?m0n|fbG@r9P+~$KrI+q0-0efU`IGS2h*7WaAwAt8UubzYNg!);XH{{pwo6tYo zA+Mf;&xHQj^5*I}_)F-Y?QmDm!B;~6%$tOtg!-A$dG%bz{>+<1A`AVs-0)=w;ToZT zmU31847UjVvu*OoxkPHM`dRM%^zqOf><~lrMiN#aZZjZc1y>Et!Ukb}x0Mgg!v0`> zx05k63)_SKUG6r5rG{oUB0Sv-$vez*KOGz&im^E+=B0TSkS-Y#Mz^zUjzp!$brVMG`bZV#|gE2n${ z8nZAU1Y`;&gO-*NyASNTe|vov0TBUt$zzw3C-8N52&6F!+X0YuBJ+T1a~91dYL)y8{UQWy>ZLcGO6VK{(t z2vFXa@iv9wKuA)3@4H1;8_mLJp(Wf6=?+pZvUM5_XYat-hfrKXsw;@i7DSE;38GO^ zvTeXT%|?iQ8C1BEJu*rL*Spi#+R7L~>W zjmlMJQE5ETsF*s|D``AXsIo8HveI~bEOQ2L|gsFaEp6{Z7& z`s0N!LyIy&iWyXwW40`u87!)FKa0YffuT}LTNLgL43#p|qVQ*6sK3VG(7;eZD@KiH zb2P@UNQGg_Qc26NjalTvfNDqq9MVi;#9K6bE>#M*`Eg3(q!b_9T?BXtlVyJ8|2=ZX4&ld1*u&9*ehS9@WVMHKTfAmV(eRQXSSu!F}nok^Ylscoa zaP~9^M+gZ@tgNF>G#Jd16#*c5dCP)KRk`!t-M8Jb?Vg?cqgl8%j8Z~OI{nFe ziwz8gbAv^dfyI`E0l}ckO@Wn#gM&rogc&rPg^NQ=_>940R(UaLMX@o9JQ}#$K&MW@ zqT;$|WAntcZGjk-Wp&KAZ37tJ2;pmH11 z)kd?&Ij9=Ga=?yekL9RuADxAEX4{p1BgR+}%|b(Cs9!U*G={o1v1k^Wnnl$K$@UrA z8bhV%wdk0G3NjiyLo_?eQFW}gWk(!TicgESIO^Xj%{Cp>omtZVrxGXX{C_V){=Xfy zi)-s^VJ%VpN%f1>4^&@M?N{%uUR^x{?*Qg2zkn6sLzUN5I+c4W&%;{)qm@+oU(25_ z|5bSjuL0g%epdPTa;5ZZya({{(wkrjI9R$FaR8^3hKqkJ{56k>V<{Oz0rF9f_k z-A&(>zAW8NuTK3o_0Oq~q+XqRN$U30MX8fgwdAjpUrT-<`SRpr$!*E=lE)?Km4L4# z-k*3mGXHH$oDb6IzsCGH{6^Xk0_3JC#p~XCckbD-XMbb9%^*3m3JT|82t+9o=VbOI zrf6?9Anbq^R5Pc*V4fnjbV+#-UT?6I878@9gTYSXm|Ry1Ys{0glCD#9be)32`4gxw zFujuVO01(;$_$i?#+1ZLW}sX%2E;4$kqzmVQDK#Ok%6 zQcg`tc&ISY>n$8qET}eLQxg6u7L?{7%Lxq*O0~tZEWA@}Np*{Fs)ch31I17@UxxGW zO|hUlMyQg(Jd893RHq1o!A@f_G1Yobf_a!~3?_3L=mvxN!#U>gPcRRQjV&iSYU_m2 z#$YmRPIFH%FQU5CDpA_0=_gD#rkp%IYnlf0WsZsVGy??lC59YkN@@<%Y;ygqL1k)a}Z5T|RYVFvOYr|p=w*~VEgRz)LPvqG!m@ll79P`G9 z92>TrH@;OIbC!QF_c+I#@ipdP0y1? z;#et_`f&}xN)%9fUGgb~ib36%P%sA@Q6M%>x}sFtpv3BPa4rc*-$Q$dYPO|@=Wb6O z7rxE1*8N19joJk2zFM&+ByO5V;bN4GK+AmRj3PV{SWxlz*Kp zH9WTs4bkNs6ehVEG=R*d8jy6=z%3S#RFyz|?q+mN`ax4t58Hly?k0u^Hd?RC+-MPX ziq{AXKDstZ&bCAvbJt@ul-L5&o(5|h8lFS$i~w5_owh`$6>)~H3#1#gR>}r6^1ppF}mnx^lWfDMD*sUzkn7b6~f_$8zII5MqXXk<2 z@811jW9||GZ6@ZH``);Lo&$(fNq ziXpRxh^HXt7qem;yFfv75EX>hP%sCl4kd{e^-pkpfYc+2kNn z8c1X#N96HQw6l6{18#mqMm2T6B^p^hhpeRPXE_k{HByoek-s|#Er`5{svn+%Nd?pb zBSHiy)99}I@4kO{4%U<*5l05ujp!aMi1iYHA;kcavo}Zp>X!iM!a#}>0j!>b31tZD zjSN0g0@C;OIe1=(yIKm3(QhBo?MZ#^M2@h_zWN+=E?Y)5BFjMGVu)-v=e?p~N{x#zNKTv*o`LXggWd1*{TrB;2=}V>el$MeG@5a(ur8T8Y@h8Q< zFTSHVS3FR>rg&PhRa{m0LE+Pdzbs4^?nUmuErnJgng3D#Gx@jXr}O*r*C6lTXg;0$ zaqjPOZ_f2{_v9|iotir=`|Ir2vhPQ}|HrdCv(LeMfJ2%8fe*lw$oSXI+?BZu833fd z|FQII(=Sc$!tMVl>BCe1k@|Y-L#bEdO~4(g3sNT_{{QF6e@y;0?)@K0-kdxqxh9!P z{4nw9#G4WQe|O?i5aR#*Yc7DVM=6Ap?){Z_NG48%@SSR1gp08gaRHYAEL{VE}E;AlZu5*4iUBZdk~qC%yd-D=S00!$F2;@pB1 z>N@gf2JcqbW9v}wr~E<_fT zf|R!j|0G>fl6D;%CLEMBs19xnL?R9Y$~}gGbq0Df7AzpQj4mk;7^Yybfb23FixCg0 zI7UHkN>ZT0U`)Yq0l7E~C`Bv-k&HuwYWHCvoJTY$>BGs6bQ~J==@Tr}&{@?X>TKIC z?qC6_e@Ag9!+x&LA*RJ(p<*xeZm(0^(srxEv}K(r|p-fYAc15r~IF zy-2Tx@X|0)$b7Tn@FBU~l#b>p^Cyn6;&nG^^0b8;^A97v zBpvzb?N*ZRreI_KAp=P{YoKr*Hi}Vk0>dqxkcYfVvQm(Q#c^D+v$b{|#Bp0dWR8&H zN1IaS?}sTx_=Uh$qTPHAi0~K&%8kf?`yEj9M;j2r`F##3XHA#%_YbL^f3{nBT)Or?p@n-YvGAU~6q|3Fq%dH}wUB<~=h&*en?6 zmAsRK>J)2A?sh;qj|PO{!d43=U;_!~?{GlTrnZuX^S5)*HCu-B@NKcxs-S+;<_-rG z1hPbcXA3JS7rrUEor6+dXtIa%+Z@mv=dBLtOlCNLivv1_sc`;g2b3b;bm%4y%7e8X z%8eY9%T6zYa30|>W}NCuKwFE$dAPJ#5JAz-tiYqif>L-}BEX@=f^rYC9fCiL1(jLA z3^R}a!a#>_gZay71*&U2xS2812J@G4%wdvX{t}LPtNJ+{b66ypznEdt(4jjT%nSR7 z>Wd1pS5yt=5%^;IDYte_nqd9{jydcR%nJ*Ns?#;H2J<2fhsK;K4(3G~4uvUWpy>;l zNHooG%w@z5<`ME@F;S--A0l21rVd1=PRdBC>s03ZoDb6KOa!Cg$C?2a}1ZQ(2=-xvdOySAQ@sl5nUxm5aD3hZk&3 zolqqm9z>*z#k{#ipo_(v`D@HWyEK?M0O)CG%&%vVGkc`}PbQ9DRr`MJ6SddXURt{Y zxBn;C4zK>U`km^hs&A>zRu5KhsGeP23;q8Wm9JJlSb1gTC6!&3ODp4*dinPv|NlG7 z%jFl8x8v^r807!|ap~_$Zx$HBs`x3q`!`cOi2VO&7mq0x3qLP>74QDN zy6{Bd&cfw|4TVPjkNF?wKbL<;em?(T{^tC%^2g^Z$OG{8+=p_n%DpsqSMJK(=3JCZ zWPg{`enEO0 za{r$QOTcea-${K6Q2?{4gQ*)+cyq|h1$cRKV=_uSo%liG?-FlK%;5!q>l0^!FnINE z@m!)Fnbpa{in(fUIjpTEyUcs z%KGA&lm!ikPqM)gvcXg+m>cRT9gO6`Y209fxk+^epv+qa6U+?^HEOq5g9+vaMpe3X z))%*mp1`wJoy>J>^~Eg$Y16PpA2+J{>WlEcLhtcRni`izf;3ww@B@cJTRvLcbs(Br?xBBhZ50_8}D zIveu9{GlNwb`2!b$jDMs>S{J>EW-4mOG%B!P9O{)3X*3dHtiydjHpoYk!2QGJ#;B~ z+_DwI=3yWy;8hRni{kkrQK2-fwGASkFA|8PlIFeoqIkYYBA^qWbn$$VK-8vYY6~P~ zK|e{ObqX0?Y|t%(C?h6NHxn!(3PvQ_Q4R;Jp~fN-jS7t183iL-!VXD@BoB0COuQyh zut4C7`-p9HY`(&+$;zpUro2U`r=_UX2N2O z4x5HV6r*e23>L}7LX=sd`{ZJwF)2kfvFeMkXlTq?I>912SWqdE)yfgY^+g2AXiSu{ zq$2kUQ3|rr9~S~I)BO#3%d$St&%B*v{TqAZH4NsS8g{+=T-cl8aJr-}Qz4x-GR7 zbkBnYgx$#c=!`+a$w<5U!hO1wS|++weSsc>6}`Y{In&e^_9}!ZM2Mz(ut1gxI;&9b zH%UKzCaEvnL!}g(xup*kw_CST)2Y*X<%o8iJYu+U`=3m@4RE*wtJ!lSRz^?DK_pmv|EHmgN2>& zB&U}~5QuHqQkHT7Ari9p zk%zpT09=0nuP-1cs6gh;f1U5f(BWcX^R4nh#Myq8D6-Gp5uU2fL&3_HC@;9 zQJ2V{ijy0Tn5Ia5;dzA6*ioH~qr$xeDr+pj`cM~^VB#BIU1I^Z2L?%ks#35#Fi4U^ zL9jdEy&JTH9%zSm1tEBbL6S2Rgvc2NvA#DJ5H`agS}Sz1Bs!0n84D?kjDip_!yu>g z7depA`3oILw1wLp(bfeVQhp{1I^TiBT&DK zOt1j`3wity%0gX`^j7z~;leY;l>}H>Cw#zA4R{6vMfdD2U$g)nOx#EaXMz|CEet4R zFOEsdA=6acT!3qaxmDH{a|Xjd!@^Q>*o&p+0-Q7qtY6|VrDgp8$@=}j#oEKQTWjal zj;ocbzp8${`jP7Es$IMQaCvpSI#l_6<*CYNDsQdKR_?D{UpcF?wo)wrqWo370PxE4 zOUk>-mzKxN!=>MszF+!u>8+*N(t*J%#7O3t*&>%Ks$)_pksg>IPa>^<2lvKz8N=J%O@$$Ub20bH5ckO|UHr+<|GT>2g9`Sii`4e2w}Yw_~m zFH&DkeGq;CPo(ZlU7p&AT!2p}f0X?D5`@SAcK{%MmvaG*4Qmhp2mC_kjaD_cfNJhm?>@%I>P5U`dz&VQZxGr@9p~m~@c> zKnyQ9PFEQ$2@@cs9mx~rt7Xaw6Cg0ur@e9vCQN{kPrYtlNjWbs8ICowq1=S82yCzC=OC|j|KT5 zhI`wt`qE}9L}nP+3DhnrnyN2t0)jr!b0(rXIVP$O_P&73Ht=#X$A3|%v4pTRf+%cK zwIoJGr4W;*A#)s3rQk+lAb9{3B&SmFAqhw%QX+DFMi8Zjm++QzKwY5A1{%`_Nr-TX z;#Vm8p1fL&QDE1;ojdQ@)>xuUyL6%f4t^8GBor*2jF~4U1dl4_9Y3Hk5x#=M0$o6B zlaIzuL^*Lai00%`W1TA3SfXURv>recbrY_j`qDEn{}>uAGR3>H!uk?fNED(tS0at2 z<4_%_fvGaQDWP!bSTSlzd+$J8Us{VADXTWkB=M&{V24W-vO*rfE2yF25{0Zt5cT2= zNIQ?xD#9fSS+SsEVQGU5mndY#fReLpNeWpppfo#JkU~}rsHa?3+gKul34xGFpsHYG zW%XP_#t=XdfzSly6LPlBrl=DbMRm#swWb&>MXDgKB@9vZFeqF_K0-#vR6zh;FkGT= z6$`34)Fmlg#e#}KHAvwq26X!qE>XCO0o4h`5Pir2MYUQ}4wqJQP+9&>$s-vkm+iP6 z$`KBzRT*JV4wnw+pu8+HI?&Q#9K=>4R+JuR%>m`f#dN6ZfNCx3k`)eWxv#-82jwZ# z4yELP9$OYUD4EN0NkM@^^h-IU*GXdu-Xc)}!k<%Cd1KfRR~E@cS>(b^Q_ z>sOkgN^!&z_v*ARb)}6Zc#GhnDXevJlHpK&2}w!>M4_H8f;=S>QOjIc7c7aW6`08& z&5g{K_M3WG%vv;y&jf7G6>%_za*Vn z0*(m|){_@3l9@%-se`B$zXXe9X3>~C>A~Vd9CHQ3;)4uxr@XO99wDkuu{|3bM`MxV zRutsfmKMp>q9D1`YN9k2$<(4CDK0ETaVr`UUDTY{SfscW1t~8+HR{Hqa0HQ5hHzs7 zxV}iX7Ai$W__Wm*$<{&wogOZ7kv#%|vVd)eYSRljSQI`WkgK#~%0;fHtg%Q@D{az> zVl2EUOf9tKYnz$oxyGU}wUB2i?Hs%tjm6!fLSi}Z_NuA~KY?&@CFG$PpL1SwnPg<4}F^CL$D77^5x%Sb$)%Xj$??jYUMT z0HPB(0D?3FG#0N{kh#mTGkKkWa9}1!Tq>oFcj2ON?SR9#OkzuXZS4B>MLYwG)^J+( z##LXuS|HfSJ!E(h(JUx~YdpUt;n0C@kCQi_6ac#O;i7Qp(4bu9TB?ML!lA=}(nrgP zl`Dy>2*i}(KkQ7=SiC}vTdW7E1?eSQU%Xrl0B-vpzttBJS2+nqb zikiUn#Y+^T=Tg%*SQJhis13s2KbN+k058RJeepuk z9B$gY6;WTjKp}MQ;1k_gJfCPm9_F;k6Qq0JSbVmCupr`Gf1ZZu?$RywECJDh3;=J7 z^#7M6)~%}jp!Vt7n`=Gf|9c+t|F6XhfWNJNulm{Qd#kUgzO=fhdKKdTkA@GxFDu`u ze6;e0%4B69UI93>atv$$zbt>f{E_nO%H8rkcn4r}xmiw?{=d?fOYblJMd`(*-KEP) z>q`yf0{kH&0p49aB;x-sffXPq{1LGLpDDb(FpqqIHx|w*99t;mf0h4w{zG^R@TK`X z^H=0I=7Ze-=KeYNLA(d>K-0nB9gWG_YJe<|}byan*a%u6!cGv{Q+ zp#OgtSpfe${XqKa^!oG>sb8hOlzMw=GIdw#;?y%zdFcJ0NWKbM{|(90l0o9X6JJlf zFR_$3ka!-*@c;WawtRW&87E>*V=-wqxM%lm`}XeNd;5V~wmp3RzMUh>c)VDAqG-J- z_5q$TrVnuAC+8{l0Uk6KA1Il!IragbHWnYKCf3J3z$3@>f$%jYArkul&mD^o6tBda zxKMqdMQE&s3)BaiePbV-uRhSr*85;=8O$vDpieyQt+7wQ)cO;3@QHl_=2oBRvv%wg zcyQ=XU}V_yhZf_M*t-Wy-!A#H;X#V zF~IM|*fLBW7zqVhNKrf9_Uag0-e^CO&G_6gvb;ex^C#EIdi8@PtGdrBt#1sE&c>ON0;GAqCQdki`UQ5Wq6dRFXZ;= z({p6`MAZ)^GvXsTL4H8_;>7mhwK1{`KND(0t4aQ>jw~OqKKPTgI8J_`>`3kS8aY;e zKx!!UA^ySI)QM}!;sln^YSKg7_UzdC;4Qb^z4!hdBg@C&0}+7$siHiZ_y?oQu(Yfd z_d!^Q`a;V60_K*r;>BojFC-6I{EOBy+*8(yI50huO&lLt9-~fRvsE3zNVd8kjN$_v z3FxUGHR)U250I{PEjU8hO$GapuX8_u5k`DKH?MMiI5o7E5v#KnDhsg{Dbjf2l2_1N zh6~GDY-1D?AZWdr!@)A_F^G|ep$00M(gD;M8p}xMDy*hB8Y-*bxGY>>MzoHAaI91} zY7%KI!f)l{$y8%$uP$ss{~8BsbS z7KILFSh_eV>kh(^1!h>d<>`oIGb;G81a!QE1lJ2u_X62M0y$JpgMlQ{ajb&sB2{e}xD;qu?TFxOv9nsBN@G1H=ma`~=;4z^AI;0p{ z#v{1|sdx}eau`?wx_*8FEDBH6ogbDfKZvZ%##FFoj@XxI)%ZHE46uiodD`fFsKLsdb9TaP_;dX z+Jv>p`b=(7g&q)vV1C82;2p0o!Er?tB1FxPC^NKlf9g1mh@Nd0zYj0Lkb(6|y&U4R+F07lAt|rMMTPYx zIIWnrq)gGIgCWHra${6XvIH}VLByCe;qIa$WTF6X3&M>{W~eXS$q;3gQ61P#2zWqT zwU9J1bGM5l)XunM#`+R0D7uWkj#9PV&JiJ)Wef7-+Lbs* z4KKlFq5(ObYQZhRVxj>dJQP`mmyqy71ALZOFWs10s{qDxdic1 z=;y2PGs#5joV|s9z6w8+y^aK&3cI17;ap;W7Sp_eeuig>`B|{vxcK?G>}M5Gckr&} z5?o3UvPct!DOP?8_iw*{&w=~*?%CN~f?J7v;!pUg2re5paI|!}j#|W^1rLl{G+eq2 zz6a!4gvpbv+crhRCHR-%mIIB_sMOS|t5MSb?^*Tqs@lKQK3aP@ZvU^VZLY1Z{-*ln z>N~1~>aOYqi2Tps-v49p`+u}@Bi{WB%l}>er}BHsv(WZ0EFWF^BXa${w=`GUQ@RLu z{TX=sf2{Zy#fOU57B?4%3%@S>L*XrjiNZF#^*5aVC2siNkbiOh7ToXG;otwo+}jZ2 ze>?L0k7R$B{YLh$k>!7H_LA&zc;WBcnfGO8Gk0e$$gF`*|E=`<(sSv(=}Y0wpHKZL z^@-H0QZGndm)ev%GWpBo7m{yDc9J^~(La*-9W?s)BxVwKB`$#f{?q@bN`KTL_|2b4 zhaAXkN(O`l>??Lh9fI$M{YGr#@o(V4VZV|4xp#a%>d;p9jmiQM`v&*NrXFH%Y%Q^G zHnVS}QXKzgll?|XZeM#EJ46bW8vDvx#n>Tu-|J7LTH&`eb_ibh=93i%K6VJ+_~sKK z@Zz<=E8lz~7nnEfu|x3A*PlpP5U&MZ`sNcUS!1=3vZV%%wZ8&=#||N*f&N5>HTu&% zb_jV5%qP;w8EXjH4fH1}FKp}++*q4Wpl!$Jdh8G~9q3QgEn}>f1qX$AC8LM%GK>B~u!66?jUGDMez78VuQ>$eOV)uv7Lr$+ zPF?TovTF|E&YOR^)XYYvUrwkS$w!z zaer3F4pmt_Vwdr!VeC+aeX`=>89P*Fp9tCI^ZeMMlKo`mEoRLjT+HhZiwg~~j^CR# zhj2m9KiY($`%E!*2p9G2BYYAcc#eIt;?_BKD9b)saRWK}P)0K{8APy@iO4>?uQ`;~ zeWtI-$twQQ(T7sJDq(nD>8qso6|KT}g9+9kwxmrPR-z$n8_|sAXLK zn~zqub04(~CjkA8I^g-1ZFtwl5|)E*RNpp zM9K*90bu&TpZJkwB#xjD%(a)lhL@2(LVTd@cqMWKfjmDp!v1K?Eh&r$#NrlG$WX&=(V)F?dCczB;M`O!yF)$yk zyjL&Z%RX6guU@kZUD?z^8`}yjwPtyb`_W1(c+K)X?nfKYX`ec4mXVf%H@AMJ9eEk) zDfmaULj7%PY#D9}?4y+g#xmR$%qL<(V=``em;FQ<3j8@AUA{veGoazEyb+BqBlV_g zM;Q)01|3=6shC3Dkoj~OS>B;Oz(f+)_(F7K`8M?dq}s}hWV`wRFn!=3Xh)W}$q%%} z-Ct&7%TU^B7?g%kX?ET?#+ISJ>rW)_#z%6qYUWQ~2HvDT_>)70VlNu`6GI(ahBt)x z00uB+gN$_)UJ>dOCEtA6HMR`z2>r>*V;Nn(R!%G|ZOZWBwKKAeq@Su1L3N)TW6M{o zRQBN>zt4gv43!3iW{!%&s4dp+#p{2^*V4H8|9JIP)yEL|zXg8( z|AD-J?}FF=-pXZ_lPl%&&&r=EzY!k)+so&aM@xSweXI1r(jj>JUx_^brQ*+upDn%_ zFaB*Wo>gqZ&;J{R_andm{=yZ7lMBWCPm$^GO}N{?Eq``?B=`H=H*+6AUjGBR=jPVs zD%pQSbpKo6-M=e)0p9t`WPX4Qf3LzDe>Y^dW`@(hNq;H*_H;jeNBX?(s{vTuS z0cOcjoel5J`Cf(Hop5Jvci+)!B@|~iX(f~;lu*tA358W$X_Ye)VBiCbU=T1j=P--G z1S2vc8DaAgO-3Lv7z`LN!2}1)|DFon)z#Jh{?VgnpXZ*pE1o)4C)BBDV;_jE#_o$< z7+Xdr|6d@Ue;WM@MDrgLor(N5^2NwIB2Pqa`CqL7P7T4vhaeP%f?SySGkAt^Y6v>^ zFzocEFI20B%h?jc^g(^4S~bKVON3GKTQ$TYO9VRy=`3T_aBEv4h^ba|+33^`lx_8b zXf@7sYH*?PQV7Fp3YG&enujr-pPky0iec^1d+pS!3Wlxw6@5`VHOIq*2r;Kdx*VG) zs6`v-fydhyWp%I86Fla19!qX0zEdZTdM}g8bi>Tg%J9v zST)=c=LjJjbbhMT=CE$jUlL(dgw6_f4SqHT;C>bGLSVP8&3KRyQ%8+7HmU}t@Y&H@ zV%JDx6A-hp$*z&cCLxTUf~AngCLz?L0PET{(%3jeh<|-sw`-)a2?*~|a9l`Z6A-S{ z>2qw?N*;ufk<}zWNv+Oz4+t9Q7NutV(X?H zy-JFffCxWsVES+JAUxkea6}L9A$&x1cCM_Fvc=oN7PrpKl~q!<2oTBu zq-+5|9yt;ZIv3ijh$v?Ox_ZWrdAf+PS4rKXG6+JY1hf494dXa}PPK>pBp^M-H7VHXMWe~M64hb?L zsaw>HkkH7=Dydrl(5w=V>3yxNo+|*M>z0Ctsf4hNbd`dK2@ui-YZU?R41jjh!95_= zE2|Vej3UUPWNM|oib!b&aIFfuytP-)@E~R#!d^YygD^HXh;@n~rj~>m9#$!am;i!# z^hLY4dTMNm0PMeDyr8p+OUABKJN{!Nk zrAta%OZydnRs39Wt@w)Kb;$fz!M*=)7Tyc}e|O>Z!hwZ2a{fJ?Z{+VstpDNpeC{W? zzsvP8H~T-0#0A zy^`K1^-H|!_qNolQrD$UVE+Ga!2kbb@~-5$$-|M?kD~g=iI+n6-=5e%{wrkk`|J2? znC@SV{W?5&8?19)t(EW?ipGBXEj-oG(UIpEMHuAg3KStgec`YIU&WId{&i%js zD)o7A88!}jyoDBo&SiFe4y;T7vJwy^cx0>3V%c#>$g-=?h+2et8mxu1F)D&=x@=1I zX}9a7jY$Zt?x0(%PTH7&h>$*wQSCZuV*+CK64-Up#sq{f-hjBQ?<@KvWSPDtJ9R`& z9zxf~ap@g>G93<`I>ILvjLAD<)sfcK*RvkPd|0*X84qGs0qi=t&O}A#-N>pVk(h)quGF_9tB!OwP#iu#is<8J)e)m9Am*cpT}QGpfq=)}_az@)Ri`FAis&BSd?QV$(IRaTVq&(wggq(q_8m{AVM93k?sqLY~PVKx#kLATPmk47)WsUh~%#qj0^ z+j5JnNpw1}Qfs)+%S#E72Ud;zVl*sN2emfHN8}e{h|uZTB@v<)eUq|kHwZ-70n@1= zZk5%7gP#m_)z+9(yH3HdF$rwCc1@^kbRon%g?3G-Yy>fLwOtb`8-viW7%CDf8$r16 z(RD+sCR8?pu(8!=(5YP|dxT?z*<0t-u2e9b6LfB|YC>&e!Ll@qK~4~A8`ERWT#0a5 zHUlj1kq#RHJ;A9Vc2;6Sj2TW1fwV3rti3{elMi_q+AFj-_imiNlUX&Py|Gj`)Y>5D zULd#*rwum#dKpd)_m6p7>AD8>IT&17J5R+JPgqV3vAAwIoTv0P;MC4hF-E3xYG*5$ z5M7}5LIuN3^twoOYG-+vP`*M6D%s{x2g(_81cfZq`O2vwAr&u$?h+d{3a5s|R4yj0 z#Yj-)Vays=4Y}$iM#Q!UdrsONNh|LXl)mb$+R3t4p>h-Hz2+ucyB{7VuT81vEGsgYhMG3K+mQzN}jVz`q-Kc+f03T&1bEloRq zP>0#k5+Qbj;K=Nhh|taYD1itw{W~=ZXr{JOKtAIbgDj$eW`PNnMaY)rV!~t*UKx}a zHrG0jTeU3`5qikM+k?CeF)Be>v@8%b%fv6iu}4ZRR)&08GB~nFNCY3*fc3;oaEL~dKR@xuA|GrRsNAb1A+lprtHy7iD9~M4Y z=oTI=Twd5(DCK{i{|Dy(zdFA&zdrZt+!v7T@71|o$n{sw{yzJa?7OnB%ifwj4VnHU z$ny8W%$qZN6#c)64F4BH|1YL~ntCQRPQ5&JP3rln+2p?`zm$AO@-LG&B~M8@$#ux< z_t8W%@lfJ2=>O~EzlnblzW*oUx5Q6FM!#t6`?05Et=Pk{%Wwl=ee^fcFGk-UeNFVn z=&8}AXe9Dn{`#t^G|~bPa;~%+6wiqBqIV}! zA5ptO@r(izVl{6hJV=Puyg`bYCJu+l`n4Vg1pilHDN9Oq604CRT$qGY$z+ z92%sVafJDdRjEHNhE4EcU`*xBz&}4uKRzn(@D1%btFs@2yP?Lm#0-Hb&S_SZah^f2~F+jLmv`$(Wl>rDJ4t?hAI%#1N!nj@E5$!r@VG_dHq96C{I%#17LfNc> z4B*sXgfoDI@Q`esot--AVIIa5C+^fq5A!e>+%5VX+jR<9^e~3uwd)kH$RQ!87Q23# z2QiDRN}XJ2yc8Okfc|9H$%RG$9H2zfWKEr}*71Uu3lSmo`gy^r;Gl60#evI**A?9@pW z6H|`rOt*HNI;mnF<|s5&N*(Y_4?qS*;)I z2bt!|uCu&7tY0jVUC@4O*O7?WZ4qPBz+tX_v;qlPRXaThKUfAi`6vYv!pTS(F55yL zFQaw4j;F9ykkPtb-{uDyt=o0FWXid8nP2z{uFx$CgpE#6psXm6kVU-gLCofsYW+yB z!Th$gX%Qdc2bt&maHTRf&cR;MMN`pnuEq!FoGzLQ2-o6ucCXY~ULVF>#?7HpXL)@9 z2+?Ql`oW?SH?~%1bE{6V$UepZ^;I|y0%zGu-4ZQD z0jA-y>lNNo%Ku|F1>5yS4-$4TSm4#56jqHsZ5{r^3=vvY^!GT9$zKb0M1 zUzWW(drWp-L;$=gb7$t9%psX{`bX(crn~7!(^saCPS2)(pZZGbUC8ghJ9TF2pj0yX z&&f|Dd&$R=S0#^5&L)1J_-f+aiPzy>zcUh>6N&f_;~$T=;}6F#j<3W^v7g8OAvTV^ zH1?v{(XpB6zem3u{hR0$(VJlbs7C%2c{cI^Wc9lEm5(+^2w;vpTr9+l_mb%9!RCkR6SC6bR!|U3ORv z^0bL2GlaeuR2xXu!Vy^6Ec(jS7>bKz#V`c3wTYH0?Z4$z|qz{eVptwj0 zF?Pvr2=$KgH}U-~un#nD^Ge~0rrvG4LD$ekMM#B$9tBIG=tv1+&DDq3Zcucjgs|oY zdqmNZ0>blk>yT>WMsEsua;f0>I*ncY97o*-$mC(S8^{qO>*7gAg41-p0%59euv0?Y zqnh|RS8uW15ZWGtumhuBO0|K#$yk)gXVHKo}Q*)gXTxN0`I=tOohpIKr$H zSdH^t1Z>b4*5JUO=OTDSj*h4_C}2{w!&HRb5c(Z#c_FH=)i_(!g6zCTUz63Km`SPy zh>*!U%SD(KY^!mmhcL=Ot3m!XUJK>i3o5Ht<8&8cjxn?wr*VF#Oh@KHwHrdCBZxU? zh}Ae%)C1keCudZrbTVJ)!j3SEvt zjGSsWju#_>QbNME8^^g2e%J~e*zCr!9)zF8byl<+LW`qpQs%R`)gX@=%`h&$8wbT| zkVj1*Lc|q$)C3}A)sRPxBSK86jU6t6Gl@QXR%5%1FvmDm8r#J5ad*05$b{a8<7+4@ z3cZaWVb!n$bR!)efMQWpbKYbhAkKh>_iNut9N$865|rCMKZQ}QZ$tyA*yI&BOg^j zXg~rs>PlmS0AQIDKtE$u8tVlBgFyhjFO|mr0>C9wpai=if|e=yCU2&$5L=CX`H%v_ z-JQCaw;KC+2*yA`M9D?)=SqSIidd%cf>2}Z5kwSRgxUOUHS!)Jggxl`D6hqAaZR>u!uJql~hf1rZdrIe)4k;yyKPY~z*eX6$yrj6LxKH61h0h}6|H}(6 zDjZ#yVcP#Y^RLU_mOmqZATs@b54ZoH%-xRcf17fV?Dw)C&b~E!7hd_>4DbK5nWr*u z%-o(iE#svBguMRmPCt>}l|C`OnEH>@H&Rcfo=ojYot4_0iY337{2*fgZ^ym=rNo~T z&nDiVcvIqb#qL(s^qhd8Lf82ZF1BLK0m}$lOs#qKh$ZRZf#a5+#P`($o25sd=o@e{5)U z4m6C?^EDLtNP{co7(Xh63y#)MW-g$dtFrBUqYZKa_!Y@BpS;4~>j(Zz&}6NM;B zjM<;#G$}+;VnUS2CWR;pOo#-e5JiT-0mXEdvYHg4$Pl5M3!eMr2#9^N)yrufsbI_p z8K-%Kg5e_^T(O7Cxk6nqCm|uei8~I{QHG$4rRJd;igK3ei)g8Nh=wxh3Qkk#TBN>; zH}G`sSZW@umINH6dthZRH4oBIX6e3J9V^B~dVNllGWf8WLtSP|#8PvUQXBSbyr*Sq z(*YWaR$FkSmi(xY)mGI|=G8`-eB8DhwXbRuFOs?#tN;Wh1ctNP#LJ{Ah-9EHC!A(Q zsg18CT?SfBp@lI6h3Q1%G#5lENS7IMYH^xn1;e#UUA8;Tc?H9dl|d;<30Y};s4kej zL(UVk8p?d0n9)#Xj@ziV%E)ncQ`{+K52>-OL>GT{Q`{*fi1`RadzZIb$y}m=Qubqi2kbve9YcSq?r6p=zStEQkX!W}A0d z?~dKfdk`-7be^a-@j$AqiJlxVEgHK?7fKmZ;O%!7)TZ~k+N5l(5`vqWMt@3^u9Qj; zn@0V_XE#OkGF^r@+b8X&h+bw8v%Re;qL&Fmi3x*tY`ZCJc5|HqF^u-;@5U^zG?0 z(+8%bspnE3Lhir2Q|F|f2jBk>l20ca$@`NR;P!tu@#DlN6P?7vi2mP}*f0KX@z2Hg z#$Oe`K7M?>9Q#A;E3tRRo`~HPL-L1MB>G(R!_ivwzUT$fBci#;zeGM2>B0tZX=F>J zgs#ayr$xFIJ)a6M0lm#+7%`_sx|PImp3~>XX_0Q_V$A2o7U@{WTyF~$oq7<_M%xay8T}eO~Pv}jtS|>=v zc6uo_xX!HB@g9Peq01?!MLHC#g}hWD7`oOaFc9%nlin7mMc29{1`jtGTI00ny$Xp5 z(d%3EUWLT)lf6DmPK$IWiQ!J*;94NvNn-eV(aW)0JLDuFPc7?~K0J17y9Z(0ZJ_6N zYnul#rx37PbP(!2v#uB@Xv6p)7Hjf(c`ZLlsOIOB|wL!dQY7Cedd0)O0X(#%YmrN@C1j zY^QaQieYRVWGzybWI1Nma$2M;F%0?sLY4zLs9cOutT`=mP)Q8ydq9>rEpkvvjF|(S z7CER~jFH!!7AZ**!%)+?ZBK1f@=;n&y z(UfY7o~uwmTMf^+IIWD=W~KreUSDaYC5B`L@p)i$oK{M~gvo)Vg5h#Nm;O#Gp{^MX%`Q0QE{=I98Lce6kkfNMI5wR+FxLG6dMqG%{9`u6z=LM#YSv zE1wJjx*0)NJ_$i5UNeFsg9!n}Is`#CJ{clRKsN6bV}^7aVFI$bN5O;$$mSg?hFTLi z`#H_qJ&X{3x|;7acPp3>;n$?ApR8BHHl)v?-K5Z9An3tMegxMU%5G9G zCx@`%4OVlL5RRxOtc)9lcQ~}EyF?k`V!BB&!PH+s%qIk{|Nl6c|NrS?qj-Pug5u%D zY~ja+PZfH2{qG7E{r~Iy7xI6de>I~2PeS&8ivE9J?oD|8?@YY@7tKDG{Sf^BcW2MZ zJ};Zh{2=pmrjfZnb3x|tOdh%apGgnXFHOG)vHvrve@}fm^*5;}Qa7hgO;wYBPClD_ zKOzA3B+p77oJ=C~|Hl(;=>L}{wkGz8|2+Qp@lpJx@vGuT#n;Dv75iLlE%u7oi(}7^ z%}4);7=ZUg-w@p$JtKNxG#2@O z96Ad36A-TD>CLs;6z(S=%yy1T_VW2?v#8Q3J+ zbazWYLM&YE1rNeI9^_-GQlT;ClcwF4DiuK(dj(6O5J1ru&ZT;P=FDuFTY zvUYo4*>RrKFc{WkxA*ZNT!QKg#%`Ash|vIRw~GqIXn(caOsV4S6>ksg3Ur$(RU8t= zR+Pe2%z`;I)ozo=NkHi4U{FD}+mymoKse9n(`2{F-y|W%S+d*YZxRsmg4w2y3p+FjhM%B|ezJG%QX#B3Yb;Fwy=WTn0>u zqB#PFw^wHvr}el}PKYFGk-LdC*tHJ^%VCNXuZ!NWH%z6|Vv3Z+7<=xtm?9-GA=13X z6e)oTvmr7?N?`aYAlT*yy?!loW3N70PU`^$!);_b|2eJuRSfG_u$=o840o;uc7@ix z3dVd&c3StS7*^Q(TuKO(6@xTsF|CSsDMW0wm{!Fh=G2UKi!NM>itvv? z=xa&l#q~Vq})0ZVmtykt!pIT;es=3Z%}Tvu2wLde}n7kMII*XWZ1e&V346ltnc7D zxKhQ0tlcXVjQP}Owdm3%b)B*SVJ-tk8K*^gP8ov5O%Nuav9;*hrNo4oky@81m@vt9 zv5GOC1DqCx9m~458xI0b>p}&?rC)F+E>JLG7DmcfF>JsTBPGA5GShcPGzDJ`ei;4_y6!B~gg~EdH7JF#dS_%J|OsOzd~U|9@lb zq*x{TpV6;J-y3~X^v>ux(Labe}~1Deh>c1NmLs4K)+){*KJ zAZF)dwUg)5L^VO*W|t84byDpxuN7}HflP6ic1NmMyd-oh*kq|<0m9EJ`b^p#sbT>V zqLz2)l?XNsVzLAJNQe2WsJ*agg!sKW%wHuiAv<7)`Ku&`O_jbfoeuL?35;2_TIown4pSV3$j)0^zHrKUxg5bdxnH7&w~+4`iWMVPPwWbP~C4NL+FC%rXR zo4K!m2zxl&YTqe_7%3B38NnfD&MPVdnI*WU5YR!}%y}g+e1+c7}#T(xDC$L^-4+HY8#NZZK-UbB)&!HLu0q4 zvIU5Fi?G{L*#d-{WP_zpVjI?R2zH|#$!=3(8wp|7OI-lkZMxVgAR)59O^Iy;gw27@ zGgg}t+b~4fM&G7uoeY5zXdZPDVYQ`>1ysmP)1^)-gSIhq8FZQrO%PmK3Bnn_3Io3!`rO0ozs>f$5huACZ+W?>9k*{mSZ&5SZ&I5Lo+xz+KK~Gbmk8Rxn|E+(`;1Y>zup!GuX*8FVb)dDL5MwPnyT1*y`C2};G|L_Kh( zidoQSO40v6Pz9^Z%0n zyZj*kc>XG6|KFJVEwcab&AlRbZSFW^|Nmq5tH}QUME1t)iP=i#zcSy%{r@MC{r@by z{ujgRe;-XZ(+{OD(O&;ME;XP0eexfZ?@Im^{Qu`94@La{PZFO_3=)qgu1f4oY>59F zumA0hzcPMp{8+^Q|1tKp*n48HkL`|~9@~WY|L;WKAAK|Q|Ffb8MdQN%|3KuT$TD*O zd-4Bvmy%eJ*v4p>vq#(AjS9qUZR^r)DPGF5Il9&E(rqaTF)l>AyT1ns2{P_dG7C}4 zGFxW4XtulLy%LZRi*uJ0ED13`&gOJU!SXPseAsrE6f6$|!KyE^YPW#1q=X2?NZ*B> zZeFR2E5bTw+g);Dc?F>^owci7iVBnv$Y|4zsA`w4O(`H_PMI!+1$rQpo?&;%kL6(u z4RX4qWpM~rJQq!3D{XDI6CCWaxo_Jl-;F^Q!a!Q zo?t0-ams}(8=Je%Z7v#v97BPvt3z%qUdR?P33^3NhcqjJVH;&|V4MzVRvyMQcut2j zD}f>7km*Kfhul~$hA~C3J>Zfoa}T+yCMwcKm=6k<=7p{8A=%1DQTY!Xd!mz z0S{t!EZLp=J&4)nZg=ieAUGTa*~aeNt3a5*(K*ZNP*5OmF88_VyPMS^t%@VKIUG995y5hmP!#bUt!Az{hsEdzm;4IX+ zNx|^*W^nX{K1Fr0!PQyP>gM)Cw?WMat^DSX4wR5>=$HLaTF)LR5%8T3+|j&N8pOc*l=hZVzwF~j9@@Yn`P3=^Dap-xdb#unS1OR?TrpM)wK;7q%7 zi3cGwNw6NfbFl{r@yd2CQXs4pU8SgYF60)Z6}-Q|lUW&^v!kZC8bcFy;MD6vCu zB7{aIsx#%ab2>t!5*XSdbw0N{=XgEihDx2g?9SN=#3+sI&I=U?6TJG;wmWBe5VKsZ zcIZ(EF`b+TO+$EwA7mcF)BPaR?q+vRQ(D9}6kUee9dU<~Mv$wd`n=m6afg#Z7;6N( zF79v=#JpkH9dU<~Am-Q}t8)-8oTqh`lpykR^79@`$n_-ol#_STR;d z=u<0OL#5|&vL)y*i7b8GoX)Xgd6SDV%+~&V6~oSfK`uW=#jw%UcS5Igw1VN`8~P+U zot-Mi$e>O~T;XIsNG>Y$nRGgo{)UE+`o-`32kY9dVvNeuQfHguf+ag9F=%iUw<;xt z_}V*LR7^;1D@tuRm9PV$zRZ_8%NokGvYgJ5YJJR@u9xI=j!-eibC}aPT*VmIjnfe~ zI@xGr)D1lEbPiR@;n{?PGa_P-Svh7)B-j6cFZ2K1&GP>xi$5%Wyx4~S|FYut;`+j` z3STI^z3`WX8w;lv4k$$P-_JjtZ{;7#Uz*>R-#_zS z%KBthdohSo4uL+$*Rp<`t@ffSh?|7;{k+;ESC(6n+1}&yC~8oG_>n0f6}qHuNemOH z0V!s8A9H(#ei7>g+S7fBY!5}~m~|JYOX?P@3n23m&hAo@3W;H(s5jZ}Qj!V|2|L7f zN!cO@4rpQL^)9)xTny`0Kt^>bW>8|x(NxtgJ<;G|xcNb!d8bRRED7RDnZD&XU2^g1sqano*~Fr-un)Rj0d0!I)35c9&uX zMO|hdw7V2DC?H`hNHK%5#Y_t7Lt}O6B9?%#!PA-4>fS05!mk~iCepoF8Lq2UA6~ml zA%g;Aj&QWPw9grOHVbpWtq+J z)$TP4D1^bP-K$j)7c2UNRJ$+ofmoaL{#CnIsUU7S(Mxi=q>;&nn?pXFE@@;E6DGti zXA{Qz^E`+-*xl-$%T^d0J~rX{Vy|@1fmH}`%sWCh z<4X5z0l@b({JNC1yQGMrgzcf3a;+};wK#+gT43xe-7|SDD8$GJmF^h=AQW?bz$#rh zBv>67ENZ8|+?Kkh;joEB6-?hDN1e&mxzv4uhBB(c-BZCTZdvS@sLPY3F6AY4F+x%V znU@?}62-SpeT1uBN=xcuDA{mOt9H8N*^(gchu2rP-6d5_V8UcFsbV{5l!R?aA84yf zsu)9vV};&cr%S3BLtvEILJCZ{)qTD!CB&rWbV(6orG%P!tu8(3ATUP0vAXo614D$E z-JC8dVGP0Mi1r43;H>TrSqf?~tpcmNT_DK)YvMnryG_*Nrj!nx53MfcAEmYc6H?C> zi3nK;R(C}rLRw;X>82+xD3MGx%R;M5IdnM0Eat545iY_k<*Y8<^OV)lue4+= zfuKdSML$_qx`$#_a|AO$1OfB}9|zEY1*XpF(hW~&vMccBh8_hEMmq#1WZ3BuK866D zrZ>1O=n+0b$Rvz9!s$}PF+;G(J1RxjYOF3r91BcHOAe5T5Qet86mQJR5N*{LsNJoC z0mxSXcPv+Ob?Iey9R)%y2^^U0uI)k0hkm9)ahZ+V!hwhZds{|NtK`p#O~6yPFW5U?Rq(Om#%e62&N&}V!KP%Iwiz7 zex(23vhIKQ{r|U=?k=5EdR~e2|BvDR|9!>tiiZ>vh3^$USa`Cqr*LLrQ(;~H+5A)a zHz51}Y58jIPq}aA-jjQ6?#A2+x%uqxvtQ1>J^QNcb=l*xvu^DFi!(=O)~A1&{%m@b zek^@OdRuy*)X!3Xm+GV*PF*gvEenW|!R#L0fD#aX$kxSswRa1hdU+{eFNlfYj5h3<1|=VwYN(thzYJBr&fD6C?IAjF_pyB8qqg^OsAe| z?>c`;WQWsblheD_Yd0jA>0o5{C`L~VlKHhfr$-l}1cV(KgN?R&S3`sej4@Qo>AlD+ zC1jwhJ*LdS-@kGs?48`4pfg#ucO~n(1hJ#GzRNg0rp<_w%n^)EkNiu^0%P|3I6bD$ z2#neBv(&p3=SEo$j^#$vsncT$jVy`DApOMa^q4{;F-9Te^eAjk)`m?36R#^8PLIO& zTujIaQP`fun4eg4dK9)NF?`Jj>mn!9G74Bm*UbkDr$()l=<}i;0y2O->wB z^lhiwBNvkkGKV!dJ&N0tAkL~mcBZ&Ji3w58d*o!27}jWAcd7PHVeNqp2nVp06{8wd z?a{*v6coupR8oM$sy)(hB#2u%0w=j@??eTJ1xA81*rpR0h@8$i-0)Ph`oufE<5~Z) z=Hbxa$`+3<7nXX*(K6g3Fd@=)sYj15s3?-0dZU(l^!S2`q75cEy~nVoyEU3OhNJx; zX8r1t&x-}gE!jgEvs!0*=)!IB}*dJEO;7rdgOs}G0aO9s6fGEd{l)2#{-hLScp+!0 zx1e@ToPvV_p{${fG?Z2C&8rRPZy@TUS?$gFK}VtGx{09LqwAY)%Mlh2J`a{O;|J}) zveH3LZ=*T}Y@r92-UhXIw22s&)lzT0hBChH(c9mTVk{LL&;2x%X#=VD_EkH$V!mzH z+s6+wEt+btq=Ag%S@eU>BXU;cphyDUT378~MqC6fX9dG4 z&a}FCw)+%MCqZmV^d(~VDV~l)!e*^c@pJ@P#;c&L6n)n0KJ(lVge>1Qv3f<-KE>0q zQoP4Db&%6%iViC$^i97$bKVFHt1H-V=DcB$5JRrrKUa1Nw?jiZMWJ-8#pL&*PU&Y| zyU&yys)$Uz1ksm;(|;i`D>xZXbVEuJMsKgvKTE-web`R_Oa){1vO0abo+Rtyw#Q(5 z=z5aGa6K`IVQP+ObI7%_JZd1QlZxLUx~?=N9EK$r`XX+kJYTTSAN@WcTTLZV6#$NPXM1 z`}91wgb=t{!yf{^ATq3uCub$Cua^r zpu@!MdVicg(`Tp*+Lp-R5g0kAPwpI63NYNZq_@TCQ#75xa8HY&9Ezrsn2Ed zkbo0Bg#R6C3fYXIr}NN);2=^)Pk~`~)eXM4zNKKyp2ljQ{6DfB*vE)R^d{SV%IPUU z{QRd6jol~rk8Cp=JzdsU`{e$S5TSkR(xKXCs*C75K&Bb3_L=G;2Z-y;dZVj-rn-0_ zb4g5f;UIVpjm&TL>CFV$ePUN#Fj{>|JR`eC2>l%3^w-O|pc|=dfb>$F{{9Na9DcXd zX9^27nC^12gI#d>RQpU}@lac!CF<2x`%Ga`KwE+yV5eVF+k|s@upp;j^kbGyuE=js& zF=?#xtkX{^n6UkUX)U5nu;3Vkp3`Sqi@@;t4~`Mtla%eDB=*70eyJZ*dPcq%Q~#ZQ zR4obTSCfE^s3i%bgueExeM&~-wu!D87-UHAaVa2hnSsr}&X9JGMey?en~xXO9*f`= z5VCq3#8tKTsMj7^CMGLFwfBf0M2*%J=xXm_KL`V9u#r6E2a&oSEa^c%=tvBA5JWj? z#6VKSB{>U&AQs8Xhk!t4i^YBZl1$#hYVTe@Xp6DBd;B06oD6NcTLT%MHg$R|p4V+S z4YW*Z=alf609^*UdeeyA-eg6|z6c zek$9^K9s#Edqg&y`BCPRnNH^6%q5wXOcAmF&!h+Gm!vO){$EV}YwDR)KlNzp($q?- znEYAtGs#i%Wy!0P$0TPHzfF80@wUV(6W1k+jYgFl@C#kIK@Ca?mA zp8;Jl5}2K4JGnEU$TopF3iklO^?G~k0VzWgW0bPh!A@@^kxGe)qF_1nlz}J*MgS8( z4|aIvP!K0MCG=6O4z~M2#>32Dn*s_E*3N*GBGDok98BjuXFy7kz~Bu|6Q(*?@hT&K zG3_zI?o+6nD2QIA4Q^J|!I7*SoGeHq3d!U=Af1REcVM%i2rpAXhl_%i31g0as18Ua zatk`jxK%j=^6e-fgZIN3kZ(u9K;Y^7nKPi+H^S_oJ8?!Xat5RfNetf?b*5e#kTSG_ zC~R=+3Z)w`?dR3OX4W-<;zoacLaKuU{UGzyZUSg|=gz}nkYSSoj?@(pdvE|rY8QkV z(Iu=sV9F4Oa6M1&T6IwMs=~52_RJYDeMpoOHnGg1BQRJ+<^{qWIv&WhE82sK*D>yF z40ep^L!ulOkfERV?E%w=1cWVoz3=vb-Z&5=7?KHPK*4YV5)$J#pkO!&2@#63;4vo0 z!C+y0NGUj%cS34}URpY#Fr&`?4|O4X4V2#^(W3h7e}*zoe3_4w&~wg3Ogw2h4jTL1vRubwC+o zmL

r0ootJ|sY93!*b%`jEshM$>uG88H8iz;NrIK90_S`EMk~I3dn}=|Td-ce9|( zW4e&UuyTU!VY-mOz%FBu=FWiWLK4H)nBHc4!0s{%44c-VyoHe2V=5>laI(*|Az59>TI(}y z$ORdvw%TXfkN_=nKVYDDeWne$ppb?$ZAgOnQBI#0yH6=(O!#5OcQcJtoyn^ulAWHBthobxN4tiLM|v|Aekm4L44kH!*sQO zmpi#E;=?FN`**4!^FTWNJxpwq*pi7G^}%-fcPJQhOkcHsyIUEvmzZRv)8FkDMEO!p zt#cg4r11*oR^Q=CW#^g#b!$N`u$b3)2>EGnG2eD?x_3!j= zR4{x!>QiR-*)2y=7h}hOV%}%*zzjl%R5m{PWK{bs9$13RTZq%AL^GWCDL|Pk!u~Lrtj+))4oSodgE3O;`m*Ukf1OrG@p)W7}LO z{}jJjd{6Q9#aoLnC_07zE_|c#?!ps=8w$r4oI)c1ll*7#{@?5KcjYh2Z_m%<{+N3< z_jInGds*&=+^M0ks09~fLo9W@X$;l{cq_n zr{9x)bNYVd0^E_FP5lv>06vsz!XEIV)Nv^%6-)jI7J+H9ejSd9NU{!j5w;Z49-#BYqB7T+9C#(o@oCN{y{fE#0{#tw`nqd$&5gRB6r zLTtdPco#5*cL6>VS&O_Ta!cg&$ie8c_O~!RCboGKg^1D-lg-^td-mM4d)GDB@7{CY z4GTlu^5SGMwcAy4Wr%1;PWD1)Rlwp9I?h-D7bnB|%9u|j zSB7u|axzmw4b8`;E(W0eG4TDu5I4FwS#aexwfKc0u5)p+ZU#dKb@s&55Q1))-}2CoZDM58+F2apf)=Bim(IcvFG2{q zvG7G+IN1$o=zU!;4;MI9=bnifTQI47v4HL*Cv-79J| zS`2-j%HE+)*}`y!cM5bvrxu3rwu#RT3{f6#;C0hpPG$RqQF*vtP{nW`rPf>??k}iv z1M*Y%6I5)tRI*PHl!yBYs%agRhx-UBzBGJW;#Bet5mg)OqM({bv%p7_R0EVJ5aj6CuQ|ZzvarX+BHv!H5j;YO5B8c$|U0 zWiA>Nz2Yl+VVIO;aZcLl{~GB+`PZf{&ky6gVPdR(J+2I6SkQ2-ui)a1_}W+a;t(l9 z8341v4}?ehE03UZSO(?ETwm|V4N7G9^x^w@aqxI-d65!DQQeeedu0o`Rd?Nc^RByh z-FJI=0KE=$x;}v>9*LJ}eN-rPi{t=8933@a`*wx8FnBa}#3H5Mr7$~jQBExyI-EyF z1cJX}C~u3)Fx8z4 zNEh324~P7%%WyZlAI}f&j~%iIvjdD_==btb{!gKvE#jgkg@qFJNVVSi!M*sDnuA*+ z7}ITPkLCvV#13A>Xh1eoHXnbnP{S5+oLQm&G0eV!EDxZ65tVfq6>s0+YcF!jU@Q)Y zF^oF1MJ3J+@c!H)xC^;~aKmNCPUXY70h~^tA()nKHTeo%7~CE^#336TdLr0z2RmNf zxcl0>cP$Qf#|{IT>;V`?kvH6>J|%5CErS9j4{1YDx!E*@-0N(L7&PO zSB~_^^8>tj05VrKNDgfAh~>dev4fpuJX%a4D_pjD)P(_5Cx>PS6DOs)N1h)bFQ-GH zPDdWj?L{jdad7~B$zkEZRJzcYJo@|q2{}Qh@!%D2Rf*RLqLf`qo974DG9oUaC0wZ_g(*#iF$iyPrXPjJZ44g!0o`~c&zvaBcw1pWHy%|GTBVyk zoB@RbD;(ctUT3pW%o$K9u<#Yq0wX@vMrmn4p};N%Qp4nRTpFCLqQG>fOV_0T zKM+~JuJpaq)1`LlvC=iA<4TLL06bUxXt7m%N%5-UF~#}9e-yrj902vgLxsx=I}3C9 z|HywU|ABlx|8V}w{PXjRx&O(17q0-ebC2b&K_&n@w=Vnr?8mdc>`SxPWKYOC*=Xhm zhy@sAUY@xwb5f?7iQ+cEC(^z2Vv6T>VecHscotC$=~8NfOoUk z0M0{Bfc>ETe>L$`;w_2$5*H`7B{s(Y5dUWU{qeWP?~7j&-+>nae~%Xd-Wz)|c5m$B z*!I{=^!L%PMc)@)jXn^)G`c-HgWLe$z|DZSMDC4T7}<*M{;z+FBfL|;2?q~;W1BId z?`$+$rh^&Lg-G_DCo3ad)Z=7GS1wL`x_o5>KduYl1}WdcurfMa1uz+@0S;3EOv3u~ zn#u^yTUmwJX#FSG(IK)ABL32Meq0zag_pW$I_OtMOyMQ6w~wnsv^Zi4F9#UZo5c}R zcsX6%eO13-7#%2^C(hlz)9bulZFrcvOJtM&wJ@^f*FvT6G04Kml4LQsK24}H!d*IEx2re!PS=$Y zF49SWNpq--78HO%U8;=A3P9Z9R{Os=g3DD_!RJq#fH~O(F##HP%?dJhR5pCR0jP}N zW@V+*6&G>jQLC?va81qy7$o;Z{xm?jYK8*;LkA)f-hFxpR&O)GqH1Wzi{ z2@&xktm$g=7f1UjbgJF2JuQw(9-T)@`d07asHo6`%YR{1pytuZ%iQ|BAWN%;uk?jc zPLj=EXC>Lx_k~eLlEuvXn0H|$G~#6_SZv&V16vuvG0IvF?M`I<(IgwZq8@;aov-zk z5nQ4!z+lU(j1U{@0fM7n8If*GqepEJ+ps!)l@Ve>Jpd~~Yh*+LZ~?A0a-9m`yST54 z;o~ZRO|id(;bRJb`!xM+7{0^<@HMpJml8u{aFxA~F~a^fJfZ*$Yp61OSOplyVTjbN zZWRVbt_&Yk0Q`XI-wKCF+Ul0T=R)fy)MgKW%>d^ie=qJ+09=&$s#qN2aSU04Pzu!o z7Kc!vC7r~TzF3EMD|D_n_`knPp))VwH5(eP8nzhPQg;;9^=B-Xh5+X;B%%Imrtr zP17_wP^=|@pOt*oFAnisJEudlW8eE)zc_?P(xtQZY2V-A(Yf-iamV!@ox~*+4*%?4 zr_h7-FASk%%lfJMW&cJv#48t!EDg0j=3N-#i3?6P9u$ViK*Y%=qiAIaJ)4tB-6bL7 zue~yauFU~ZQ29B)e~uaAeLxNnClQ~tUKrwWKu$*2sCeHtzA(hgfQ(E_pU7J0@Qwv1 zi^4VXrIKte{1QQ?m^muk*R;y;V$n5p%XGk99O9}is~rH-33P}IsVD&^bF~<1{oe6M_G0*ep{EVP|f389gGS=eo9EHxx*Sr;;_!tEJ=ng=@GLoi zID_$(Ra6hG!@M@hE`0b}GZuRX|X5E(}kTb1WPcKJKgxp)d0m zkg=Egu$5A-||}=o+1Z6hxu3J zcjaG@-<(h49>Cw@9l+P*ZpodIJ2;oYO@M#M?#;d?drS88?7`V|=3g?;WX74l$XuH_ zKC_tquk^F&52jbs_aPg=*7W|V-=w~rdS~hlsXeK4Q-`Mt$)6|xZ}M%)S0`^wo|3HM zEr90|A7L2*E=wGhn1%NL_4rfqC*$|vHGnPg{bIkyoq)fIy*74h?2OpvSR(qv=;!ew zU?=*@=%fAid!(yA}a3*wfaB)VS z8N+c*zteHiCt=r*4~Z=iMJPC8ajqXfkN+&DTg>OiF_L?-ax^~LFg}P^?7m#WE8Z~P zEPway`5VRu%HMr^{rd4HUaxqwQ!M56;{)W+OvH%htRFAQpLsYsuXO#mDt~6n-R+aZ zf5r+V9uwX@cEE_T=^Qsh_2A;x8;Z=G3VT#{4}L1}4?aYK?J zhzpka%{5;cl`*NTj7pbUS+jf_f;C1+@FwPdp!-S&VPTCC54?$-43x%9UT5WF$AeI; zF@k|P0<$k46H^hD@qW|{@{VECF^Ig%cwYtJ<1JoCWxS69@G%(&ERIQgl~u5g`ZkWm zF=?-o&St_l5Q}5-L!-S0x%IhHv8nrcozt=?wLF(Jetr2{_9>TCw zRYs)G%D#v=a3AZBNS~De!Qq)dlYm`h9XVH+8W`pM?n`yBHyvs8X-hi(6Pk%F!>KnqkG&YikB#~L(}MP z1z_wXZYa8Sz-6X)vND2e*aHNu8;c`SY56b-&A>Mb*60q|3y4CK3C0>B5|@`i!qRZ| zvqtb0dk6!=ERK+t*F~_g_KlP^y45Yge7v(ph`$vj5Q56^tB2O;W);B&iH~Kh5wh`m zWxz2VECcV0C*PmB5WnVAhH)n2(OiNQwZP)v9*%UPY+uAuA-wf zZvdMpAGtDuXPJ|kzl=KI6Eez{SyJ3O#72S{%X0EWbAx zx)w)BFeT}nk9@o8!suezKYk4JTZtA%7fCWYPrdW2>Z1z<*{G^lM#v|{DyIQ7)_%VH zUMNbw!CM%eC&_|2d{S#+gcm?~@x1MNU@$JhGGh-td$IZxJN;EglH+yG$Y-P1j~kvC5B=!V0_!srE}eI&-Hdfxyn zj82tg)6!cQog&HR(PcU=_0BxHOvfcMT*QVAWpRYp71`hcVC+2J^N@67=Z{zDriF2w zM>j5vV?DZ&HSvgtte*zYzc4DJV+3>X#3nSlnrJ-Q1DLr7uXnHtq`Gp`h4jrL;$?9bbIOI(y^sYrCjmX#cv=AU|f7{@t)%4#p8>ciuuBC5ee|I!Wj1f z?kZebIJU4<$mV~Y|7QMU`EmY<{GIuW5f4z!r|~M_S92fCb#i}^yE%6@as$j||D63% z_Wx$zoqcQeCD|LYXCOns2HXtzC)fqvk$E!nQ0AJK+ow*p?1z7w|t zo}YHoNn{K7QtGKxBlWV>&9D$`OO^3j;E$7^Prf(VOuiIWg0qq<$(h8T5grP2!Zq!HFWW2Ye^~$@p6Q4e@*9SHw@iO@Tb@1z(SSIMzcJ!P{cz;|0ORSST~VbqiT+yqzcJsQ_mMSU}qZ7_cCbg$8g~#HN2SsKY>uRinw@M`NL&dN=YrYEfgXtusuX>*lT8YV3w1Hx zvlGNd@VfNqg4qe8A|%Ow=H56#JOm>NYrL#!W`ZYLH~~}W?=D_ukrb`F$jHSg5U6@R z%tVAyfW_0#K)7tqz9B*AA8_0;cPWgA1%GdxltrWQjmiugC-WYGwb>ogIngo-jPxy} z*$J+X^J-jAmiraL89WjzP&8q70;`Zq;?w7HBtjS@$v=HFll8Joh}>i?7l+xI$^HsO zUCc9+{S=D2lxHT0R^Sz(H2)MKPC-)G<{;w~W+zB^MHChw!)H%4VdJF82aj&%sZ%sN zDadd1bK1-#&nsfFyXx%CPGHJm6}j0?C2MV*AP|As7iH#AF>)Ix2tnWk)K6QgSYaC{ z2tHs0@={P>^gohE>HQQPZUZerEiz7zVWPC^oB7)QunVD9h{{ zIY8qFWq0ubO_A*G7?A+Hp1{%@BL=`F`T2AV@4rjpd@7gT7*X>ci8asd6Ko`s$Jh#t$)!v{e?m zQ8WSe0sk?2;~4Sp>?3J95N+EyzCjZFL5Q;d_@9#;ERC!|TookR?8!(Cqjsg@jOab$DQZaKAcA zRfA^7S12U@bf~*zFIPy+z$>NW>=*&BB}V>DpOz!RD7kCt(D4Q9ds!;rb z77lJ%8XstvvrqOYKDBw{_$1j;bcVVkclPm#k|36&I|5Mgc`dkk!G_tDRZ#9Fg}6Z3 z9H7>_6jl0e93LyI;Rgt>erWRi6aUm~7$3tOiZU42ZP(Gf4n*PlSK`bVIhv^`qWBym zGh^JtmK0ym+st@}N8u7#Fw=(dc2Ph2PAnr9&4%$d@w-0>jw2ffC%;QrE8hyXaKR4D$o_$|BwI4(X>yt8<5ac6N6Q2;+G{6pby z@D|{Mg{ulD77i@rq5FR^{|;#Wx8Oa%&G|&`hq+JXhPjvG9>8%qEBhzB2=Gy41bjUE z;_NBegR;5IFEjs``CGgSa9`%q%u$({^dF(^e}ugYaAo?0^a1G<-Uj@9>RqWPQxB%D zN}Z5eN+pv&O@1!E3llpM<@o=^e-M8LSpr`h zzaxHLd?mgfHv+yH`%tVMdui-?Bq6umNfY}ATIB0r3LIxLhO(-TqC59LG@$T=5D`l_wM_zyFw?@0ICqctke&?)QPsZ)I= z;|V6WUR*(h=B2g@PcQkYzHhhdR9~y`*pmNSmJ*k@YJR#kb{J79-9Nc6cPaxpKi%Rd zZl!CQqPO!?X*o}S7tXyVThn>SiU-s@Q7IcD=SK! zwm1s_TU%Wqc>$K@}jGl%$z>@KC-ndkY5DkGMs z2YZz+)9tinx(?^E1hVDHN*R^ibakmn8Lm>1@=W~}slq)f#%a5+WW0Ffqi*vJ6ka;= zQMdX^#tTP2>K3}B=e7zj8*wUl0>>xcFwRYp|Bg{%f`9;JS98Ueb5q+#+pe(i+!WRZ zLcU0I&E{)1s`pP(v7)k*+-+s$aOq7ofk9| z$@Cnr`*TwmAE=?!4ytmSN`v)5p)LFBgZaUuE$>vmD^EAlkh0P+q%gN^SD3Fn#Y;mz z>K5M$ML0^CMg>cSu1%_=IzL4uib_P*TxBAWo|}ktnR1z)JXY6ldAcuAX^SEW32CV^ z!Tb~{=v*pLex5HWpVHN3b>Qcx$T`P8rBEN#sXu2zkSeTn4$V8#3a%y&p_!5=ojo$n;<<*Cqxy$~RCjCTzOA%Be3#BjB zmd;NRPg15tmh_w_&avAR9-5ybl*A+ITORI1a3V1RKK2?rJB?63s8mK%xNCljz>zXG z6r7Bi`$Cnr*5vWn5lcu>O73Jjp>ctF&utIgx$ByHcU^n?J=WwgfgnaAOW{^xP6bh( zyd<`n%D}C6eh%8^qdqFAWW1(R(pH7KFnJ_)@Dkm%rOTgms9!!xAy+03$BuAhLQ=Yr z&O3e2HGA&6clVw>w=GN%D&okeJ^49)<#v}`o;*nR#qm4cHRoqEk6M{LfYRlAV%Vtk z(&s1li+kNT$+53@cwa9}VDoTj=rAxabg|qC9(itZZ)_8hN!e$IOpi7{xd-La&gXiY zRN~!|D2}b$JmTEsE|iKd4W-Ua?i4gR4c>PP6QpKyC|3e3s{AC5E5`0PEliM=4I{xC z#E+~HRK4TV^GMI39KTUx&`wz4ckH_6hP!XMf0s3J zBS1(DaV46Kv_vdS=z0UOn7rz_m8zHI%7m^ru<=CW4BuBKH&GKr|Ad)GEy123_+v9o zCe{JTL@s1+x&H1w_w2dx-fOmO-?lh``Gg=8O~z(axe(0gu%c|HMyyCR#JeyIx;23@ zWi!cITBf{_%JpT2K=214SVj$wP*S$BIuQNA%3zKftQNflgnw+7{X|>XZlLzUnp~qG zFj`EA_z_oo2<8|dG2=(T^df7)gz+8OkAMY6LF{1rnTnX5kRgU*94LJ&Tewm^o0%X4 zgprUV!WTa_J0Uv^eFP(|&@`p7WkPlsy83<;PI!U^xY=TEaw&XhMNa&oaCK?7lP?p{rpom?bIs0=JY94#xmkX1$%c`HrQE+A)~8v)BSc%ggF zO^_)-p+VlbI{e%O2?7|6`bQlF9FOfw`D}KAU=EMON|Y9h z32rQagx15DtkyL%Ig3%y2F9M5Rv z{3Hp(>J#kC_5VXi|Nl(sZKXGq?kQbbI;K>?4S*jPKU;h!UIBcdct!EpqFqcBepdKm z;k|`g;gP~Mg_8>h;Vpn)=f9eNf4-T2Jbyj(|AX_n+%Ixp%)LAJWbQt^2yk?6A^Shb z1n`OMDEq4H&Dk@vhh~eJU%>+KRAv<(|En^`W-94Fr@x>6RC)}5|L*j;>6P?`)E`pc zN_`lw13sR*Hg!sBb1IwsW%A4L^{*x$N?w^fHfbfJi615YKJnLy*C*~wT#(qBn2G;q z{JZf_#D{n%;O6+5@k8Uq*l&;%-~+K{>?N^lVkgEn#nRD#g^&MT(Kki!jb0KxDmo7j z|8tR#M+T8s;6}h1kwc{VAM$T`?IavNi3KP_4}}W(&eCgmExBHmrO$-)#la^v>>U7JW;=#UqfDf&~U)U=?X{bovM1fh8L1m;tt>N+J548 zMdvB6S*$_WCQv55Mxd(d<+X}NRh9Mf+M=K8Q`hI$7Fe}-gBDT%!8~-rk+y^RHM|^# z2D?Q5RIxCpt<7shEJtY{oL|EY7~hwQO=f-#mtQ<0o@r19sk}DBnk(wWF_k44lLnhL zvM#tS!g%;BnrmcT@KKfCl-KZnv7gEg_p&==UQoXEv-f^PB()Gn8qytoGqHQj2H3OBW z_i0phpv%*HHL5z&<>@^xmF(^s!%gqjs4Byir*~;o-|jHIlXaJR#7b71yfEFv<^X&F z6D39Wt@z~a^bS$7BqPO_J45B^?HX0(^zwAKMpgSeKfO(~N|vlFlJfLc`6<*tQoQ|B zbc;r1*&y91x>=*D!mm8NNu#QxQJ&tYQo(lqdUt75f4w(oRDZqKYgDz~xhX6NjOmaI z5V!W!TIZ(7(XP5KeCm6_(I zun@>Ev3IL2ot+}{dKro&&iGh!TNPnDJB4k)BdKgMH-&Ma3{4F?5iB1t1$YcLH-&Y; zqxshO{1oPaGNrD^nFi9qXRV!^!ahJm5?f$;m8WN?h}9q(3idlaF|JY$OWdwvQ7 zfl5@(-*Zz~2z*4Z4|7wP2+HLCL3A(9|0+++PGKV`lgWe*%RbWF^elXaOotdPw#_OB zpt&h-cqlaf#2-Iu%uSKTK&2@IGe1S@Ki3hA@$_>NtOW{D<)pbOQWq#RwGVSsWGzr= zs)(JP!epS(l&PJco~*P5;!fSq=ch0mxZi>3Zz!@9C`7fPT>n34UFip#hZ&~;T6Dr5&8eM!uyc}@R7pR@ckc9Naz1G|M~no^H1jQ z&tH~5I$z00;Qjw}ZY}qhx!t+*a$9m6vVX`vn|&I20AHTH5fT4~W=omhX1<>JK&Fv- z44D8<&TP(P(?3st0dE1kCH+A9a^wQE)6vvFr#_SV>(uL0ccv~#ZBNZ5|10_3n->i_J#=Gy0wA$D#vd1-LnSR`l@bK9S$xy}XAnx*F;W^92BDWv!7@8 z(!`M41V?^|Rb^u4_MVL46(lg_R%H>)?LEmyQ|G$8ms(SG7KMQ57di#rOeN#e_`$_UQy#U%xms2+mn_u`gE#t5h)-u&esM6YO5aSiq?MN;fM##euKNnf2E44faRw2SGuHBN|~CKL7LlJRVoG1SE-{`3U2UMYHL(~rFd=6Yq0+`KDW1` zRtn};*D1FYaC0LRU9HjuuTmDI@2`}b3fyn~J*5}~F@(%1pjJAk7ONW@_s(imf2A{C zPbo2`T4{MNHx-B$X-1s#UT!MzsQ!W}5W#J*UyqvGi|4{sqHhQ(4#EA9JVw5?NO1@% z)n6&aAt+R}H*!57G6&^E?dL33YDlX^pow6t>B-UT) zwQ8lBBDcnD0$#zsO0Q9i#ai?C^lFXjuawLJQj{Um)!$Px3n)aT()qP3l@Fm-tLMG> zH9W=Ueh8vk>ipW}exkZ!%4?S?tqoWJ*Dlql+k6~)i9%(@Wgqool?u_J>WbyHi!`c# zln_VY_6Lfzzq1G=P>KG|lBqxrA-+^QJGXY8GQJ@C#+NJw?uW3vt2TzUbNobqm1p~j z{wk3cLM>LQvb=^z1Uwq~HIzkMUc=)7DpljMGc>AybWhi){?R>6Z7_ngd|iEkpXl%E zseYortEZ@4)uayI0dPA*ZfkYPkpBNN9{*4N|JS+t{~wFrE`FrgExxRHeeu-d=3=_= z)52#F`~SwmeTB;k#}q1sb@?A42jC?CYQ+AZnLjjN%>63&mE2Rgx8@$mU6$Jk-~XSp zKgfPMyOw<-dwcf0?3V2R*WP!AOLkP(&h4CA(%e3$@9pk82xXKeNTZQZLK2FjEF_e3 z&H*6_N$|+Q*qDq#fKBpr_wC#9c3%tz%Qz5>3AVu|7=tmv*ajZPV1nOT`<$w?>oni{ z{eHapWjK*8f<%1n@uE zZ)X22`-j=rX79?Lm))A(8*c&pZDyKzJI?;E$UHmKO#eFljr7y$_orWxzCC?zdTV-f z>ZhrHNd0l@J*k(bZcd$gBfZ0XF5f zV;t}VH|5a|c)Sa`6%sZe%2uC^EVqRX04Pq7eDp|HNZ5b~bUbz2!UiZ%EzRY&umJ{y z10=fM@R-YOVFMzN^h5+69X3TO6l`?Spa~feq}+yQUf{8%t1DzcgyJm`dxo&w7S90% zs>!h2-WC9`TB2++>Ev24mXtRAFS0XthZjcC$bfni(8}}Rl zrjs!at`V#gC0%Ocq63Yov5Pt0A{^4+x{G^)@rlu&B4m?pxLg)VYf>bor+`d zm3V2iH^)#t;TmmW1#FiDDqA$;_O=CMnuFs5j})!;Mtd)lwY+u&#zO7jjW**Gq_+*K z`m@m%W`G47RL$2$TbKcjs_C=b7G^+Dj00wZB5jx3MXoOesv0l1g&K%Jc@WR;DS0O) z-w0BYEf)jT_${}E7_iwQsvt_)XlKHHfP0G^%IbU@ZJ`E`)S&L16ly@Ds!ok|(#aW@ z!aHapjw%ki(H3^V=Da;NX@nh6s55Eyyf~J#7E_Hqh*gjQptmb5m*9CnOXUkez??%= zZ+DG7kH^yLc#p=O7sXJ=ePoYt1jw0h2hzF0JqCC*9KR6Vg*9T9=kgw*2%@CiNX;Tx z-t$5?r5@bnJ;D)0DRnKG%zKMxHYKOHuu~SgJTC9LKU#=Ftt1ELKP?!4K@Wg_6SvAK^!7Gs89t8 zb=DX9E~TPg$D!2yA(VkeF%Ho>5XwNI@~m6vqqgTNnI4$NqA=o|UN0}<3{*-b z%$N4y#s@S9loVcggXW`#V0n*F1|f!7s}+T%J#;5vLJ|!wJJ;NE89NvU;EZ^YrwX;N zUUSc-aaj8lH1|9&20Io+V~=nKCUZC!Ic&rpyj&O+4b(l!yeNjcCz%(m;|22TGUPhXurF})?dDfKNx|9=p^|F^>aKRA_7en0u?WGDGL z-0ydOa!0b3_^-s56B~(lAolxSvhdM`_bj}0;f94%(ER_)pH>If{uUF| z&%K=+$oBglxc8xZ?|JyXds-dX`wlL~n8IQ4ySS5nxr6&PiNl)*PA|ek*~E>`$;m@Q zkYOpJWcxPOW? zv&A<%paK*en2i>0bdE;PMX7~`Q|M6+DjSAHmpVI=2T9H7D=m?33frzR?td0*b>JDW z1razBn~V{QRk_uHZ-B;Qb#8SKOF%q`n?{d{47T|Kv*H7w;=)7B@Q}2W)cSyQufsoeZh+vou;vQm?w>k&KaCb5+ zcMilFLf3G4!q?g9_vOw30SI3*&J^kfHs@w%|FB{-^ic42?$ZheQ6LoyVA$p^464Aw zASmK12xNhV#jnL?-spfXurT&)Y91DCcHlU$g&~`P@)_%rW(QXnXxQzMr4F9d*uu5X zV@}yeY|cxareIi?*kMG!P#Eq^L^{EOV*`cZ+C+=F(qOr>gihYh_((D}q8QqQjSl?= zz*nLwz+);{vqPf5pyJD*U3?lHdJgd6Vfr+KS8=KO4m}5GPh;=n>)XybQ?s+ktoi-{ zLu}Dp$B(+vAy1%TO~*Gn!V^f;Bt{=f6%8|EKQ%hyJ)lucX@f3z_To+s%>kSE+=+Wf zSOS2ov$&*dUAH4FfkGWUxg#urLiJ9++!2-_LUntVJHiq~pw`}(JHiq~pjJB@ojm%9 zt&s|&(r%T+fk2^dm4qjVP`64FXb^#Jl_bz00^KSJOJG1O5w}Xh5-8NIQX(82X-@3C zsk7jMZj~g|Aj;RNQd=kj17g0(k~AbhTPT7Ebt~K!ia?=Gh1=po5TQ;VwqK+x>>fui zw;yvsx5DB>V6w&9ar&_Rh#vIV%35vOj*tWqs6E)1+d>jVpxf5Fb@$Vg5Zj04 z-tKZiw7JfjXdH|N&H-*h*osqNK#W%X3+lx22pxaSG4TOdAc+;(tPy-5et8}f(I2J6i z+-8UYg&yk*(5;dX0}<#}=_=L3P;X;nccqKQdiaVM>Ne-{80t3X`MSo~dz9tbYzsYr z;09qUxNjY$>6y0B0}9^e!a@&dSTCPOTj&7=JNHSog&t6-+a{q06zW_;)E1`#g;H@0 zS5UKk0Z9u3@)j{2Z`NoFKcHYyO07T^en6q_A=7|EHA>zzcxiEq>B@0q}c;PZc_a*B9<7oD0wYQvL_| z&)}y2*XQrf@6I2VFX#R(_gA@I?sss@|AmP9-v@61ela`Fz8QA^CE260waia5U$W=^ zCuCOA|ATY?KS{qY{qpoJ=`+#?rL(E;r2ZoHq13Ap@qbq8S*Zf7{!b;l@c6$cd0z5} zWF_(Mi1+U$emikb;{3$c#NP1t|Kh@A;jIfV#C`s|(CGimpH`Q~v++s64PbHOxl7|& zPHc-A=AqJn8WTR8OBR4@+DHSAiTjqb5998_u!s7j3U^9bD*%v=T2a5jlS zZi|#qFb!t~%a)~JoT6)3mW6^5fUjY<;;rru)oUO}V@6G@yFG@xR!yr*6WUg8&gyS< zX+kR;t4ViFt4kAFJ>bJT_#Bh;R3dhm9lisz0T3vYBJ9vCn;Cx-N!i+vg_EGc=B_ap|B|cZ-XoB)9Wc6mFxX zZR1^4>PVc@!ps?o)jfTne@2t}1piI=0qxcVlRccZ%$C59x5C$2|{ zNfElE+U)u+9Pf57f_b-59Ih#tr_K&3wA{rz1*TcF%ypMGyPKo5VA=vDNHrQk{5CC5 zE}fOy?Cvcv;;j(v4P_-R2yhIK)L=HCol!xP!$OsNmC401QmzOfthkkKB?h~+PPeRJ z9Ph=b&2EW>hne$sJGuPO7T)R>W4PQ8q40vnvCOxk?OPQNb34kPxJycPaW1cM@%6IF zn_XDk76!fG!mTdO<|Ftw)E=kv4(`^z*+q!I#UUnKQmfg8@4kgGnZ-*;RSvedhAE`< zz`*);V3$Vh!v5ZZQ)80lJX?#2xDG7vEpmqdLPUAvRwb$`(6;J7~c0hu?%$h%^q z)qz1C;wWHFiZwepv)6b$IU@fBHfN~fB%+#+*#7_zgVJL{w(|mw&k5m`&O>4Qq>E@m zxbk47^PuwsNCcP1ZFX>qAJzb!%zG7e2RAx+c~amYirlSUvjZD_3*xMK2?RMcIb^i0 zYj$9zYdE%OJNKY*jJ7s3uzQx$>f9Z}T|wIF+@LU<><{udv|iJMmSpWj8x8 z-8C$?oGKW`yM|p+-s<3J-@@=7!1=Wv^;QQKe1u~w5Cg?#-|E1IcW_tYv^qH8k8m!0 zS9j=K6T{^e6_x+h8pq1r;p_&j4$OI*Kkf=esIFUo81ydgNR@i$isS*rA&-z)CvA3c z*iQ&MTp)IwlA9eE^ct3{1#HEeoy$U)6axlMZr`zRqk}61BsHAWAc)GIS+aXV4OI>OTs-STkf2zLGdcIeYVuW>kv^& zr^Ss9?D`PHPzKlX+LX=C*{BlCDIxT^M__rYjjeN*3rjq)N{y3$o!Z@)mOFSfLST>) z&_`mE2xtFWup6SOJj;j)}&AC-VwH)E85u)SFTdrY=tHNNrC3Z}|L=l5a{rn7kNg{+km&PJA97|Gxw4 z|6D}-R~G(#;j;@p`1{|paNfcZX!39P(^@?SvzCsOoR&O0bN86m>dqK0{_u7fTdPOM zac4odR*#C~&MaxIihZogkBPcfv5z(G=tr$pv5z(GXw|J%v5z(GisDtVj}^Yn!JDf* zV%GiRsMRa0hjah8$su%H1!!gUu(=_2bk>o2hWQCfIftg^1QNo$lMQN zMI1c$1E-O#RWX!RE2w5gRcNh>p{()PAROQfG7bRgHKr!X{&Cz@|5wFSR{2YKiAw*> zczS2QX|0N_tkR1+q)IQgvc}QHQ4h9O#a3209Xum`skJJ$vcg?Yg4U|o${Kg~%hhJA z{_dfAYZWf*&McCPcvStD<9KZRmST8(k>WJk$v?K=ulg}uJh)W(IFNSI$JC)!F`A|Q z;tU*9L{}G0a^CwxJHT~}S=}7Roi*HC6~md?2kGUWI$OKusu<1@yelSw#BdH_7|sD% zY?HTEaW)+^4!IMT8_g7s(`k(dm+ULN9K&4`p}C3^YMov#s<6o$tB7&eu(Q)ORtq6Y zeFlo2v+f$JxNcw4hG;Bp&OzOMzqOhTt9>*NI-xnZ#NoGze@6f>~+98t5fnwke+tIXqN(`q&_=e;9K8(rMbZ(+ zxYE6a%Yk0~EFa4uHr-abH^+Vu>$#OK+~HLYtbsFYR=RMAcYokA4lCUo=6>KT$!7O@ zjvXq=_&CY~XCrBLuXADXsvZco4VD-DR__?`xD1DzTTcMxZEZq-d(PF*yrLnpo{Zx2Y2_9X7?g#eptUSNL&pZO=p$8E6JN(n$8N2 zQ9WIn&I)#Es%H1R2o{eoXT>+WaGN)&3CHa6F3!a@>}KBR(t-}lW@=}LZgy!wTNJ#t zqjomCw4fCnKYyYHtzfrit?n67pYx1;?!19Uv`rpfd!YIp(f1mT7k-)x$A{!p7mg3f zDK6|*z1e+^3&%T^F5;@@PN%lIC#iPx9NV4iwErJo$k6`(c=f&2msGE-o?LxKbyMXV zm5;;w|0R{{DkoJ|%D*aqwfslr-zz_g*#Be7Ug?LU-1c`y=DZH_4^4H0)CI2}29=!B-J!1X$OC}TFN_-;me%$kSOX7^g!HN9B z_ZL33&|Y}$!tD!ZE*yl$&iz^GiQ$TqISINTgYUAhD?Kq>5zHtj1M*&-vr(?}#Bk*g zgyDox;Pu>*)wt3V!<9b}A6Zg%u36MOgd>F?fPW1_cw)Gm?~1<)>dC_kSHbFu*{X4; zhRxoAoJIeuYa@veeVdQ|;pPmXs1Q#l4H=h|$|-hPrf<`=~|^-rxKHG6Wpi%6#s zj;)X0zHVxF0knEzurfj%n;d;MU3uK>(Nh}xm%-iKTRpK?8D_=p99g&&SgR-YYJ|s@ zNV6wryAd9fOT9)|Iw@ExE3U-s$>A=}t1u<#p3Wf5$e3>SmL#>njH`FIvSv?CcZ1Xt zcJGXNvnQv!Aq>k!LPxFCTInIi8Ws`enncf|>G3&NA`{J^>220OfVWeu^IE-qYzfE#cSgobK)7{O!dA{~SM2xpVh6!sCD)59h}`a7=~X2? zVJK-Z3S)Xqt7i;W^8=S@Ug?!h20XN*;S<}fdve;#3YZ@_6>Rn7v{&QK2)BB2+Djbs zk3A$ouWFF;VFiRZ-n*N7-HJ1;#5y4_Qr&wtK>|(o35X z%n!C7r75eGo>;GFgUtbrP@L9EPpntx2ao^}skG7)>s9}N=LwO3S?Mjr>)@V>uk<#} z{lF12E30C{Iz?b4R1vGV>|LgkX+>VA2{o3W%a)J4``z39B?zdJ6N%4zj{yn2is#sAjaFx z!PUK1RuSbL`+?KU)+$ehBSswJ%dyc~t77M>ev0j@tG9>J&rDfo$~RYUi@}b8xUzby zQ$6mUNUys{%v@VMe-P^dF?00~IM6x=F>{?CIEur{s+hUX4_rHVRm@!H2eH|BeY_Qv zPP-xrx_Vvw2aqk!53Y^xY)AgFUAH-(k)pI{^Mq*|4s`wA&c@|a4E9ZU?>!>T{ ze&B5OE322!{lL-iR#u-M{{fkQJy`GoSF;iN3aEW8##iA59{WLTu;2$C`$25NToV65 zTy$JK_XB6itgK!%_k&n7FP!^9tPXGscPr_hAgrvOKlg)}oIh{w2eJ8Z?%WSzlXiFf z2d-wfvU<+k4`R(cJN^TnL+H^wYwicJ!8$YkgP7{E3fFPBqulepmDSVdet>4`I^d=> zHwSmuZmlwUIud|*gUL}GTC0qn)_DA|jM38$?u=Ax^*M3e8K~Ck$#L9Sx2;vNkCpVH zejYWjwR&PKy-RYoR!@lGG2>(P_&Dy2QETRy$fRlZsIbY+4Y0AEviuyRf1jLO!^Qe~n1ukZudDE~qE zb>#=kSCvmI9|m85Uzh%+^x4vS>8aAoOLvtn##;dUmU6}aD1NEnbNTF#vR}@AEc?Oi>k%VxW%fDQgR@mc34AT{iA*Q+=FH=nn=-pI zJ2H(-GW~t{3QW^aAy(k-^z+gur1wvkQa?$3CG~Ww4Ud7xQ#Yk{!)Kt8N+M?9^U00m zdy}t9-k-bz?*ty4tR{Y%_!=05cH#}VE%2JeX^BG;#a4G0k^04O01$W&35&`&Yn8N`8 z1CeH!96?A{$C<2f;=)5SlLE6=QZPD-cC9!cNnV(*4kAR1An?sF$Tq(76IBc$3q(k+ z;D8Ai@|dP0SV03(_aaO|10q>bh_|*Q20)r@6<~V|u-&`O0jTdwuPm-@O&%g;fHT=9 zvBT`F&1**{50cMlb>N>W*~77dUulZ-jjN-n$O(X`eGQ013V_<$VL{g-1?+!xh)IAD z14)2fa0<6g4!Bv3x%`_|Aa?-L&0S>7XDZe&-3X znVYpW+}qEL0MIE*&Z#6L+|noCVZc+x3^Q6>+dt?bTzgju7DYs*2)ILN3^*wNk^IH1jN zCx<^QeVcKl5sZMp22X{}B)xb?2H7j|L_o>@8hjKSgxhW~Vc^lPk)3v8z%4-oP@=|{Mz~nj-=_b6o#{~FJPe385 z8Su4539)Jq+qLDSW{Ngs%Zm zTZ0>bPC)~J-+M21zat|GzFH4A-|OE~eP97S_{s<0DT=XLwg(w`y~kq!6&A?}m)!>` zxJ?{kR*~0xEKI;T2>%NsH@qH>^d*4+c#%1rv3~Cn_Bnc%039;ShU)iT7(>j+`aL+m zJ88t37WMLbIKI~iw9Rn+^>A?SAYvU$ng?TuUHiQU!d8ZLgU-&`>-P|U9_575$e+OmbK-(sOKsM^5*TYe^2E@TZnti^?2`R$QE0)%;P(cATjfduv_fmefjV+q=r$Uy&i1}{F>^J1jU%WqDPwozz+Olh^@GiqZ2mw zPLak!JL7F;XqOk%NdnZe=@*OS+;Xb(7JIQ>;`F(KMgIpGSCkCH! zzJuZ5RG>uIr*}f~0A|ixN#v$1smJj_r;9~kl&{UbXREJr-=6&TIP(>|w3#rQd&h=f zsZN@~U+nEd9pnlkD0YEgqhxUmer!HRVtOZJG#3l9{Abn(P2Bdya=~Gqkm)cK#vaF4$j#Sv4*{^^u zV}H=}q$ zOXrr3E;UQZ;`fW6FV2eZDZa9JPw{!haqke`Wrj{AKx*@G4+6_p{tT<^B@)1H2{oMDFI?Ik|1QdTvwpJK4`=H?r@| zzB+q<_KNJuh!ZH|eSoiIp3eMX<_&lu;5v8=9GUUbzk<)er_+P<+tN>@Z%Utoc!6d3 z4SWZ01Wr;|7l5a`A2>t_SBo9aAz|Rx^nE10qC-Fwy z7kFLb^u%F_#f4ukd~4y;3nRQ1_~M0I7cTe>=D&Pe>|c#}!Z0(KSkM!VYTU>3BEe@2 zCI1Gi&+lJ}y_w--@ig57&!4rX^3GuEd7Kx0a;`iav6dn-YQT2Ziv}^=)#}8%j>U ze_jkR0^aYR8$*oT^ZUDF$W}Wh=V%1tOqPs{$=NZ)k`w*2TqL-gPtu&J5cH;%SAHKZ zNzzcZhY^`pap=PtNh9L3BO`-Y9sy`3;%_MP7yEdflHXyq@{rzaWPQ9$8GeQXfHk~p zeY{E;eUA*XKKFtk8|H52;$okBLGYcv$Kk%c*ymmld`1h5KEK%KUH}W7I|1&rwA~7( zbTi`%8Q4lmWEF-!i6w!v=bNl1hx<=RQhD8e=>5Nh;x| zc)ndcmreWpK6Zxy;5^3<3`ODhu`dWB_b99S`hA4(1PDstG%)+S*FQ2ShK8$fHg*k? zTtfMDVL|)h5@{AE$t8x-pVxZRZ}u0`QqF!(|6yANqX+-E3xw+bPIU zdNfXOT#68IYN1r9_3;3N28>nLM|_R_PG&_SC}gc7vW5sFljX)#Yl`+sGKo{Y47#Nl z{62h>1YpPV+6$u^EcUmsfv7FmEx2Wb+VNt4CHRaIC|bhFQ|q@_*=^uFXzm2NJgVgN zn=F`Lp~d4rhBR92H<%AX$lYWTU#?HYrd5Rq-T#FKtjQGZv_Apo$?Va*!F za=B&8?;LvkHPk?@pLM_6-{axM==XuklZ%XA-;eCpw>-@7beON5-hGg5`300SrAlVXRN&t1z=~D zdz9tHUjsZ$0Q5dEy4FUl+zUd0f*YXSzt#dPY0)Q=k8?HGC-awWSLS%;lP${$h*4FL}zXvUeG9s14j8HlpFt-_1YjN#%^f&-$ z${cXBnAb=o;WImyx5Zi&ckR}o007L(k`!y?k&pnjm$&HY&m`2s8hNA;;CwPF*5cYt zLCGXj*u3EPwY3{r0I0@5{zp{x4bFEng}pU$NLW$a-gqGiD6g&V0 z6^=C;6$H2(xrvdh0`w0G=IGfmAZ)(3 zc9sipJq5KoGX~hn1p`(WZsxDIMvFqV&`2KI|8HG5ZBzAo)z4L@)pu84QN6o*N%gqu zzSTnIN0l#C{T~UIqMN?n}9k=H7?f0q#SLz=^s2b48r~|9$r3*$?6L z|H16#*^{yd!uJ13<{vVDlKD{P^_d4Umt{`Q9Gt19f13Up;sv_tH{*SP8`HbR_D`g~ zm-<5L!>K<=y(V>E>ax^{sr_+Z;1833hsc2s;GKZ`lb0n=Kd`!b1yJp|fItY6HA(yP3NoPq((>_LT6zW5A;T^*tQE z+5p$w=}p)v9|mHF0yeDV=npwI4f!dfw18e9Z-O)+>HG52Z+Oq0POsx0^Wc!+$M?aKySdq z00kIj#2?(E^5SWy(I5Q*E|#@PL}ND!;ov5P@N##vwRi)b2bf}j*nM!o^8f`HdZRYD zUb;W%GNcF_?+>oiWx$j%){sBI%`;I}M2xvIpfIDBSU?xkvBE|3k@o)}e zls<1jk#5ST;%a2tfFfN1hVb$RJRFFC;Ce7=BZ(pfm?>5pT&UUzWg~1!ZGabLRRVKp zusAp$JA0Iok;?;0a`PEuY__G^fM){{VD?IHKtXQ4W4p8()_{WC08~c9pU&V7`rxGGw%{|5ARvE&=Y&vpeQ=_J z;qXMh6_w{m9lVGH`2ytukO?&EQ61L<0^Cq6C=N#`Ve@kS4NOVg6bH zc(_i28EhD2Z$O^NCJBS?Wr7{*0+IA3QKV8Bo!=iI{4D}7T;|BhA0Y6}MZ(7W1BARe zNVNMLsEdJ>XNLusvqVX-Cd|HAAM7vl5*-HXNGNXVl+?HU0U0BybO@Qc)dqA*B0_DK zCV*Lzl4p|bCP()q zL9mb0s5Q&AK0ruXfRH^vm8}6(8`PvPk(IF6rjNbBqNy453*=>V@cID3XUL0#i0z8z zol%**0U0C<@j}+1Giw9-D4`)VfM|+@veg@qKO&>VRR^=vtmE2%PD(Jc<@FG1&}LK+ zR~CGyfWtr<(#9X)3KR!1dQ5FV7D@7gK7wP>a8i1MA`533P}Cqutee*Wv11k>1z@uB z2l)UA;!)9!W=;BoT!@g+AuVCH1AjnQB@_d%e=K`PB4&aL;0Y;ou`UMJnn)7Tx8QDY zvt-bIZ$MuqW=7Hz>Zf69y+JYrFpNxPD2v)45wxCXH_#M}8S4+oDbc9{qbQz$!R z6r&~8`nYdI0aoAZzaaXKL?-`QpS)6-5o1uztnQOnBJGbsBF$kIwbv)FB;(03MYC-R z@=5^cJ`tQ_n7WczQh=GGwf?;duey81zo;7>9*C(wM0#x&j((Lu`QULZ+ zW9E4MI~BkwXEdKa?Gi{{dL5JdGpp9`(=H)EI+%qR3fb$^E+I7mVi^pG?eoR{tsEmr zOYoy?yJQ~C!h$UV|#u2C|QJ;Jelc1c1ZwSA%n9ZJDX{e z@OyA*Z24cWPkJc=g4kH@uYJ->3NS@@ebP%B2xZJ-{~9*WmJv3O_Wzp}PTExcZuPIL z>(!@l1K=Ii3-AJ919t#?yYi_@zw*|~i|_{ES-1tzEB~_m&GKKCS8)&EV|WMP?DF<< zz4Sk&ZX+VHdc1T)>8#S$l3)B)@mqKeV6FJ(;-kguil-NkDAo%9UHC`b3b3c} zhQcF-s|%+V4k=XgKgG=ef0}RSe>eZa{MGqW@(1TDxu52~mit7moqI#>;oMcZQ*sCA zs@ea_el7cS_7Agf$i6Upb@sIEq1k;hKhJz4^XIrB@J%@Pzc%yS%(Gzo|0MnQ>5rv9 zkbZ6YzVv0{_g_r?DD|b(M^o=ly-r#FKT3Wn`B7N@zlGZZ>GgjgEdL)S{x#3fO=K7T4KD_Kc;OFlcff-Sm!q5FfBX?HQ{K$*6jGH~_0bF*QF01``OotW zvnUrwDXPp&1A&0G8BUH7xp;nt=?TWr_-)rl6r22xZ&<8mC-p`P7-{;J^2kHE$oV5m zP2S=f-Xegt92DUXUrYr10?!#Jw~W5v51%v$iXfe6^@1V&JnbX65F08$ZWKH}9WMBtDNy);N}`NTK`DQZL9!lVJSrwxVVk+M-dW`a@k{GpIM z3NgE|H>4~LsuiROC4oOgC~5>?a#-hvp^!W#Gt8@9;e_&rLh?k2(dNCOkURqCSmIy_9a=O9DMR2D-7G@j{9Z%COM0z3;b{9jadD8NCsacw08m_ae?%zSTroh=wtqn1U{aiN59Ev%d3V# z5}|z}#2U^+68I{K1ksBm65c0D5zUWt+!R(79-bWojO8{wORB|C2+niNH=||^$>39Q zl>iag9mYNx3iksgk?(u(vJxW(PiIy*oZ(oD${kLD`Vb+QK(LZXfWXv&JE2L0;7be9 zb}>u3HawLQ1&O%bz-|qvhBp-c2S=ma9)KD9$R8rk5(xm{(2AT66>IjeKRh{(*vX05 zN+*pWXZ_)cal}d?p@395rpo?MC?Jj4X(1F)gjg$lNIxN6=}_US4Ud)P+t!5N{UP0i zYyt`=+m**?gexi>vHEbQ^gl+Iil7sXFcc05;zUALP?|O0hQa}b2)1hL2;vRtEX435 zMzX;^Hr9wY6bgu|A0r8oW9(ypNM9jyy&&g-RS||;B`-`q{2u?JO^dEVy!DU90{&w( zQGW<`Q2nW1SZm$JzOIE-l&V$M42LtKg^h*;vh0MQr$wc)ck z0u*OFAyloTzfky{mZ;I_>qA`I3xEwr)wn#P?f#$`WQVOjJWxYI5rm7gK0H7}G=i)G zKipp`ft>(nClJJ@Lu_Wh@TM)b|4b%$AikC6++DfocHey4kwD zA?Y9@)SX#~ow5Zso?IUrkHR6rji@IdBtHMx0%`S{-N_%44>AbV3e$LhNIod=3Wl>X zI!zvCkUfxm5Lq?3J`wDWEk>*wn)B!q%7{n|;)E(Zgv?gII83qw0Ab6<_b{*e z5LW`>GipRBgbuZlBL0w+kSq$wGb&5w9Ks)pal?~7bTbVuqgK}kxc&!exR^Kq_=P#A zs}FGTkAg63%}!Jw;L0Bmg_PW=Ivq01>ZlKJ*-rqGrljpg25N^ia zfSyMhFwE3|43P$cTG9Uh-G!4kRsTi&|KC}CDP90PuX=Q~Sxr{HU-=x~0DP+QvdZn1 z^D9SJ8i@b@PWdzCVfpRlmy~ZSUr^pv-cnANeo*>CX`}RRME~DjIL-^IIt!`$0) zkLPa8oejT#FZ+w^H?n`0?PlMUeFWD3DWTW@KV&|Z`9S7%nfr0_e?sP&nQZz8i27eo zzcc+3yb!oMy**t|{W|r}sZXYQi1~jkb#3aj)FG)VJpR9u{FCGdaq9m-^77=#V*CF% z@ukE^6YopBCUIZl(!>dg{S!r;`v3jH#}__?7XuzzxB^}D8~^xYk#3-kD0H~ZQYRH# zcP!FPAyBd;9L^t$bkhiCf{g1}sO|_cB%3$h%yCsfSc*3mqFVvTN)+F*NHzt8Lc|;I zyJrw zb8imyuQ7DB8zM%)-?^${*Bb0K@wJQCq1MWH_- z$wP5i9|?OS0F4>S#IWM^k+3%oWK#)yqaeF&`lAPJM+6xf%Euo)5JN11FuFg6nAZ9u zhU*618suiQLw_WGI;sk0{QQyl=_tg^hWZFsjD@*j(lH9eoC?)PxLnMIc7)1SeRSs> zWc%TcIAr&_(d~1P?bzGqAe$jB5p$}6Gm>yi8;Qq`G%KjQ@xAv)B*%kJ3J|jw`y=t# zVH#*eP~)SmeI#s-Ahb%MYB=)V=!9@egh(X&j}Hry!)6k(#s{%JdbWnR+~qlM=^=6Tk%GWzasM$E z)96^6h;oP=Q~?HtnYQ3Fnrg(fxco3T@Q0*M zqV4$zlN}L}g@)D|9d00MBP6(^1_|NA{0tQKTzw>j4-txQ>M7A~_AHa1fy~JIqeD#1 zp+s|Akn8$natY}p`LRba=4MauMhBTG1ZxzCJ(n6CXmTUK9l=T{Mv6%fL5T!iX#A=D z(f%e00hAP#vY$=@B%D~akvRUaW7zlTD&HsW1G>i32< z841zDeCWDH+c_-R9|_ST2xdC_#7_36>0(;JRQe31;E#mqVIo|yOh#75XYYgv3#395_3o)k%E>~w!v*L6N7DZPOm$d&d-cicP1UojTdQ8>m$(7& zFDkvtTPly^{C{`ls7kYvlKcN=<)_LoE#F$+UEYSb0De*WM(NK=ozm~(Ex;>FCzlQ= z6>#_8-xfcN*#DOo?JOAFg@S=qq z@OHqFo4g6#7wHN{F-4QqsHhXlFaqR6$=ewc+?yO6CJ7N^0M#d?t>wUmTNdq2Bj)`H zWtc#ep`f76NO}{>Fd}lIN0KuT^0f)0UCE>YKme1q0w?rcmi87$bXY@^W+yvY{U${^4Kj8-$D7_$J%u$%0JVoW1O z*Y+pmt1UvA8@AD#(0NfIRwhm;#4LcGw95X3Ld+oCd7@${#0-Mb#JvSUS9%j)6@znC zv%KmPk0Zv2J~Wj9Ns$A^ghI?fWM~bWUz;%al?Vt+Y&vF)YZC^)@;hylXv?Wj_K`xE zIsVZ_)SmQA_Lf2ngh^l&)yZB?B6OPZi1Q~^oe12hwLK>lok(IW?R2If6Xz*b0@K=T z*7ZrrNrb6ml&#u?!LY&@V~4@EXjG#K1(|%O8w7V`J3UD4IEWF-lbnnJejKDR2XVCt zLt>eP6$6iCHr@$CV%2v$nCUPhj2gwI)nX>(bahJ`M z8Z!NK%n61!ro$sM!(ZGuU@tVNjc>-XhybGv)y6kP-(e6K<=q?K7-fWdS?3&YOn1jH zBi@f`&XBzE^%1~MF|yhl3zrkriRUy%8hB%I&4~b`Rn^AVM3q7cv+32wjHM0B#&^Tw z)W*D^N4`Tw;FQdeG2<)4D$y2&U2L3H{qYqtF~Rzx1<=o31-FlD@ua^+U$;j=oIO3paa?u6SvfO61I(AP$H^2TSlfN`Sp$3oVy0^A)jYDVJw zVf~lZ^jB`PKEQF0tWwy)u zSO^;jGV03sxOj#}_w>id$}mOMu$25*2pg538IJn+m@qpz@!>vfCS-jqj13Y+P^eou&h2lat^ZVNgQ>Mif2`vw>I=;e7H0Zy}mZ)r9P}d z0GQ*o+E{#aqVM4(s*QPJwEBJ6{@R!qMn~VxGOCRaa=x3Ed*cJcnsPPra+Xl=cw-@I zP_Q%%2CzMC6UUqgFcxuryr1+Gj3qLVkl!}2)E|p)4wf~yTMmrTSN-w6GSvbE`;GM_ z@W-@tC<-Wzg=#ch+E~K0h+vu04rKRICi-JxY!qUS0sOHrHVWbMB)k~aAB$^_M#3)e z$3oa>B%GW6SO}X4;bs`-CWMVf44X6-!bTxR^P>I#vW0qJ|BtJ`2mAkq>Z#TJtGUV# zaQZ*4ydBp6b(Pa92UkkvAC~{7JS)EoXa6^q&&19DdzF4t`f}+brT60G|F+U@c>XUI ze^&fz@#Dq!7hhex3zq*;#d_hFg>S&`{|^hlg_!?K3cFzUZ_593{x9?0{BI-T|Dybk zd@c81xxdf-QSPbSleueiC*!XFMD|xkeP#C6?3vj^vZc&_WWJD@WZs^6QRbS= zb29tmwEz3*ze@MhZ%RL$et!D6bQ5R&-@yI;?@zrlbzAD})M2R#;`_gl94FtJd;~uJ z$0t{kn-br|z5XABhyNXk-H9U-doBEE;S0Fa@68J@Sh#fI7<7aE(_DwUTT8C8qhSsg zBzmB1d*N-@KlI@B_ubcA2L-BN*vKw?r~{LafvFIsepVdjutzYs1eH1VO0KX7Mm(f~ zaTShR_CXE|kA2SFC^e`Bl^QUu7y~!fvGgp=^Ld?jV;$=+LgA&ZE7n*CS!z+zqHfw} zY7}~tu2y3mesWP-pq#o~BiaL#kl6^%lexV36&6b@i6iZIG3XPhk{ zXH_fE5e~}jEvhqI=pq#T?52euorAh*;Y=5yAX_j-b^_ZO+&{VmZSJB|>9MqOlH7lnBKrxU~ZN8liKe017rjG2z{`;9(;)7zNcEAY&tR zuAkwe;-GGOOBzK#yJG}qHcAWBOtHxE=%xhC zVL=R#uJH0YuK&`Yn-X_`Suj{awz|vfpgc6_rbGmi1%u_KQZBfln-Z7J+mx|EU!LH` zc?-r?-tq+3&RZ}x5N5&Hh%ZkbcR{B@6Wl>>Q^us*@&r+x7KGEj76r}8qm-MZ zi>RQ}@zaGLap1YsFVryD!&quCBT?q$1l`O*k0>~{@|qKHBnpmiMiaQdC^$9@%?W&9 z6dW6f<^+x~3XbnK6L`ZY7@V0~bGXDPc&^t#o+vohYmLd>Tts1?Lw$4dZcOgdXspi~ zlRGsU-!dk5Xf(cMOu(nKK>h{cA+cIDC%2)})YEA(ibE}$Y!^ghg3u=ei<>&lOuH*g zz^()+)NLrEVmLjT5!D6#vX>wJB#X5aya;3$< zoj77|X>x^wx%Ip}!eUcoY4ZFC!vxV9$I|37jm6qC7L&6}lhYzB zCS;c;r$$&z!Y)ltiLjV%vov{5gkg-d-m^5p-8!Z&b88HDFGpCcUrvlLjDwa=OOq2c z7902DBMjr^s)>Vh)0P@+MH}tFx)GGYh4YzG{HMy zEeLzC893(^DkH*emU|T zJP1Qu4Poj}V2@gaEirDrf&IT_Q}v&!PgmcE=>MCmr&kYx_5VG@{&#Tm-`$n-5c$7X z`A2y7Z-lu27nCn8AA_j>pO^lj^hc$4m7XYFQ#z^ijM75!o5eqc-T#W>EyXj62N&}= z@Beh6TX=op9-Q`XE$p5DasG?>asDm&hjGi_uKaTDm$|R!KA!u7+{<&ftM|8KG8zxkiq6oXfTAp{o>ItJlX>gdPrz4vZ^ zdSvo&^PLY7(ZMf7jtCL3c_6AHq&7V~$cwB3cy8o%6!Th~9+o_)1}X{6AkGA$&xhL2 zu%*rC+Vok>1!OR2Z)ganMz!f7>U)$;ZHjxgYtR_P$6%-W{XzCS*h5?Y&C>&u2h?C# z@Ed= zkDrS}4w-qC5w6!31ndu%l1brBm!)LJ07#=v$&1q^DS=@P=xX!(&C@!%69@G?S>RV0 z^4ipw+;K?4!wXfa7gQh8NjJ-z;%X#m7S=R<1x%^?Oc#^;0l?J|ycRZ?f{m%z={O(f zi4KZ&BywXacDg}hCS+qOcDh3K&e@oXoo>*W5!slEovu(ft=Q=XjhT^+so3cXb<>KS zj!m8ik~ns9beYCf?DPnABzt2jcDg}hx^ZJFcDh2{a^Z#0;(ZlTZp`*+OtTur4y|{h z#uRZTQCf&;z27vZa7$?MFo0(P@TG~3QA(q+eX}u5YBZ*$G^X%Uh;okUDUB&y6(TgI zsWhgWG#c9n8|yFDXuLPpar07?bIcHItm7Jy2#sm}jdfhX6rnNQzp?%zg@UJd`)d6$ zjmG#GMfI@ebZ zXmqZx?pG*|6JzbYPor~vb+1O}`syBy&h?d;>fwCmHUZ5`adcv;8+5L(#8fxvTwjT) zZqT{DqN#4y(L7%b|Az>j>nmF7Cha_5O-tRPvA$}qBf!OSMWP+(1~=Dla^P5-n(GL4 zQK@5%YOW*RMZvKd&|JqACJK%os^+D0r^d;9{ZRxn8?e!||2VTz{Se z&-L0R4m{Uu7d!A=uU+K8bG-&XjHu>NJ7ObtfdkL=+W8JV*K2UhP?^v58oV$@Fzu3OG=;JI#rvxdriu3O--q2Rf0In#mXx&@&&D)n5qz=cD>bKL?z4h7G33!FI= zJU5w6)o@$|Yp$Q-z;nHZyH=viVFAX*8{QoXp6fN-x}xB@UOUl&=X&h~2cGM-;~jXe z*PiXbbG>$)1JCsuTtA|k&ynQo@c&ToT(2GDz;nH}(}CxD?Pv#{>ovsisIupJZHEKT z^;$q6fIYxrvN)Eyn?*n%7nKo*Q6DtQ)@_7I6Z^|Do|9<&Z<-5xlm!DnU zx11~ed+Cd%55o)K6{WjM7nXLFTBStsd&SQdC&hObUsAlexVyN$xK#Lc;oD#Y`h~aP z?Y|oeXA}-E?34dl{_FWq6chYZ!|NnLA)6<8i zz0|L81HfOU#;JGW)xSGa7o~QkR#M62cawh&&wzI%Uy{5fc}{XWID%g#{w48OiBaMm zi6;`*C(cM5ny4=P*TUBqKC#eQc;mvO3)d~2v2cVpI~8_V;6)GjzQ~66W~V3swmfXH z?KGUd8Sc$S3YdR9)j0~lwp{^mvH&pTK`jJyfSB6e>?8p|;m{3HXLVu-z-6CaVx|m# zhG;sJ0gI6?E>4o;B?(LnMubFmV{HaH4=e(H4hM6x1>1JAR!cKDX5l*yCV1xsLk8$w z5@Lv@b1}@c?Z+^kKikDBsC32{U7Eo+OChv_qa5L!D;81VckI4MY)lDM7M87aKd*LIEH4 zJa`@lGlT2R;FAFaY6KQlAS7ktElm-TQe!wP_XUQsMRTP-eUi0MSkzHdFgp%}l7c!+ z!RkZ^_CFx9UY4c^NU;cQ>}b6FDfk=*Gx^o0aKTUrT3|1g;+sSpTd(O1gIdYH2xIKjD>KxU=#UMurd*X_yHqB{V5ok2!WzukoxpaRnXDk z(yhGor=Vh@L^!U965Xy7gsl`aTk-z4&;SL%X9s)hxDK#6h-H_fnecr{u> z=mQb<^(knR2+$L&J_TjsK&pEXmZG63I}jxnU~sf;t2aexiiH9tIjlD5kqF?~mT9U# zy-0Nej)wBq7V&vp@2v9ko>sTDR+9P663;7##J5K6%oipj1_4u6W^lp2Fic-I4O!!@(o zpPsG}{K6phDOe4gh8BTcSWDB>D3T>R%mLUW5#~+B?7^8DV|Ub{qc;_^Cj^3m!c)-a zunKZd4uk>BA5D1R@bWJd54}4A#O?_Js5k(^^U)KbjKQ+O_8h1^figBd0UaYw zTBvKVxyU|No5GF30FZ_zpW2i*4`S&h)>p_j_V!N23wEzEC;@z97 z-;w+O-c|iy)my6Piv7>~|36b1RerDXlFH4v|NrpH=JLlx!*Y9Nf13RY z-u-)j_BGkNvlnG|W*eFR$$UHWNxAv|k<8VI1~@QNNdHIri|LK@yVEaA-Q7Q1NWC_7PwEob{Y}{Y-$z8iEcxE#tCRO8FGWnie#wH|`~P8d!TKj7Mn1+KgvBlLlgqkrB zXNMt<{0*UI6ofezmW7M0qk3RxjGA5F*k3md!)8_Zr45A8sbp@CJkv?042h+UeVt_J z5!I0hqf=R8x5U^;XVo_lN2eeV>Soyd4Fv2sP}H)PQx=z(u|SqKaQTr+1*M<&?PM$V~+ zmOTCj{CJ{Nf#MeMdK(#y1d>b`FK+{(Ha3l-0&5$1-NypLok@bFjijvr3Wv%Ub!>ej zVOsNBBo3(c6k}Ym&h6_fbbjDXwCWk+RbB@A9mldQwLpV)@z*e-2s6Kn4 zh9KT-XL&O`n`To5MpU30&t9O?@F5INv_K)4!4)S;qePTHgBy-UY!$p29(IlprJK+0 z*MKMlA*n00PS``iZXL|98GLSRR&X@5jj7M>QFW&79_@LvyA{NJ*{;$0?5-GON5Y%k zsVaw5X3f`Ucjz<_FDg6Xb;5cxn%rjR&xF^BAS>Jb8T@K&n~=zMTzw|Qj!8r1#fqdE zLSLdpYF2tP+%KXL)H@K+GkDQNfEHEW>;|1iB$W)eHxpV1kdX8djJA<>a=NF1Iwhno~YRY;VC`b?-DTMsRAW|uk{s?A}B8)H?5jD9!cw=}yX zhACk_6Mn}QhO>8*%%2IrqaagzZzlXshy*^w;Yi`(XIl$g&4(1>$?5qTh?MC13_dPV z3P?jv@Nf>nzr}& oXXxxinuHa=L(n!2E=EBQgurt(AT<-Cz?+?>01!V&A@b+{09#Gx8UO$Q From 59d0359b1719002c8ac1ffa0afcfcc784cd5397a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Nov 2024 14:37:44 +0100 Subject: [PATCH 016/199] Fix OpenVPN MTU --- openmptcprouter/files/etc/uci-defaults/2020-omr-vpn | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn index ef15c5a1e..789e47d21 100755 --- a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn +++ b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn @@ -61,7 +61,12 @@ if [ -z "$(uci -q get openvpn.omr.ping_restart)" ]; then set openvpn.omr.ping_restart=60 commit openvpn EOF - +fi +if [ -z "$(uci -q get openvpn.omr.tun_mtu)" ]; then + uci -q batch <<-EOF >/dev/null + set openvpn.omr.tun_mtu=1420 + commit openvpn + EOF fi From 3442b904868898212cbe959ac97e9e9c4af84e82 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Nov 2024 14:38:03 +0100 Subject: [PATCH 017/199] Update ShadowSocks-Rust --- shadowsocks-rust/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shadowsocks-rust/Makefile b/shadowsocks-rust/Makefile index e92f65fa4..f4c803098 100644 --- a/shadowsocks-rust/Makefile +++ b/shadowsocks-rust/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=shadowsocks-rust -PKG_VERSION:=1.21.0 -PKG_HASH:=4891475a2389676e4fd3250bb579ffa7d1ad0bc9e3987c3e293c8f3a8a37bded +PKG_VERSION:=1.21.2 +PKG_HASH:=a2269e896a27a183dfd6d757d130978b46e1ac19f936c4229188d017b7ecf867 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz From 1f5f0a70614770183df01563dc06f8020963e02d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Nov 2024 19:49:43 +0100 Subject: [PATCH 018/199] Add compilation for bpi-r4 and bpi-r4-poe --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e248c6ac5..17fa6e5b5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m] OMR_KERNEL: [5.4, 6.6] runs-on: ubuntu-latest continue-on-error: true From 277b246b4380630bf2eed6576421a73e7b7bc82e Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 5 Nov 2024 19:50:05 +0100 Subject: [PATCH 019/199] Update XRay --- xray-core/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xray-core/Makefile b/xray-core/Makefile index 0323e4680..3a34c2cb9 100644 --- a/xray-core/Makefile +++ b/xray-core/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xray #PKG_VERSION:=1.8.24 -PKG_VERSION:=24.9.30 +PKG_VERSION:=24.11.5 PKG_RELEASE:=1 PKG_LICENSE:=MPLv2 @@ -17,7 +17,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Yannick Chabanois PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/XTLS/Xray-core.git -PKG_SOURCE_VERSION:=e733148c0bf78f6298cf08045297e783568b80c9 +PKG_SOURCE_VERSION:=afc7ec55062c14ae69fc67b148155faae1c31548 #PKG_SOURCE_VERSION:=6baad79f9881ee2cf75bdc825b3e2e92b289477a PKG_BUILD_DEPENDS:=golang/host From 92ad8fc0e04b6246fe6e6a30eda891d1854055e9 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 6 Nov 2024 10:51:27 +0100 Subject: [PATCH 020/199] Add bpi-r3 compilation --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 17fa6e5b5..b62b59ad9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m] OMR_KERNEL: [5.4, 6.6] runs-on: ubuntu-latest continue-on-error: true From d883e569b45af90b0ac9484bba681f6f04cb6b79 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 7 Nov 2024 20:04:25 +0100 Subject: [PATCH 021/199] Disable luci-mod-rpc due to https://nvd.nist.gov/vuln/detail/CVE-2024-51240 --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 72c1e0844..3417904b9 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -43,7 +43,7 @@ MY_DEPENDS := \ luci-app-mptcp luci-app-openmptcprouter luci-app-omr-bypass luci-app-mail luci-app-upnp \ luci-app-wol luci-app-opkg \ luci-app-uhttpd \ - luci-mod-rpc rpcd-mod-rpcsys rpcd-mod-file rpcd-mod-iwinfo \ + LINUX_5_4:luci-mod-rpc rpcd-mod-rpcsys rpcd-mod-file rpcd-mod-iwinfo \ luci-app-openvpn \ shadowsocks-libev-ss-server shadowsocks-libev-ss-redir LINUX_5_4:shadowsocks-libev-ss-rules !LINUX_5_4:shadowsocks-libev-ss-rules-nft shadowsocks-libev-ss-tunnel \ omr-6in4 ip6tables-mod-nat luci-proto-ipv6 6to4 6in4 6rd ip6tables \ From fac5855bbebd56fd98dd5027a16b906fcf34ed50 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 8 Nov 2024 10:34:12 +0100 Subject: [PATCH 022/199] Update public IP/proxy IP more often --- omr-tracker/files/bin/omr-tracker-server | 8 ++++++++ omr-tracker/files/bin/omr-tracker-ss | 4 ++-- omr-tracker/files/bin/omr-tracker-v2ray | 3 ++- omr-tracker/files/bin/omr-tracker-xray | 3 ++- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index a5aefb65e..ab2daea60 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -225,6 +225,10 @@ _check_master() { fi uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='1' + del openmptcprouter.omr.detected_ss_ipv4 + del openmptcprouter.omr.detected_public_ipv4 + del openmptcprouter.omr.detected_ss_ipv6 + del openmptcprouter.omr.detected_public_ipv6 commit openmptcprouter EOF if [ "$count" -eq "0" ]; then @@ -427,6 +431,10 @@ _check_backup() { fi uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='1' + del openmptcprouter.omr.detected_ss_ipv4 + del openmptcprouter.omr.detected_public_ipv4 + del openmptcprouter.omr.detected_ss_ipv6 + del openmptcprouter.omr.detected_public_ipv6 commit openmptcprouter EOF diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index 5079968a9..1c4c1f3eb 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -151,7 +151,8 @@ while true; do _get_ip fi fi - [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || { [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]; } && _get_ip + #[ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || { [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]; } && _get_ip + _get_ip last=0 OMR_TRACKER_STATUS="OK" else @@ -197,7 +198,6 @@ while true; do } script_alert_down="$(uci -q get omr-tracker.proxy.script_alert_down)" [ -n "$script_alert_down" ] && eval $script_alert_down - if [ "$disabled" != "1" ] && [ "$serverip" != "1" ]; then if [ "$type" = "libev" ] && [ "$(pgrep ss-redir)" = "" ] && [ "$(uci -q get shadowsocks-libev.${server}.key)" != "" ]; then _log "Can't find shadowsocks, restart it..." diff --git a/omr-tracker/files/bin/omr-tracker-v2ray b/omr-tracker/files/bin/omr-tracker-v2ray index 97babefe6..2c1776d67 100755 --- a/omr-tracker/files/bin/omr-tracker-v2ray +++ b/omr-tracker/files/bin/omr-tracker-v2ray @@ -133,7 +133,8 @@ while true; do /etc/init.d/v2ray rules_up 2> /dev/null _get_ip fi - [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip + #[ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip + _get_ip last=0 OMR_TRACKER_STATUS="OK" else diff --git a/omr-tracker/files/bin/omr-tracker-xray b/omr-tracker/files/bin/omr-tracker-xray index 76781ba24..7ed050a71 100755 --- a/omr-tracker/files/bin/omr-tracker-xray +++ b/omr-tracker/files/bin/omr-tracker-xray @@ -132,7 +132,8 @@ while true; do /etc/init.d/xray rules_up 2> /dev/null _get_ip fi - [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip + #[ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip + _get_ip last=0 OMR_TRACKER_STATUS="OK" else From d284236c9847c96965fb33d420cf9948f6e07aa3 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 8 Nov 2024 10:39:07 +0100 Subject: [PATCH 023/199] Fix previous fix as IP --- omr-tracker/files/bin/omr-tracker-ss | 4 ++-- omr-tracker/files/bin/omr-tracker-v2ray | 4 ++-- omr-tracker/files/bin/omr-tracker-xray | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index 1c4c1f3eb..c98ae7f08 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -131,6 +131,7 @@ while true; do } script_alert_up="$(uci -q get omr-tracker.proxy.script_alert_up)" [ -n "$script_alert_up" ] && eval $script_alert_up + _get_ip } if [ -z "$($IPTABLESSAVE 2>/dev/null | grep :ssr)" ] && [ -z "$(nft list ruleset 2>/dev/null | grep ss_r)" ] && [ -z "$(nft list ruleset 2>/dev/null | grep ssr_r)" ]; then if [ "$type" = "libev" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.${server}.key)" != "" ] && [ "$(uci -q get shadowsocks-libev.${server}.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.${server}.disabled)" != "1" ]; then @@ -151,8 +152,7 @@ while true; do _get_ip fi fi - #[ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || { [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]; } && _get_ip - _get_ip + [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || { [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]; } && _get_ip last=0 OMR_TRACKER_STATUS="OK" else diff --git a/omr-tracker/files/bin/omr-tracker-v2ray b/omr-tracker/files/bin/omr-tracker-v2ray index 2c1776d67..4451eb787 100755 --- a/omr-tracker/files/bin/omr-tracker-v2ray +++ b/omr-tracker/files/bin/omr-tracker-v2ray @@ -127,14 +127,14 @@ while true; do } script_alert_up="$(uci -q get omr-tracker.proxy.script_alert_up)" [ -n "$script_alert_up" ] && eval $script_alert_up + _get_ip } if [ -z "$($IPTABLES -w -t nat -L -n 2>/dev/null | grep ^v2r)" ] && [ -z "$(nft list ruleset 2>/dev/null | grep 'chain v2r')" ]; then _log "Reload V2Ray rules" /etc/init.d/v2ray rules_up 2> /dev/null _get_ip fi - #[ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip - _get_ip + [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip last=0 OMR_TRACKER_STATUS="OK" else diff --git a/omr-tracker/files/bin/omr-tracker-xray b/omr-tracker/files/bin/omr-tracker-xray index 7ed050a71..91cf729ff 100755 --- a/omr-tracker/files/bin/omr-tracker-xray +++ b/omr-tracker/files/bin/omr-tracker-xray @@ -126,14 +126,14 @@ while true; do } script_alert_up="$(uci -q get omr-tracker.proxy.script_alert_up)" [ -n "$script_alert_up" ] && eval $script_alert_up + _get_ip } if [ -z "$($IPTABLES -w -t nat -L -n 2>/dev/null | grep ^xr)" ] && [ -z "$(nft list ruleset 2>/dev/null | grep 'chain xr')" ]; then _log "Reload xray rules" /etc/init.d/xray rules_up 2> /dev/null _get_ip fi - #[ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip - _get_ip + [ "$(uci -q get openmptcprouter.omr.detected_public_ipv4)" = "" ] || ([ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.detected_public_ipv6)" = "" ]) && _get_ip last=0 OMR_TRACKER_STATUS="OK" else From d67d5912930b8711b16d433c29484ed68a6649ba Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 12 Nov 2024 10:54:56 +0100 Subject: [PATCH 024/199] Update OpenVPN --- openvpn/Makefile | 4 ++-- .../patches/100-mbedtls-disable-runtime-version-check.patch | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/openvpn/Makefile b/openvpn/Makefile index 3bd46b9c6..964b59c3f 100644 --- a/openvpn/Makefile +++ b/openvpn/Makefile @@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openvpn -PKG_VERSION:=2.6.10 +PKG_VERSION:=2.6.12 PKG_RELEASE:=10 PKG_SOURCE_URL:=\ https://build.openvpn.net/downloads/releases/ \ https://swupdate.openvpn.net/community/releases/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=1993bbb7b9edb430626eaa24573f881fd3df642f427fcb824b1aed1fca1bcc9b +PKG_HASH:=1c610fddeb686e34f1367c347e027e418e07523a10f4d8ce4a2c2af2f61a1929 PKG_MAINTAINER:=Magnus Kroken diff --git a/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch b/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch index c54277006..c327166ab 100644 --- a/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch +++ b/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch @@ -1,11 +1,11 @@ --- a/src/openvpn/ssl_mbedtls.c +++ b/src/openvpn/ssl_mbedtls.c -@@ -1535,7 +1535,7 @@ const char * +@@ -1612,7 +1612,7 @@ const char * get_ssl_library_version(void) { static char mbedtls_version[30]; - unsigned int pv = mbedtls_version_get_number(); + unsigned int pv = MBEDTLS_VERSION_NUMBER; - sprintf( mbedtls_version, "mbed TLS %d.%d.%d", + snprintf(mbedtls_version, sizeof(mbedtls_version), "mbed TLS %d.%d.%d", (pv>>24)&0xff, (pv>>16)&0xff, (pv>>8)&0xff ); return mbedtls_version; From 2e1d9b720714ea524e15d4b758f7029a187baee1 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 12 Nov 2024 10:55:14 +0100 Subject: [PATCH 025/199] Update iproute2 --- iproute2/Makefile | 4 +- ...10-bridge-mst-fix-a-musl-build-issue.patch | 68 +++++++++++ ...e-mst-fix-a-further-musl-build-issue.patch | 51 +++++++++ ...tlink-fix-build-with-musl-and-gcc-14.patch | 28 +++++ iproute2/patches/110-darwin_fixes.patch | 8 +- .../patches/115-add-config-xtlibdir.patch | 2 +- .../130-no_netem_tipc_dcb_man_vdpa.patch | 2 +- iproute2/patches/140-allow_pfifo_fast.patch | 2 +- .../patches/140-keep_libmnl_optional.patch | 2 +- .../patches/145-keep_libelf_optional.patch | 2 +- .../patches/150-keep_libcap_optional.patch | 2 +- .../patches/155-keep_tirpc_optional.patch | 2 +- iproute2/patches/170-ip_tiny.patch | 108 ++++++++++++++++++ iproute2/patches/180-drop_FAILED_POLICY.patch | 6 +- iproute2/patches/190-fix-nls-rpath-link.patch | 4 +- .../patches/195-build_variant_ip_tc.patch | 4 +- .../patches/200-drop_libbsd_dependency.patch | 19 +++ .../patches/300-selinux-configurable.patch | 2 +- ...0-rdma-include-libgen.h-for-basename.patch | 10 ++ 19 files changed, 305 insertions(+), 21 deletions(-) create mode 100644 iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch create mode 100644 iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch create mode 100644 iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch create mode 100644 iproute2/patches/170-ip_tiny.patch create mode 100644 iproute2/patches/200-drop_libbsd_dependency.patch create mode 100644 iproute2/patches/400-rdma-include-libgen.h-for-basename.patch diff --git a/iproute2/Makefile b/iproute2/Makefile index a39551ace..c2508f71b 100644 --- a/iproute2/Makefile +++ b/iproute2/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 -PKG_VERSION:=6.9.0 +PKG_VERSION:=6.11.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 -PKG_HASH:=2f643d09ea11a4a2a043c92e2b469b5f73228cbf241ae806760296ed0ec413d0 +PKG_HASH:=1f795398a04aeaacd06a8f6ace2cfd913c33fa5953ca99daae83bb5c534611c3 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=iptables PKG_LICENSE:=GPL-2.0 diff --git a/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch b/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch new file mode 100644 index 000000000..1630415eb --- /dev/null +++ b/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch @@ -0,0 +1,68 @@ +From 6a77abab92516e65f07f8657fc4e384c4541ce0e Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Sun, 22 Sep 2024 16:50:10 +0200 +Subject: bridge: mst: fix a musl build issue + +This patch fixes a compilation error raised by the bump to version 6.11.0 +in Buildroot using musl as the C library for the cross-compilation +toolchain. + +After setting the CFLGAS + +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +IPROUTE2_CFLAGS += -D__UAPI_DEF_IN6_ADDR=0 -D__UAPI_DEF_SOCKADDR_IN6=0 \ + -D__UAPI_DEF_IPV6_MREQ=0 +endif + +to fix the following errors: + +In file included from ../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/arpa/inet.h:9, + from ../include/libnetlink.h:14, + from mst.c:10: +../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr' + 23 | struct in6_addr { + | ^~~~~~~~ +In file included from ../include/uapi/linux/if_bridge.h:19, + from mst.c:7: +../include/uapi/linux/in6.h:33:8: note: originally defined here + 33 | struct in6_addr { + | ^~~~~~~~ +../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: error: redefinition of 'struct sockaddr_in6' + 34 | struct sockaddr_in6 { + | ^~~~~~~~~~~~ +../include/uapi/linux/in6.h:50:8: note: originally defined here + 50 | struct sockaddr_in6 { + | ^~~~~~~~~~~~ +../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: error: redefinition of 'struct ipv6_mreq' + 42 | struct ipv6_mreq { + | ^~~~~~~~~ +../include/uapi/linux/in6.h:60:8: note: originally defined here + 60 | struct ipv6_mreq { + +I got this further errors + +../include/uapi/linux/in6.h:72:25: error: field 'flr_dst' has incomplete type + 72 | struct in6_addr flr_dst; + | ^~~~~~~ +../include/uapi/linux/if_bridge.h:711:41: error: field 'ip6' has incomplete type + 711 | struct in6_addr ip6; + | ^~~ + +fixed by including the netinet/in.h header. + +Signed-off-by: Dario Binacchi +Signed-off-by: Stephen Hemminger +--- + bridge/mst.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/bridge/mst.c ++++ b/bridge/mst.c +@@ -4,6 +4,7 @@ + */ + + #include ++#include + #include + #include + diff --git a/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch b/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch new file mode 100644 index 000000000..1bdab398f --- /dev/null +++ b/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch @@ -0,0 +1,51 @@ +From 043ef90e2fa94397eb5c85330889ca4146a6d58a Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Sun, 22 Sep 2024 16:50:11 +0200 +Subject: bridge: mst: fix a further musl build issue + +This patch fixes the following build errors: + +In file included from mst.c:11: +../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~ +../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC' + 50 | type value); \ + | ^~~~ +../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~ +../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC' + 55 | type value) \ + | ^~~~ +../include/json_print.h: In function 'print_tv': +../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types] + 58 | value); \ + | ^~~~~ + | | + | const struct timeval * +../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC' + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~~~~~ +../include/json_print.h:50:42: note: expected 'const struct timeval *' but argument is of type 'const struct timeval *' + 50 | type value); \ + | ^ +../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC' + 80 | _PRINT_FUNC(tv, const struct timeval *) + +Signed-off-by: Dario Binacchi +Signed-off-by: Stephen Hemminger +--- + bridge/mst.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/bridge/mst.c ++++ b/bridge/mst.c +@@ -4,6 +4,7 @@ + */ + + #include ++#include + #include + #include + #include diff --git a/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch b/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch new file mode 100644 index 000000000..749176a8d --- /dev/null +++ b/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch @@ -0,0 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Thu, 8 Aug 2024 09:19:01 +0200 +Subject: libnetlink: fix build with musl and gcc 14 + +Fixes compilation error with musl libc and gcc 14: + +../include/libnetlink.h: In function 'rta_getattr_be64': +../include/libnetlink.h:280:16: error: implicit declaration of function 'htobe64' [-Wimplicit-function-declaration] + 280 | return htobe64(rta_getattr_u64(rta)); + | ^~~~~~~ + +Reference: https://man7.org/linux/man-pages/man3/endian.3.html +Signed-off-by: Natanael Copa +--- + include/libnetlink.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/include/libnetlink.h ++++ b/include/libnetlink.h +@@ -2,6 +2,7 @@ + #ifndef __LIBNETLINK_H__ + #define __LIBNETLINK_H__ 1 + ++#include + #include + #include + #include diff --git a/iproute2/patches/110-darwin_fixes.patch b/iproute2/patches/110-darwin_fixes.patch index 1f3eb101e..06ae59f8b 100644 --- a/iproute2/patches/110-darwin_fixes.patch +++ b/iproute2/patches/110-darwin_fixes.patch @@ -1,6 +1,6 @@ --- a/netem/maketable.c +++ b/netem/maketable.c -@@ -10,7 +10,9 @@ +@@ -11,7 +11,9 @@ #include #include #include @@ -12,7 +12,7 @@ #include --- a/netem/normal.c +++ b/netem/normal.c -@@ -8,8 +8,12 @@ +@@ -9,8 +9,12 @@ #include #include @@ -27,7 +27,7 @@ #define TABLEFACTOR NETEM_DIST_SCALE --- a/netem/pareto.c +++ b/netem/pareto.c -@@ -7,8 +7,12 @@ +@@ -8,8 +8,12 @@ #include #include @@ -42,7 +42,7 @@ #define TABLESIZE 16384 --- a/netem/paretonormal.c +++ b/netem/paretonormal.c -@@ -14,10 +14,13 @@ +@@ -15,10 +15,13 @@ #include #include #include diff --git a/iproute2/patches/115-add-config-xtlibdir.patch b/iproute2/patches/115-add-config-xtlibdir.patch index 8702d5fd2..38448e6cd 100644 --- a/iproute2/patches/115-add-config-xtlibdir.patch +++ b/iproute2/patches/115-add-config-xtlibdir.patch @@ -1,6 +1,6 @@ --- a/tc/Makefile +++ b/tc/Makefile -@@ -128,6 +128,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR +@@ -107,6 +107,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR ifneq ($(IPT_LIB_DIR),) CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\" endif diff --git a/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch b/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch index 2a3f9eb90..7f946070f 100644 --- a/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch +++ b/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -65,9 +65,9 @@ WFLAGS += -Wmissing-declarations -Wold-s +@@ -69,9 +69,9 @@ WFLAGS += -Wmissing-declarations -Wold-s CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS) YACCFLAGS = -d -t -v diff --git a/iproute2/patches/140-allow_pfifo_fast.patch b/iproute2/patches/140-allow_pfifo_fast.patch index 13de48f41..8f5a7d352 100644 --- a/iproute2/patches/140-allow_pfifo_fast.patch +++ b/iproute2/patches/140-allow_pfifo_fast.patch @@ -1,6 +1,6 @@ --- a/tc/q_fifo.c +++ b/tc/q_fifo.c -@@ -95,5 +95,6 @@ struct qdisc_util pfifo_head_drop_qdisc_ +@@ -90,5 +90,6 @@ struct qdisc_util pfifo_head_drop_qdisc_ struct qdisc_util pfifo_fast_qdisc_util = { .id = "pfifo_fast", diff --git a/iproute2/patches/140-keep_libmnl_optional.patch b/iproute2/patches/140-keep_libmnl_optional.patch index ff7e9ca4e..48a4ae751 100644 --- a/iproute2/patches/140-keep_libmnl_optional.patch +++ b/iproute2/patches/140-keep_libmnl_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -387,7 +387,7 @@ check_selinux() +@@ -368,7 +368,7 @@ check_tirpc() check_mnl() { diff --git a/iproute2/patches/145-keep_libelf_optional.patch b/iproute2/patches/145-keep_libelf_optional.patch index 079ca0512..99b9d326f 100644 --- a/iproute2/patches/145-keep_libelf_optional.patch +++ b/iproute2/patches/145-keep_libelf_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -255,7 +255,7 @@ EOF +@@ -217,7 +217,7 @@ EOF check_elf() { diff --git a/iproute2/patches/150-keep_libcap_optional.patch b/iproute2/patches/150-keep_libcap_optional.patch index 68e162416..49873f87b 100644 --- a/iproute2/patches/150-keep_libcap_optional.patch +++ b/iproute2/patches/150-keep_libcap_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -445,7 +445,7 @@ EOF +@@ -427,7 +427,7 @@ EOF check_cap() { diff --git a/iproute2/patches/155-keep_tirpc_optional.patch b/iproute2/patches/155-keep_tirpc_optional.patch index 28ba7e521..9e5e4330c 100644 --- a/iproute2/patches/155-keep_tirpc_optional.patch +++ b/iproute2/patches/155-keep_tirpc_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -398,7 +398,7 @@ check_selinux() +@@ -355,7 +355,7 @@ check_selinux() check_tirpc() { diff --git a/iproute2/patches/170-ip_tiny.patch b/iproute2/patches/170-ip_tiny.patch new file mode 100644 index 000000000..149bcd2af --- /dev/null +++ b/iproute2/patches/170-ip_tiny.patch @@ -0,0 +1,108 @@ +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -19,6 +19,13 @@ RTMONOBJ=rtmon.o + + include ../config.mk + ++STATIC_SYM_FILTER:= ++ifeq ($(IP_CONFIG_TINY),y) ++ STATIC_SYM_FILTER:=iplink_can.c iplink_ipoib.c iplink_vxlan.c ++ CFLAGS += -DIPROUTE2_TINY ++endif ++STATIC_SYM_SOURCES:=$(filter-out $(STATIC_SYM_FILTER),$(wildcard *.c)) ++ + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=routel + TARGETS=ip rtmon +@@ -48,7 +55,7 @@ else + + ip: static-syms.o + static-syms.o: static-syms.h +-static-syms.h: $(wildcard *.c) ++static-syms.h: $(STATIC_SYM_SOURCES) + files="$^" ; \ + for s in `grep -B 3 '\ 255) --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h -@@ -256,6 +256,7 @@ enum { +@@ -265,6 +265,7 @@ enum { RTN_THROW, /* Not in this table */ RTN_NAT, /* Translate this address */ RTN_XRESOLVE, /* Use external resolver */ diff --git a/iproute2/patches/190-fix-nls-rpath-link.patch b/iproute2/patches/190-fix-nls-rpath-link.patch index 92d02b9a4..545075fd8 100644 --- a/iproute2/patches/190-fix-nls-rpath-link.patch +++ b/iproute2/patches/190-fix-nls-rpath-link.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -279,7 +279,7 @@ int main(int argc, char **argv) { +@@ -241,7 +241,7 @@ int main(int argc, char **argv) { } EOF @@ -9,7 +9,7 @@ local ret=$? rm -f $TMPDIR/libbpf_test.c $TMPDIR/libbpf_test -@@ -297,7 +297,7 @@ int main(int argc, char **argv) { +@@ -259,7 +259,7 @@ int main(int argc, char **argv) { } EOF diff --git a/iproute2/patches/195-build_variant_ip_tc.patch b/iproute2/patches/195-build_variant_ip_tc.patch index 141763460..6ecf5568b 100644 --- a/iproute2/patches/195-build_variant_ip_tc.patch +++ b/iproute2/patches/195-build_variant_ip_tc.patch @@ -11,7 +11,7 @@ --- a/tc/Makefile +++ b/tc/Makefile -@@ -140,7 +140,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc +@@ -120,7 +120,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@ @@ -19,4 +19,4 @@ +all: $(findstring tc,$(BUILD_VARIANT)) $(TCSO) tc: $(TCOBJ) $(LIBNETLINK) libtc.a - $(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@ + $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ diff --git a/iproute2/patches/200-drop_libbsd_dependency.patch b/iproute2/patches/200-drop_libbsd_dependency.patch new file mode 100644 index 000000000..38193be15 --- /dev/null +++ b/iproute2/patches/200-drop_libbsd_dependency.patch @@ -0,0 +1,19 @@ +--- a/configure ++++ b/configure +@@ -413,14 +413,8 @@ EOF + if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then + echo "no" + else +- if ${PKG_CONFIG} libbsd --exists; then +- echo 'CFLAGS += -DHAVE_LIBBSD' "$(${PKG_CONFIG} libbsd --cflags)" >>$CONFIG +- echo 'LDLIBS +=' "$(${PKG_CONFIG} libbsd --libs)" >> $CONFIG +- echo "no" +- else +- echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG +- echo "yes" +- fi ++ echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG ++ echo "yes" + fi + rm -f $TMPDIR/strtest.c $TMPDIR/strtest + } diff --git a/iproute2/patches/300-selinux-configurable.patch b/iproute2/patches/300-selinux-configurable.patch index b7e61fd3b..9f07d3176 100644 --- a/iproute2/patches/300-selinux-configurable.patch +++ b/iproute2/patches/300-selinux-configurable.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -374,7 +374,7 @@ check_libbpf() +@@ -342,7 +342,7 @@ check_libbpf() check_selinux() # SELinux is a compile time option in the ss utility { diff --git a/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch b/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch new file mode 100644 index 000000000..530d2bcff --- /dev/null +++ b/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch @@ -0,0 +1,10 @@ +--- a/rdma/rdma.h ++++ b/rdma/rdma.h +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + + #include "list.h" + #include "utils.h" From 4df5fb7360d8a19250f2d1d10e32072e0e0755a7 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 12 Nov 2024 11:43:19 +0100 Subject: [PATCH 026/199] Fix https://github.com/Ysurac/openmptcprouter/issues/3646 Shadowsocks-Rust ss_tunnel --- .../htdocs/luci-static/resources/shadowsocks-rust.js | 3 ++- .../resources/view/shadowsocks-rust/instances.js | 7 +++++-- .../files/etc/uci-defaults/1930-omr-shadowsocks | 8 ++++++++ shadowsocks-rust/files/shadowsocks-rust.config | 3 ++- shadowsocks-rust/files/shadowsocks-rust.init-nft | 9 ++++++--- 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js index 4e6d12605..238cb10bb 100644 --- a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js +++ b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js @@ -183,7 +183,8 @@ return L.Class.extend({ } else if (stype === 'ss_local' || stype === 'ss_redir' || stype === 'ss_tunnel') { this.cfgvalue_overview_(sdata, lines, names_options_client); if (stype === 'ss_tunnel') { - this.cfgvalue_overview_(sdata, lines, ['tunnel_address']); + this.cfgvalue_overview_(sdata, lines, ['forward_address']); + this.cfgvalue_overview_(sdata, lines, ['forward_port']); } this.cfgvalue_overview_(sdata, lines, names_options_common); } else { diff --git a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js index 66b18163d..419eed46f 100644 --- a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js +++ b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js @@ -92,10 +92,13 @@ return L.view.extend({ } else { ss.options_client(s, 'general', res[1]); if (stype === 'ss_tunnel') { - o = s.taboption('general', form.Value, 'tunnel_address', + o = s.taboption('general', form.Value, 'forward_address', _('Tunnel address'), _('The address ss-tunnel will forward traffic to')); - o.datatype = 'hostport'; + o.datatype = 'host'; + o = s.taboption('general', form.Value, 'forward_port', + _('Tunnel port'), + _('The port ss-tunnel will forward traffic to')); } } }, this)); diff --git a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks index 437ede096..cd8386aa9 100755 --- a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks +++ b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks @@ -127,6 +127,14 @@ if [ -z "$(uci -q get shadowsocks-rust.hi1.keep_alive)" ]; then commit shadowsocks-rust EOF fi +if [ -z "$(uci -q get shadowsocks-rust.dns.forward_address)" ]; then + uci -q batch <<-EOF > /dev/null + set shadowsocks-rust.dns.forward_address="8.8.8.8" + set shadowsocks-rust.dns.forward_port=53 + del shadowsocks-rust.dns.tunnel_address + commit shadowsocks-rust + EOF +fi rm -f /tmp/luci-indexcache exit 0 diff --git a/shadowsocks-rust/files/shadowsocks-rust.config b/shadowsocks-rust/files/shadowsocks-rust.config index 498783762..d618841a9 100644 --- a/shadowsocks-rust/files/shadowsocks-rust.config +++ b/shadowsocks-rust/files/shadowsocks-rust.config @@ -57,7 +57,8 @@ config ss_tunnel 'dns' option mode 'tcp_and_udp' option server 'sss0' option local_port '5353' - option tunnel_address '8.8.8.8:53' + option forward_address '8.8.8.8' + option forward_port '53' config ss_local 'tracker_sss0' option server 'sss0' diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index 9add4eddd..72394c3da 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -55,8 +55,10 @@ ss_mkjson_ss_server_conf() { ss_mkjson_ss_tunnel_conf() { ss_mkjson_server_conf || return 1 - [ -n "$tunnel_address" ] || return 1 - json_add_string tunnel_address "$tunnel_address" + [ -n "$forward_address" ] || return 1 + [ -n "$forward_port" ] || return 1 + json_add_string forward_address "$forward_address" + json_add_int forward_port "$forward_port" } ss_xxx() { @@ -421,5 +423,6 @@ validate_ss_server_section() { validate_ss_tunnel_section() { validate_common_client_options_ ss_tunnel "$1" \ "$2" \ - 'tunnel_address:regex(".+\:[0-9]+")' + 'forward_address:host' + 'forward_port:uinteger' } From a695ad5a4f15b61d603ab624d7162c4a2ad745c7 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 12 Nov 2024 11:44:15 +0100 Subject: [PATCH 027/199] Doesn't disable txqueuelen on RPI5 --- mptcp/files/etc/init.d/mptcp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index d370e7bb1..ddca7b9b1 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -581,7 +581,7 @@ start_service() { fi [ -n "$(uci -q changes network)" ] && uci -q commit network [ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter - [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && [ -z "$(ubus call system board | jsonfilter -e '@.board_name' | grep '4-model-b')" ] && { + [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && [ -z "$(ubus call system board | jsonfilter -e '@.board_name' | grep '4-model-b')" ] && [ -z "$(ubus call system board | jsonfilter -e '@.board_name' | grep '5')" ] && { ethtool --offload eth0 rx off tx off > /dev/null 2>&1 } [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep -i r2s)" ] && { From ec7cfe4ad5eb81c40c52903a9e7229f851374215 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 12 Nov 2024 11:44:54 +0100 Subject: [PATCH 028/199] Update mptcpd --- mptcpd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mptcpd/Makefile b/mptcpd/Makefile index 36c3af633..b33a6bd80 100644 --- a/mptcpd/Makefile +++ b/mptcpd/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2023 Ycarus (Yannick Chabanois) for OpenMPTCProuter project +# Copyright (C) 2020-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter project # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,8 +10,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mptcpd PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/multipath-tcp/mptcpd.git -PKG_SOURCE_VERSION:=863e83f255f55dfd0ba9325d816bd99f6d9da0c2 -PKG_VERSION:=0.12-$(PKG_SOURCE_VERSION) +PKG_SOURCE_VERSION:=d186d935fa21ef95fb1784abaeca6d0803978351 +PKG_VERSION:=0.13-$(PKG_SOURCE_VERSION) PKG_RELEASE:=1 PKG_MAINTAINER:=Ycarus (Yannick Chabanois) From b82f4ca141736c01c1b6013265a2fd0aa5d341f1 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 12 Nov 2024 14:09:34 +0100 Subject: [PATCH 029/199] Force public IP info update on wizard change --- .../luasrc/controller/openmptcprouter.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index fa3269151..51aa986d6 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -649,6 +649,10 @@ function wizard_add() end ucic:set("openmptcprouter",server,"port","65500") ucic:set("openmptcprouter",server,"set_firewall","1") + ucic:delete("openmptcprouter",server,"detected_ss_ipv4") + ucic:delete("openmptcprouter",server,"detected_ss_ipv6") + ucic:delete("openmptcprouter",server,"detected_public_ipv4") + ucic:delete("openmptcprouter",server,"detected_public_ipv6") ucic:save("openmptcprouter") end From 3bd08043ffcc56fc7566645eadf82e74e72b2fe4 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 13 Nov 2024 16:56:44 +0100 Subject: [PATCH 030/199] Fix https://github.com/Ysurac/openmptcprouter/issues/3649 on backup config to VPS --- openmptcprouter/files/etc/init.d/openmptcprouter-vps | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index a5a380082..7767211b0 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -735,6 +735,7 @@ set_gre_tunnel() { _get_pihole() { + [ "$(uci -q get openmptcprouter.settings.pihole_auto_conf)" = "0" ] && return [ -z "$vps_config" ] && vps_config=$(_get_json "config") [ -z "$vps_config" ] && return vpn="$(uci -q get openmptcprouter.settings.vpn)" @@ -2054,7 +2055,9 @@ _backup_send() { logger -t "OMR-VPS" "Send backup file to server $servername" local backupjson backupjson='{"data": "'$backup_data'","sha256sum": "'$backup_sha256sum'"}' - result=$(_set_json "backuppost" "$backupjson") + echo "$backupjson" > /tmp/backupjson + result=$(_set_json "backuppost" "@/tmp/backupjson") + rm -f /tmp/backupjson uci -q set openmptcprouter.$servername.lastbackup=$(date +%s) } } From ba9e0f663b79e7f398f40fd35b4e5067801ecac8 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 13 Nov 2024 16:57:07 +0100 Subject: [PATCH 031/199] Fix Link Quality check in OMR-Tracker --- omr-tracker/files/bin/omr-tracker | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index 4340a1bf5..d2c629a00 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -601,22 +601,21 @@ while true; do fi fi if [ "$OMR_TRACKER_CHECK_QUALITY" = "1" ]; then - if [ "$OMR_TRACKER_PREV_STATUS" = "OK" ]; then - if [ -n "$OMR_TRACKER_LOSS" ] && [ "$OMR_TRACKER_LOSS" -ge "$OMR_TRACKER_LOSS_FAILURE" ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then + if [ "$OMR_TRACKER_PREV_STATUS" = "OK" ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then + if [ -n "$OMR_TRACKER_LOSS" ] && [ -n "$OMR_TRACKER_RECOVERY_LOSS" ] && [ "$OMR_TRACKER_LOSS" -ge "$OMR_TRACKER_FAILURE_LOSS" ]; then OMR_TRACKER_STATUS="ERROR" - OMR_TRACKER_STATUS_MSG="Packet loss is $OMR_TRACKER_LOSS this is more than limit defined at $OMR_TRACKER_LOSS_FAILURE" - fi - if [ -n "$OMR_TRACKER_LATENCY" ] && [ "$OMR_TRACKER_LATENCY" -ge "$OMR_TRACKER_LATENCY_FAILURE" ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then + OMR_TRACKER_STATUS_MSG="Packet loss is $OMR_TRACKER_LOSS this is more than failure limit defined at $OMR_TRACKER_FAILURE_LOSS" + elif [ -n "$OMR_TRACKER_LATENCY" ] && [ -n "$OMR_TRACKER_FAILURE_LATENCY"] && [ "$OMR_TRACKER_LATENCY" -ge "$OMR_TRACKER_FAILURE_LATENCY" ]; then OMR_TRACKER_STATUS="ERROR" - OMR_TRACKER_STATUS_MSG="Latency is $OMR_TRACKER_LATENCY this is more than limit defined at $OMR_TRACKER_LATENCY_FAILURE" + OMR_TRACKER_STATUS_MSG="Latency is $OMR_TRACKER_LATENCY this is more than failure limit defined at $OMR_TRACKER_FAILURE_LATENCY" fi - elif [ "$OMR_TRACKER_PREV_STATUS" = "ERROR" ]; then - OMR_TRACKER_STATUS="ERROR" - if [ -n "$OMR_TRACKER_LOSS" ] && [ "$OMR_TRACKER_LOSS" -le "$OMR_TRACKER_LOSS_RECOVERY" ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then - OMR_TRACKER_STATUS="OK" - fi - if [ -n "$OMR_TRACKER_LATENCY" ] && [ "$OMR_TRACKER_LATENCY" -ge "$OMR_TRACKER_LATENCY_RECOVERY" ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then - OMR_TRACKER_STATUS="OK" + elif [ "$OMR_TRACKER_PREV_STATUS" = "ERROR" ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then + if [ -n "$OMR_TRACKER_LOSS" ] && [ -n "$OMR_TRACKER_RECOVERY_LOSS" ] && [ "$OMR_TRACKER_LOSS" -ge "$OMR_TRACKER_RECOVERY_LOSS" ]; then + OMR_TRACKER_STATUS="ERROR" + OMR_TRACKER_STATUS_MSG="Packet loss is $OMR_TRACKER_LOSS this is more than recovery limit defined at $OMR_TRACKER_RECOVERY_LOSS" + elif [ -n "$OMR_TRACKER_LATENCY" ] && [ -n "$OMR_TRACKER_RECOVERY_LATENCY" ] && [ "$OMR_TRACKER_LATENCY" -ge "$OMR_TRACKER_RECOVERY_LATENCY" ]; then + OMR_TRACKER_STATUS="ERROR" + OMR_TRACKER_STATUS_MSG="Latency is $OMR_TRACKER_LATENCY this is more than recovery limit defined at $OMR_TRACKER_RECOVERY_LATENCY" fi fi fi From 20b12a83bde64929b41323eeb4801297d494d8aa Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 13 Nov 2024 16:57:34 +0100 Subject: [PATCH 032/199] For upnp disable --- openmptcprouter/files/etc/uci-defaults/2092-upnpd | 1 + 1 file changed, 1 insertion(+) diff --git a/openmptcprouter/files/etc/uci-defaults/2092-upnpd b/openmptcprouter/files/etc/uci-defaults/2092-upnpd index 34302eb69..49b84adb5 100755 --- a/openmptcprouter/files/etc/uci-defaults/2092-upnpd +++ b/openmptcprouter/files/etc/uci-defaults/2092-upnpd @@ -3,6 +3,7 @@ if [ "$(uci -q get upnpd.config.external_ifac)" != "omrvpn" ]; then uci -q batch <<-EOF >/dev/null set upnpd.config.external_iface=omrvpn + set upnpd.config.enabled='0' commit upnpd EOF fi From cee2ec000c85267e4553990339c6160b08a03a8f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 13 Nov 2024 16:58:07 +0100 Subject: [PATCH 033/199] xtables-addons patches is needed since at least kernel 6.10 --- xtables-addons/patches/301-fix-build-with-linux-6.11.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xtables-addons/patches/301-fix-build-with-linux-6.11.patch b/xtables-addons/patches/301-fix-build-with-linux-6.11.patch index 15ebf12a4..45de661fa 100644 --- a/xtables-addons/patches/301-fix-build-with-linux-6.11.patch +++ b/xtables-addons/patches/301-fix-build-with-linux-6.11.patch @@ -4,7 +4,7 @@ } #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) strlcpy(hlpr->name, tmpname, sizeof(hlpr->name)); #else + strscpy(hlpr->name, tmpname, sizeof(hlpr->name)); From 535d1e08f5217a45da304957642ba9ab3d93bc3a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 14 Nov 2024 17:53:46 +0100 Subject: [PATCH 034/199] Fix interfaces list to listen only to LAN for Proxy --- omr-schedule/files/usr/share/omr/schedule.d/010-services | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/omr-schedule/files/usr/share/omr/schedule.d/010-services b/omr-schedule/files/usr/share/omr/schedule.d/010-services index 4dd2864a0..311831f99 100755 --- a/omr-schedule/files/usr/share/omr/schedule.d/010-services +++ b/omr-schedule/files/usr/share/omr/schedule.d/010-services @@ -153,11 +153,12 @@ set_lan_ips() { config_get ip4table "$1" ip4table config_get device "$1" device config_get proto "$1" proto + config_get multipath "$1" multipath # No restrict for interfaces with strong name [ -n "$(echo $device | grep -)" ] && uci -q set openmptcprouter.settings.restrict_to_lan="0" && uci commit openmptcprouter uci -q del_list shadowsocks-libev.ss_rules.ifnames="$device" uci -q del_list shadowsocks-rust.ss_rules.ifnames="$device" - if [ "$ip4table" != "wan" ] && [ "$ip4table" != "vpn" ] && [ -n "$ip4table" ] && [ -n "$device" ] && ([ "$proto" = "dhcp" ] || [ "$proto" = "static" ]); then + if [ "$multipath" != "on" ] && [ "$multipath" != "master" ] && [ -n "$device" ] && [ -z "$(echo $device | grep @)" ] && ([ "$proto" = "dhcp" ] || [ "$proto" = "static" ]); then uci -q add_list shadowsocks-libev.ss_rules.ifnames="$device" uci -q add_list shadowsocks-rust.ss_rules.ifnames="$device" fi From 900dd5db0cd14e1e3af197d6a7f1f843fb77c7f9 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 14 Nov 2024 17:55:13 +0100 Subject: [PATCH 035/199] Fix kernel detection in init scripts --- dsvpn/files/init | 2 +- mptcpd/files/etc/init.d/mptcpd | 2 +- openvpn/files/openvpn.init | 2 +- v2ray-core/files/etc/init.d/v2ray | 2 +- xray-core/files/etc/init.d/xray | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dsvpn/files/init b/dsvpn/files/init index ca25fd3f0..a43583913 100755 --- a/dsvpn/files/init +++ b/dsvpn/files/init @@ -31,7 +31,7 @@ validate_section() { version_over_5_4() { MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}') - MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}') + MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}' | awk -F '-' '{print $1}') if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then return 0 else diff --git a/mptcpd/files/etc/init.d/mptcpd b/mptcpd/files/etc/init.d/mptcpd index aa4a177f7..3acc48a56 100755 --- a/mptcpd/files/etc/init.d/mptcpd +++ b/mptcpd/files/etc/init.d/mptcpd @@ -18,7 +18,7 @@ _err() { version_over_5_4() { MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}') - MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}') + MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}' | awk -F '-' '{print $1}') if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then return 0 else diff --git a/openvpn/files/openvpn.init b/openvpn/files/openvpn.init index ceb4c3809..fa9c5d287 100644 --- a/openvpn/files/openvpn.init +++ b/openvpn/files/openvpn.init @@ -19,7 +19,7 @@ UCI_DISABLED= version_over_5_4() { MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}') - MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}') + MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}' | awk -F '-' '{print $1}') if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then return 0 else diff --git a/v2ray-core/files/etc/init.d/v2ray b/v2ray-core/files/etc/init.d/v2ray index 865297512..b642125d6 100755 --- a/v2ray-core/files/etc/init.d/v2ray +++ b/v2ray-core/files/etc/init.d/v2ray @@ -53,7 +53,7 @@ _err() { version_over_5_4() { MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}') - MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}') + MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}' | awk -F '-' '{print $1}') if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then return 0 else diff --git a/xray-core/files/etc/init.d/xray b/xray-core/files/etc/init.d/xray index 8c1662d2d..805fee06a 100755 --- a/xray-core/files/etc/init.d/xray +++ b/xray-core/files/etc/init.d/xray @@ -53,7 +53,7 @@ _err() { version_over_5_4() { MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}') - MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}') + MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}' | awk -F '-' '{print $1}') if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then return 0 else From 7e56a0f41788de65d2a12ec78a29b70d0d7a976e Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 14 Nov 2024 17:55:43 +0100 Subject: [PATCH 036/199] Use Shadowsocks-libev or Shadowsocks-rust config for limit to LAN --- v2ray-core/files/etc/init.d/v2ray-nft | 3 ++- xray-core/files/etc/init.d/xray-nft | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/v2ray-core/files/etc/init.d/v2ray-nft b/v2ray-core/files/etc/init.d/v2ray-nft index 5f61c6562..20f68c81d 100755 --- a/v2ray-core/files/etc/init.d/v2ray-nft +++ b/v2ray-core/files/etc/init.d/v2ray-nft @@ -57,7 +57,7 @@ _err() { version_over_5_4() { MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}') - MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}') + MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}' | awk -F '-' '{print $1}') if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then return 0 else @@ -473,6 +473,7 @@ add_v2ray_redirect_rules() { [ "$(uci -q get v2ray.main_transparent_proxy.redirect_udp)" = "1" ] && [ "$(uci -q get v2ray.omrout.protocol)" != "socks" ] && portudp="$port" ifnames="$(uci -q get shadowsocks-libev.ss_rules.ifnames)" + [ -z "$ifnames" ] && ifnames="$(uci -q get shadowsocks-rust.ss_rules.ifnames)" local tmp="/tmp/v2rrules" json_init diff --git a/xray-core/files/etc/init.d/xray-nft b/xray-core/files/etc/init.d/xray-nft index 3bbdf2935..7eb4c336a 100755 --- a/xray-core/files/etc/init.d/xray-nft +++ b/xray-core/files/etc/init.d/xray-nft @@ -57,7 +57,7 @@ _err() { version_over_5_4() { MAJOR_VERSION=$(uname -r | awk -F '.' '{print $1}') - MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}') + MINOR_VERSION=$(uname -r | awk -F '.' '{print $2}' | awk -F '-' '{print $1}') if [ $MAJOR_VERSION -ge 5 ] && [ $MINOR_VERSION -gt 13 ] || [ $MAJOR_VERSION -gt 5 ] ; then return 0 else @@ -485,6 +485,7 @@ add_xray_redirect_rules() { [ "$(uci -q get xray.main_transparent_proxy.redirect_udp)" = "1" ] && [ "$(uci -q get xray.omrout.protocol)" != "socks" ] && portudp="$port" ifnames="$(uci -q get shadowsocks-libev.ss_rules.ifnames)" + [ -z "$ifnames" ] && ifnames="$(uci -q get shadowsocks-rust.ss_rules.ifnames)" local tmp="/tmp/xrrules" json_init From 857c7503beb779c4fb2fc4cf44716c6bebbdee77 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 15 Nov 2024 09:29:00 +0100 Subject: [PATCH 037/199] Put all functions used in OMR-Tracker Post Tracking in a lib separate file --- .../usr/share/omr/lib/common-post-tracking.sh | 714 ++++++++++++++++++ .../usr/share/omr/post-tracking.d/002-error | 20 +- .../usr/share/omr/post-tracking.d/003-up | 702 +---------------- 3 files changed, 727 insertions(+), 709 deletions(-) create mode 100755 omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh diff --git a/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh b/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh new file mode 100755 index 000000000..d8d4e874c --- /dev/null +++ b/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh @@ -0,0 +1,714 @@ +#!/bin/sh +# +# Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +. /lib/functions/network.sh + +find_network_device() { + local device="${1}" + local device_section="" + + check_device() { + local cfg="${1}" + local device="${2}" + + local name + config_get name "${cfg}" name + + [ "${name}" = "${device}" ] && device_section="${cfg}" + } + if [ -n "$device" ]; then + config_load network + config_foreach check_device device "$(uci -q network.${device}.device)" + fi + echo "${device_section}" +} + +set_route() { + local multipath_config_route interface_gw interface_if + INTERFACE=$1 + PREVINTERFACE=$2 + SETDEFAULT=$3 + [ -z "$SETDEFAULT" ] && SETDEFAULT="yes" + [ -z "$INTERFACE" ] && return + multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" + } + #network_get_device interface_if $INTERFACE + interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) + [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "${INTERFACE}" | jsonfilter -q -e '@["device"]') + interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") + if [ "$multipath_config_route" != "off" ] && [ "$SETROUTE" != true ] && [ "$INTERFACE" != "$PREVINTERFACE" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then + interface_gw="$(uci -q get network.$INTERFACE.gateway)" + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.${INTERFACE}_4 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && [ "$SETDEFAULT" = "yes" ] && _log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if" + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && [ "$SETDEFAULT" != "yes" ] && _log "$PREVINTERFACE down. Replace default in table 991337 route by $interface_gw dev $interface_if" + [ "$SETDEFAULT" = "yes" ] && [ "$(uci -q openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default scope global metric 1 via $interface_gw dev $interface_if $initcwrwnd >/dev/null 2>&1 + ip route replace default via $interface_gw dev $interface_if table 991337 $initcwrwnd >/dev/null 2>&1 && SETROUTE=true + fi + fi +} + +set_route6() { + local multipath_config_route interface_gw interface_if + INTERFACE=$1 + PREVINTERFACE=$2 + SETDEFAULT=$3 + [ -z "$SETDEFAULT" ] && SETDEFAULT="yes" + [ -z "$INTERFACE" ] && return + multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" + } + #network_get_device interface_if $INTERFACE + interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) + [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') + interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") + if [ "$multipath_config_route" != "off" ] && [ "$SETROUTE" != true ] && [ "$INTERFACE" != "$PREVINTERFACE" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then + interface_gw="$(uci -q get network.$INTERFACE.gateway)" + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="::"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.${INTERFACE}_6 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") + fi + if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep ':')" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if" + [ "$SETDEFAULT" = "yes" ] && [ "$(uci -q openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default scope metric 1 global nexthop via $interface_gw dev $interface_if >/dev/null 2>&1 + ip -6 route replace default via $interface_gw dev $interface_if table 6991337 >/dev/null 2>&1 && SETROUTE=true + fi + fi +} + +set_server_default_route() { + local server=$1 + server_route() { + local serverip multipath_config_route + serverip=$1 + [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" + config_get disabled $server disabled + [ "$disabled" = "1" ] && return + [ -z "$OMR_TRACKER_INTERFACE" ] && return + multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath) + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + } + if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric 1 | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route via $OMR_TRACKER_DEVICE_GATEWAY" + if [ "$(ip r show $serverip | grep nexthop)" != "" ]; then + ip r delete $serverip >/dev/null 2>&1 + fi + ip route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric 1 $initcwrwnd >/dev/null 2>&1 + fi + } + config_list_foreach $server ip server_route +} + +set_server_default_route6() { + local server=$1 + server_route() { + local serverip multipath_config_route + serverip=$1 + [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" + config_get disabled $server disabled + [ "$disabled" = "1" ] && return + [ -z "$OMR_TRACKER_INTERFACE" ] && return + multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath) + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + } + if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric 1 | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route via $OMR_TRACKER_DEVICE_GATEWAY6" + if [ "$(ip -6 r show $serverip | grep nexthop)" != "" ]; then + ip -6 r delete $serverip >/dev/null 2>&1 + fi + ip -6 route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric 1 >/dev/null 2>&1 + fi + } + config_list_foreach $server ip server_route +} + +delete_server_default_route() { + local server=$1 + delete_route() { + local serverip=$1 + [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" + config_get disabled $server disabled + [ "$disabled" = "1" ] && return + if [ "$serverip" != "" ] && [ "$(ip route show $serverip metric 1)" != "" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Delete server ($serverip) default route" + [ -n "$(ip route show $serverip metric 1)" ] && ip route del $serverip metric 1 >/dev/null 2>&1 + fi + } + config_list_foreach $server ip delete_route +} + +delete_server_default_route6() { + local server=$1 + delete_route() { + local serverip=$1 + [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" + config_get disabled $server disabled + [ "$disabled" = "1" ] && return + if [ "$serverip" != "" ] && [ "$(ip -6 route show $serverip metric 1)" != "" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Delete server ($serverip) default route" + [ -n "$(ip -6 route show $serverip metric 1)" ] && ip -6 route del $serverip metric 1 >/dev/null 2>&1 + fi + } + config_list_foreach $server ip delete_route +} + +set_routes_intf() { + local multipath_config_route + local interface_if + local INTERFACE=$1 + [ -z "$INTERFACE" ] && return + [ "$INTERFACE" = "omrvpn" ] && return + multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" + } + #network_get_device interface_if $INTERFACE + interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) + [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') + interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + #multipath_current_config=$(multipath $interface_if | grep 'deactivated') + interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") + interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0") + if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_if" != "" ] && [ "$interface_up" = "true" ]; then + interface_gw="$(uci -q get network.$INTERFACE.gateway)" + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.${INTERFACE}_4 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + #if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$serverip" ] && [ "$(ip route show $serverip | grep $interface_if)" = "" ]; then + if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -z "$(echo $interface_gw | grep :)" ]; then + if [ "$multipath_config_route" = "master" ]; then + weight=100 + else + weight=1 + fi + if [ "$multipath_config_route" = "backup" ]; then + nbintfb=$((nbintfb+1)) + if [ -z "$routesintfbackup" ]; then + routesintfbackup="nexthop via $interface_gw dev $interface_if weight $weight" + else + routesintfbackup="$routesintfbackup nexthop via $interface_gw dev $interface_if weight $weight" + fi + else + nbintf=$((nbintf+1)) + if [ -z "$routesintf" ]; then + routesintf="nexthop via $interface_gw dev $interface_if weight $weight" + else + routesintf="$routesintf nexthop via $interface_gw dev $interface_if weight $weight" + fi + fi + fi + fi +} + +set_routes_intf6() { + local multipath_config_route + local interface_if + local INTERFACE=$1 + [ -z "$INTERFACE" ] && return + [ "$INTERFACE" = "omr6in4" ] && return + [ "$INTERFACE" = "omrvpn" ] && return + multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" + } + #network_get_device interface_if $INTERFACE + interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) + [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') + interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + #multipath_current_config=$(multipath $interface_if | grep 'deactivated') + interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") + interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0") + if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_if" != "" ] && [ "$interface_up" = "true" ]; then + interface_gw="$(uci -q get network.$INTERFACE.ip6gw)" + interface_ip6="$(uci -q get network.$INTERFACE.ip6)" + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}\"].nexthop" | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}/64\"].nexthop" | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}/56\"].nexthop" | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.nexthop="::"].target' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="::"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.nexthop="::"].target' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.${INTERFACE}_6 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") + fi + #if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$serverip" ] && [ "$(ip -6 route show $serverip | grep $interface_if)" = "" ]; then + if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep :)" ]; then + if [ "$multipath_config_route" = "master" ]; then + weight=100 + else + weight=1 + fi + if [ "$multipath_config_route" = "backup" ]; then + nbintfb6=$((nbintfb6+1)) + if [ -z "$routesintfbackup6" ]; then + routesintfbackup6="nexthop via $interface_gw dev $interface_if weight $weight" + else + routesintfbackup6="$routesintfbackup6 nexthop via $interface_gw dev $interface_if weight $weight" + fi + else + nbintf6=$((nbintf6+1)) + if [ -z "$routesintf6" ]; then + routesintf6="nexthop via $interface_gw dev $interface_if weight $weight" + else + routesintf6="$routesintf6 nexthop via $interface_gw dev $interface_if weight $weight" + fi + fi + fi + fi +} + +set_route_balancing() { + local multipath_config_route interface_gw interface_if + INTERFACE=$1 + [ -z "$INTERFACE" ] && return + [ "$INTERFACE" = "omrvpn" ] && continue + multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" + } + #network_get_device interface_if $INTERFACE + [ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) + [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') + interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") + interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0") + if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then + interface_gw="$(uci -q get network.$INTERFACE.gateway)" + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.${INTERFACE}_4 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") + fi + if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then + if [ "$(uci -q get network.$INTERFACE.weight)" != "" ]; then + weight=$(uci -q get network.$INTERFACE.weight) + elif [ "$(uci -q get openmtpcprouter.$INTERFACE.weight)" != "" ]; then + weight=$(uci -q get openmtpcprouter.$INTERFACE.weight) + elif [ "$multipath_config_route" = "master" ]; then + weight=100 + else + weight=1 + fi + if [ "$multipath_config_route" = "backup" ]; then + nbintfb=$((nbintfb+1)) + if [ -z "$routesbalancingbackup" ]; then + routesbalancingbackup="nexthop via $interface_gw dev $interface_if weight $weight" + else + routesbalancingbackup="$routesbalancingbackup nexthop via $interface_gw dev $interface_if weight $weight" + fi + else + nbintf=$((nbintf+1)) + if [ -z "$routesbalancing" ]; then + routesbalancing="nexthop via $interface_gw dev $interface_if weight $weight" + else + routesbalancing="$routesbalancing nexthop via $interface_gw dev $interface_if weight $weight" + fi + fi + fi + fi +} + +set_route_balancing6() { + local multipath_config_route interface_gw interface_if + INTERFACE=$1 + [ -z "$INTERFACE" ] && return + [ "$INTERFACE" = "omr6in4" ] && continue + [ "$INTERFACE" = "omrvpn" ] && continue + multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" + } + #network_get_device interface_if $INTERFACE + [ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) + [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') + interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") + interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0") + if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then + interface_gw="$(uci -q get network.$INTERFACE.gateway)" + interface_ip6="$(uci -q get network.$INTERFACE.ip6)" + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}\"].nexthop" | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}/64\"].nexthop" | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}/56\"].nexthop" | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.nexthop="::"].target' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="::"].nexthop' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.nexthop="::"].target' | tr -d "\n") + fi + if [ -z "$interface_gw" ]; then + interface_gw=$(ubus call network.interface.${INTERFACE}_6 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") + fi + if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep :)" ]; then + if [ "$(uci -q get network.$INTERFACE.weight)" != "" ]; then + weight=$(uci -q get network.$INTERFACE.weight) + elif [ "$(uci -q get openmtpcprouter.$INTERFACE.weight)" != "" ]; then + weight=$(uci -q get openmtpcprouter.$INTERFACE.weight) + elif [ "$multipath_config_route" = "master" ]; then + weight=100 + else + weight=1 + fi + if [ "$multipath_config_route" = "backup" ]; then + nbintfb6=$((nbintfb6+1)) + if [ -z "$routesbalancingbackup6" ]; then + routesbalancingbackup6="nexthop via $interface_gw dev $interface_if weight $weight" + else + routesbalancingbackup6="$routesbalancingbackup6 nexthop via $interface_gw dev $interface_if weight $weight" + fi + else + nbintf6=$((nbintf6+1)) + if [ -z "$routesbalancing6" ]; then + routesbalancing6="nexthop via $interface_gw dev $interface_if weight $weight" + else + routesbalancing6="$routesbalancing6 nexthop via $interface_gw dev $interface_if weight $weight" + fi + fi + fi + fi +} + +set_server_all_routes() { + local server=$1 + [ -z "$OMR_TRACKER_INTERFACE" ] && return + server_route() { + local serverip multipath_config_route + serverip=$1 + [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" + config_get disabled $server disabled + [ "$disabled" = "1" ] && return + #network_get_device interface_if $OMR_TRACKER_INTERFACE + [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device) + interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath || echo "off") + [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo 'off') + [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + } + if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_up" = "true" ]; then + routesintf="" + routesintfbackup="" + nbintf=0 + nbintfb=0 + config_load network + config_foreach set_routes_intf interface + uintf="$(echo $routesintf | awk '{print $5}')" + uintfb="$(echo $routesintfbackup | awk '{print $5}')" + if [ -n "$routesintf" ] && { [ "$nbintf" -gt "1" ] && [ "$(ip r show $serverip metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" != "$(echo $serverip $routesintf | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" ]; } || { [ "$nbintf" = "1" ] && [ -n "$uintf" ] && [ "$(ip r show $serverip metric 1 | grep $uintf)" = "" ]; }; then + while [ "$(ip r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "$serverip" ] && [ "$(ip r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "" ]; do + ip r del $serverip + done + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route $serverip $routesintf" + ip route replace $serverip scope global metric 1 $routesintf >/dev/null 2>&1 + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New server route is $(ip r show $serverip metric 1 | tr -d '\t' | tr -d '\n')" + fi + if [ -n "$routesintfbackup" ] && { [ "$nbintfb" -gt "1" ] && [ "$(ip r show $serverip metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" != "$(echo $serverip $routesintfbackup | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" ]; } || { [ "$nbintfb" = "1" ] && [ -n "$uintfb" ] && [ "$(ip r show $serverip metric 999 | grep $uintfb)" = "" ]; }; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) backup default route $serverip $routesintfbackup nbintfb $nbintfb $OMR_TRACKER_DEVICE" + ip route replace $serverip scope global metric 999 $routesintfbackup >/dev/null 2>&1 + fi + fi + } + config_load openmptcprouter + config_list_foreach $server ip server_route +} + +set_server_all_routes6() { + local server=$1 + [ -z "$OMR_TRACKER_INTERFACE" ] && return + server_route() { + local serverip multipath_config_route + serverip=$1 + [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" + config_get disabled $server disabled + [ "$disabled" = "1" ] && return + #network_get_device interface_if $OMR_TRACKER_INTERFACE + [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device) + interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + } + if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_up" = "true" ]; then + routesintf="" + routesintfbackup="" + nbintf6=0 + nbintfb6=0 + config_load network + config_foreach set_routes_intf6 interface + uintf="$(echo $routesintf6 | awk '{print $5}')" + uintfb="$(echo $routesintfbackup6 | awk '{print $5}')" + if [ -n "$routesintf6" ] && { [ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show $serverip metric 1 | tr -d '\t' | sort | tr -d '\n' | sed 's/ *$//')" != "$(echo $serverip $routesintf6 | sort | sed 's/ *$//')" ]; } || { [ "$nbintf6" = "1" ] && [ -n "$uintf" ] && [ "$(ip -6 r show $serverip metric 1 | grep $uintf)" = "" ]; }; then + while [ "$(ip -6 r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "$serverip" ] && [ "$(ip -6 r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "" ]; do + ip -6 r del $serverip + done + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route $serverip $routesintf6" + ip -6 route replace $serverip scope global metric 1 $routesintf6 >/dev/null 2>&1 + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New server route is $(ip -6 r show $serverip metric 1 | tr -d '\t' | tr -d '\n')" + fi + if [ -n "$routesintfbackup6" ] && { [ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show $serverip metric 999 | tr -d '\t' | tr -d '\n')" != "$serverip $routesintfbackup6 " ]; } || { [ "$nbintfb6" = "1" ] && [ -n "$uintfb" ] && [ "$(ip -6 r show $serverip metric 999 | grep $uintfb)" = "" ]; }; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) backup default route $serverip $routesintfbackup6 nbintfb $nbintfb6 $OMR_TRACKER_DEVICE" + ip -6 route replace $serverip scope global metric 999 $routesintfbackup6 >/dev/null 2>&1 + fi + fi + } + config_load openmptcprouter + config_list_foreach $server ip server_route +} + + + +set_server_route() { + local server=$1 + [ -z "$OMR_TRACKER_INTERFACE" ] && return + server_route() { + local serverip multipath_config_route + serverip=$1 + [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" + config_get disabled $server disabled + [ "$disabled" = "1" ] && return + local metric=$2 + [ -z "$metric" ] && metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) + multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath) + [ "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + } + #network_get_device interface_if $OMR_TRACKER_INTERFACE + [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device) + interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + #multipath_current_config=$(multipath $interface_if | grep "deactivated") + interface_current_config=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state || echo "up") + #if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$multipath_current_config" = "" ]; then + if [ "$serverip" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) route via $OMR_TRACKER_DEVICE_GATEWAY metric $metric" + ip route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric $initcwrwnd >/dev/null 2>&1 + fi + } + config_list_foreach $server ip server_route + if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ -n "$metric" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then + ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric $initcwrwnd >/dev/null 2>&1 + fi +} + +set_server_route6() { + local server=$1 + [ -z "$OMR_TRACKER_INTERFACE" ] && return + server_route() { + local serverip multipath_config_route + serverip=$1 + [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" + config_get disabled $server disabled + [ "$disabled" = "1" ] && return + local metric=$2 + [ -z "$metric" ] && metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) + multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath) + [ "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo "off") + [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" + } + #network_get_device interface_if $OMR_TRACKER_INTERFACE + [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') + [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.ifname) + [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device) + interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') + #multipath_current_config=$(multipath $interface_if | grep "deactivated") + interface_current_config=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state || echo "up") + #if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$multipath_current_config" = "" ]; then + if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) route via $OMR_TRACKER_DEVICE_GATEWAY metric $metric" + ip -6 route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1 + fi + } + config_list_foreach $server ip server_route + if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then + ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1 + fi +} + +del_server_route() { + local server=$1 + remove_route() { + local serverip="$1" + [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" + [ -n "$serverip" ] && _log "Delete default route to $serverip dev $OMR_TRACKER_DEVICE" + local metric + if [ -z "$OMR_TRACKER_INTERFACE" ]; then + metric=0 + else + metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) + fi + [ -n "$metric" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$serverip" ] && [ -n "$(ip route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1 + [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$serverip" ] && [ -n "$(ip route show $serverip dev $OMR_TRACKER_DEVICE)" ] && ip route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 + [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$serverip" ] && [ -n "$(ip route show $serverip | grep $OMR_TRACKER_DEVICE)" ] && ip route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 + } + config_list_foreach $server ip remove_route + if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then + [ -n "$(ip route show default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE)" ] && ip route del default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 + elif [ -n "$OMR_TRACKER_DEVICE" ]; then + [ -n "$(ip route show default dev $OMR_TRACKER_DEVICE)" ] && ip route del default dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 + fi +} + +del_server_route6() { + local server=$1 + remove_route() { + local serverip="$1" + [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" + [ -n "$serverip" ] && _log "Delete default route to $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE" + local metric + if [ -z "$OMR_TRACKER_INTERFACE" ]; then + metric=0 + else + metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) + fi + [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1 + [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 + } + config_list_foreach $server ip remove_route + if [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then + [ -n "$(ip -6 route show default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 + elif [ -n "$OMR_TRACKER_DEVICE" ]; then + [ -n "$(ip -6 route show default dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del default dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 + fi +} + +enable_pihole() { + local server=$1 + nbserver=$((nbserver+1)) + if [ -n "$server" ] && [ "$(uci -q get openmptcprouter.${server}.pihole)" = "1" ] && [ "$(uci -q get dhcp.@dnsmasq[0].server | grep '127.0.0.1#5353')" != "" ]; then + piholeenabled=$((piholeenabled+1)) + fi +} + +disable_pihole() { + local server=$1 + if [ -n "$(uci -q get dhcp.@dnsmasq[0].server | grep '#53' | grep '10.255.25')" ]; then + _log "Disable Pi-Hole..." + uci -q del_list dhcp.@dnsmasq[0].server="$(uci -q get dhcp.@dnsmasq[0].server | tr ' ' '\n' | grep '#53' | grep '10.255.25')" + if [ -z "$(uci -q get dhcp.@dnsmasq[0].server | grep '127.0.0.1#5353')" ]; then + uci -q batch <<-EOF >/dev/null + add_list dhcp.@dnsmasq[0].server='127.0.0.1#5353' + commit dhcp + EOF + fi + /etc/init.d/dnsmasq restart >/dev/null 2>&1 + fi +} + +dns_flush() { + unbound-control flush-negative >/dev/null 2>&1 + unbound-control flush-bogus >/dev/null 2>&1 +} diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error index 52c3d608c..8092f9206 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error @@ -10,20 +10,7 @@ interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') -disable_pihole() { - local server=$1 - if [ -n "$(uci -q get dhcp.@dnsmasq[0].server | grep '#53' | grep '10.255.25')" ]; then - _log "Disable Pi-Hole..." - uci -q del_list dhcp.@dnsmasq[0].server="$(uci -q get dhcp.@dnsmasq[0].server | tr ' ' '\n' | grep '#53' | grep '10.255.25')" - if [ -z "$(uci -q get dhcp.@dnsmasq[0].server | grep '127.0.0.1#5353')" ]; then - uci -q batch <<-EOF >/dev/null - add_list dhcp.@dnsmasq[0].server='127.0.0.1#5353' - commit dhcp - EOF - fi - /etc/init.d/dnsmasq restart >/dev/null 2>&1 - fi -} +. /usr/share/omr/lib/common-post-tracking.sh # An interface in error will never be used in MPTCP if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$interface_up" != "true" ]; }; then @@ -159,6 +146,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp fi if [ -n "$OMR_TRACKER_INTERFACE" ]; then uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='down' + env -i ACTION="disconnecting" INTERFACE="$INTERFACE" DEVICE="$DEVICE" /sbin/hotplug-call iface fi #if [ "$(sysctl -n net.mptcp.mptcp_enabled | tr -d '\n')" = "1" ]; then # multipath "$OMR_TRACKER_DEVICE" off > /dev/null 2>&1 @@ -196,9 +184,11 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp config_foreach set_route6 interface $OMR_TRACKER_INTERFACE [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New routes $(ip r)" elif [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath)" = "master" ]; then + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Default gw: $default_gw - Set routes (current: $(ip r) )" config_load network config_foreach set_route interface $OMR_TRACKER_INTERFACE "no" config_foreach set_route6 interface $OMR_TRACKER_INTERFACE "no" + [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New routes $(ip r)" elif [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$(ip r show table 991337 | grep "$OMR_TRACKER_DEVICE ")" ]; then config_load network config_foreach set_route interface $OMR_TRACKER_INTERFACE "no" @@ -281,7 +271,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp /etc/init.d/openvpn restart omr >/dev/null 2>&1 fi config_load openmptcprouter - config_foreach disable_pihole server + if [ "$(uci -q get openmptcprouter.settings.pihole_auto_conf)" != "0" ] && config_foreach disable_pihole server #if [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ] || [ "$(uci -q get openmptcprouter.settings.vpn)" = "mlvpn" ]; then if [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then config_foreach set_server_default_route server diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up index 81a8ca0d7..53adb8752 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up @@ -17,697 +17,8 @@ fi SETROUTE=false -. /lib/functions/network.sh +. /usr/share/omr/lib/common-post-tracking.sh -find_network_device() { - local device="${1}" - local device_section="" - - check_device() { - local cfg="${1}" - local device="${2}" - - local name - config_get name "${cfg}" name - - [ "${name}" = "${device}" ] && device_section="${cfg}" - } - if [ -n "$device" ]; then - config_load network - config_foreach check_device device "$(uci -q network.${device}.device)" - fi - echo "${device_section}" -} - -set_route() { - local multipath_config_route interface_gw interface_if - INTERFACE=$1 - PREVINTERFACE=$2 - SETDEFAULT=$3 - [ -z "$SETDEFAULT" ] && SETDEFAULT="yes" - [ -z "$INTERFACE" ] && return - multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" - } - #network_get_device interface_if $INTERFACE - interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) - [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "${INTERFACE}" | jsonfilter -q -e '@["device"]') - interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") - if [ "$multipath_config_route" != "off" ] && [ "$SETROUTE" != true ] && [ "$INTERFACE" != "$PREVINTERFACE" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then - interface_gw="$(uci -q get network.$INTERFACE.gateway)" - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.${INTERFACE}_4 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && [ "$SETDEFAULT" = "yes" ] && _log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if" - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && [ "$SETDEFAULT" != "yes" ] && _log "$PREVINTERFACE down. Replace default in table 991337 route by $interface_gw dev $interface_if" - [ "$SETDEFAULT" = "yes" ] && [ "$(uci -q openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default scope global metric 1 via $interface_gw dev $interface_if $initcwrwnd >/dev/null 2>&1 - ip route replace default via $interface_gw dev $interface_if table 991337 $initcwrwnd >/dev/null 2>&1 && SETROUTE=true - fi - fi -} - -set_route6() { - local multipath_config_route interface_gw interface_if - INTERFACE=$1 - PREVINTERFACE=$2 - SETDEFAULT=$3 - [ -z "$SETDEFAULT" ] && SETDEFAULT="yes" - [ -z "$INTERFACE" ] && return - multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" - } - #network_get_device interface_if $INTERFACE - interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) - [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') - interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") - if [ "$multipath_config_route" != "off" ] && [ "$SETROUTE" != true ] && [ "$INTERFACE" != "$PREVINTERFACE" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then - interface_gw="$(uci -q get network.$INTERFACE.gateway)" - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="::"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.${INTERFACE}_6 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") - fi - if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep ':')" ]; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if" - [ "$SETDEFAULT" = "yes" ] && [ "$(uci -q openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default scope metric 1 global nexthop via $interface_gw dev $interface_if >/dev/null 2>&1 - ip -6 route replace default via $interface_gw dev $interface_if table 6991337 >/dev/null 2>&1 && SETROUTE=true - fi - fi -} - -set_server_default_route() { - local server=$1 - server_route() { - local serverip multipath_config_route - serverip=$1 - [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" - config_get disabled $server disabled - [ "$disabled" = "1" ] && return - [ -z "$OMR_TRACKER_INTERFACE" ] && return - multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath) - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - } - if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric 1 | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ]; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route via $OMR_TRACKER_DEVICE_GATEWAY" - if [ "$(ip r show $serverip | grep nexthop)" != "" ]; then - ip r delete $serverip >/dev/null 2>&1 - fi - ip route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric 1 $initcwrwnd >/dev/null 2>&1 - fi - } - config_list_foreach $server ip server_route -} - -set_server_default_route6() { - local server=$1 - server_route() { - local serverip multipath_config_route - serverip=$1 - [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" - config_get disabled $server disabled - [ "$disabled" = "1" ] && return - [ -z "$OMR_TRACKER_INTERFACE" ] && return - multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath) - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - } - if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric 1 | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ]; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route via $OMR_TRACKER_DEVICE_GATEWAY6" - if [ "$(ip -6 r show $serverip | grep nexthop)" != "" ]; then - ip -6 r delete $serverip >/dev/null 2>&1 - fi - ip -6 route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric 1 >/dev/null 2>&1 - fi - } - config_list_foreach $server ip server_route -} - -delete_server_default_route() { - local server=$1 - delete_route() { - local serverip=$1 - [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" - config_get disabled $server disabled - [ "$disabled" = "1" ] && return - if [ "$serverip" != "" ] && [ "$(ip route show $serverip metric 1)" != "" ]; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Delete server ($serverip) default route" - [ -n "$(ip route show $serverip metric 1)" ] && ip route del $serverip metric 1 >/dev/null 2>&1 - fi - } - config_list_foreach $server ip delete_route -} - -delete_server_default_route6() { - local server=$1 - delete_route() { - local serverip=$1 - [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" - config_get disabled $server disabled - [ "$disabled" = "1" ] && return - if [ "$serverip" != "" ] && [ "$(ip -6 route show $serverip metric 1)" != "" ]; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Delete server ($serverip) default route" - [ -n "$(ip -6 route show $serverip metric 1)" ] && ip -6 route del $serverip metric 1 >/dev/null 2>&1 - fi - } - config_list_foreach $server ip delete_route -} - -set_routes_intf() { - local multipath_config_route - local interface_if - local INTERFACE=$1 - [ -z "$INTERFACE" ] && return - [ "$INTERFACE" = "omrvpn" ] && return - multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" - } - #network_get_device interface_if $INTERFACE - interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) - [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') - interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - #multipath_current_config=$(multipath $interface_if | grep 'deactivated') - interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") - interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0") - if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_if" != "" ] && [ "$interface_up" = "true" ]; then - interface_gw="$(uci -q get network.$INTERFACE.gateway)" - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.${INTERFACE}_4 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - #if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$serverip" ] && [ "$(ip route show $serverip | grep $interface_if)" = "" ]; then - if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -z "$(echo $interface_gw | grep :)" ]; then - if [ "$multipath_config_route" = "master" ]; then - weight=100 - else - weight=1 - fi - if [ "$multipath_config_route" = "backup" ]; then - nbintfb=$((nbintfb+1)) - if [ -z "$routesintfbackup" ]; then - routesintfbackup="nexthop via $interface_gw dev $interface_if weight $weight" - else - routesintfbackup="$routesintfbackup nexthop via $interface_gw dev $interface_if weight $weight" - fi - else - nbintf=$((nbintf+1)) - if [ -z "$routesintf" ]; then - routesintf="nexthop via $interface_gw dev $interface_if weight $weight" - else - routesintf="$routesintf nexthop via $interface_gw dev $interface_if weight $weight" - fi - fi - fi - fi -} - -set_routes_intf6() { - local multipath_config_route - local interface_if - local INTERFACE=$1 - [ -z "$INTERFACE" ] && return - [ "$INTERFACE" = "omr6in4" ] && return - [ "$INTERFACE" = "omrvpn" ] && return - multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" - } - #network_get_device interface_if $INTERFACE - interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) - [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') - interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - #multipath_current_config=$(multipath $interface_if | grep 'deactivated') - interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") - interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0") - if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_if" != "" ] && [ "$interface_up" = "true" ]; then - interface_gw="$(uci -q get network.$INTERFACE.ip6gw)" - interface_ip6="$(uci -q get network.$INTERFACE.ip6)" - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}\"].nexthop" | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}/64\"].nexthop" | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}/56\"].nexthop" | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.nexthop="::"].target' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="::"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.nexthop="::"].target' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.${INTERFACE}_6 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") - fi - #if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$serverip" ] && [ "$(ip -6 route show $serverip | grep $interface_if)" = "" ]; then - if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep :)" ]; then - if [ "$multipath_config_route" = "master" ]; then - weight=100 - else - weight=1 - fi - if [ "$multipath_config_route" = "backup" ]; then - nbintfb6=$((nbintfb6+1)) - if [ -z "$routesintfbackup6" ]; then - routesintfbackup6="nexthop via $interface_gw dev $interface_if weight $weight" - else - routesintfbackup6="$routesintfbackup6 nexthop via $interface_gw dev $interface_if weight $weight" - fi - else - nbintf6=$((nbintf6+1)) - if [ -z "$routesintf6" ]; then - routesintf6="nexthop via $interface_gw dev $interface_if weight $weight" - else - routesintf6="$routesintf6 nexthop via $interface_gw dev $interface_if weight $weight" - fi - fi - fi - fi -} - -set_route_balancing() { - local multipath_config_route interface_gw interface_if - INTERFACE=$1 - [ -z "$INTERFACE" ] && return - [ "$INTERFACE" = "omrvpn" ] && continue - multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" - } - #network_get_device interface_if $INTERFACE - [ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) - [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') - interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") - interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0") - if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then - interface_gw="$(uci -q get network.$INTERFACE.gateway)" - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.${INTERFACE}_4 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n") - fi - if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ]; then - if [ "$(uci -q get network.$INTERFACE.weight)" != "" ]; then - weight=$(uci -q get network.$INTERFACE.weight) - elif [ "$(uci -q get openmtpcprouter.$INTERFACE.weight)" != "" ]; then - weight=$(uci -q get openmtpcprouter.$INTERFACE.weight) - elif [ "$multipath_config_route" = "master" ]; then - weight=100 - else - weight=1 - fi - if [ "$multipath_config_route" = "backup" ]; then - nbintfb=$((nbintfb+1)) - if [ -z "$routesbalancingbackup" ]; then - routesbalancingbackup="nexthop via $interface_gw dev $interface_if weight $weight" - else - routesbalancingbackup="$routesbalancingbackup nexthop via $interface_gw dev $interface_if weight $weight" - fi - else - nbintf=$((nbintf+1)) - if [ -z "$routesbalancing" ]; then - routesbalancing="nexthop via $interface_gw dev $interface_if weight $weight" - else - routesbalancing="$routesbalancing nexthop via $interface_gw dev $interface_if weight $weight" - fi - fi - fi - fi -} - -set_route_balancing6() { - local multipath_config_route interface_gw interface_if - INTERFACE=$1 - [ -z "$INTERFACE" ] && return - [ "$INTERFACE" = "omr6in4" ] && continue - [ "$INTERFACE" = "omrvpn" ] && continue - multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")" - } - #network_get_device interface_if $INTERFACE - [ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device) - [ -n "$(echo $interface_if | grep '@')" ] && interface_if=$(ifstatus "$INTERFACE" | jsonfilter -q -e '@["device"]') - interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - interface_current_config=$(uci -q get openmptcprouter.$INTERFACE.state || echo "up") - interface_vpn=$(uci -q get openmptcprouter.$INTERFACE.vpn || echo "0") - if { [ "$interface_vpn" = "0" ] || [ "$(uci -q get openmptcprouter.settings.allmptcpovervpn)" = "0" ]; } && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then - interface_gw="$(uci -q get network.$INTERFACE.gateway)" - interface_ip6="$(uci -q get network.$INTERFACE.ip6)" - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}\"].nexthop" | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}/64\"].nexthop" | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e "@.inactive.route[@.source=\"${interface_ip6}/56\"].nexthop" | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.nexthop="::"].target' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.target="::"].nexthop' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.$INTERFACE status 2>/dev/null | jsonfilter -q -l 1 -e '@.route[@.nexthop="::"].target' | tr -d "\n") - fi - if [ -z "$interface_gw" ]; then - interface_gw=$(ubus call network.interface.${INTERFACE}_6 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") - fi - if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep :)" ]; then - if [ "$(uci -q get network.$INTERFACE.weight)" != "" ]; then - weight=$(uci -q get network.$INTERFACE.weight) - elif [ "$(uci -q get openmtpcprouter.$INTERFACE.weight)" != "" ]; then - weight=$(uci -q get openmtpcprouter.$INTERFACE.weight) - elif [ "$multipath_config_route" = "master" ]; then - weight=100 - else - weight=1 - fi - if [ "$multipath_config_route" = "backup" ]; then - nbintfb6=$((nbintfb6+1)) - if [ -z "$routesbalancingbackup6" ]; then - routesbalancingbackup6="nexthop via $interface_gw dev $interface_if weight $weight" - else - routesbalancingbackup6="$routesbalancingbackup6 nexthop via $interface_gw dev $interface_if weight $weight" - fi - else - nbintf6=$((nbintf6+1)) - if [ -z "$routesbalancing6" ]; then - routesbalancing6="nexthop via $interface_gw dev $interface_if weight $weight" - else - routesbalancing6="$routesbalancing6 nexthop via $interface_gw dev $interface_if weight $weight" - fi - fi - fi - fi -} - -set_server_all_routes() { - local server=$1 - [ -z "$OMR_TRACKER_INTERFACE" ] && return - server_route() { - local serverip multipath_config_route - serverip=$1 - [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" - config_get disabled $server disabled - [ "$disabled" = "1" ] && return - #network_get_device interface_if $OMR_TRACKER_INTERFACE - [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device) - interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath || echo "off") - [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo 'off') - [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - } - if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_up" = "true" ]; then - routesintf="" - routesintfbackup="" - nbintf=0 - nbintfb=0 - config_load network - config_foreach set_routes_intf interface - uintf="$(echo $routesintf | awk '{print $5}')" - uintfb="$(echo $routesintfbackup | awk '{print $5}')" - if [ -n "$routesintf" ] && { [ "$nbintf" -gt "1" ] && [ "$(ip r show $serverip metric 1 | tr -d '\t' | tr -d '\n' | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" != "$(echo $serverip $routesintf | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" ]; } || { [ "$nbintf" = "1" ] && [ -n "$uintf" ] && [ "$(ip r show $serverip metric 1 | grep $uintf)" = "" ]; }; then - while [ "$(ip r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "$serverip" ] && [ "$(ip r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "" ]; do - ip r del $serverip - done - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route $serverip $routesintf" - ip route replace $serverip scope global metric 1 $routesintf >/dev/null 2>&1 - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New server route is $(ip r show $serverip metric 1 | tr -d '\t' | tr -d '\n')" - fi - if [ -n "$routesintfbackup" ] && { [ "$nbintfb" -gt "1" ] && [ "$(ip r show $serverip metric 999 | tr -d '\t' | tr -d '\n' | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" != "$(echo $serverip $routesintfbackup | sed 's/ *$//' | tr ' ' '\n' | sort | tr -d '\n')" ]; } || { [ "$nbintfb" = "1" ] && [ -n "$uintfb" ] && [ "$(ip r show $serverip metric 999 | grep $uintfb)" = "" ]; }; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) backup default route $serverip $routesintfbackup nbintfb $nbintfb $OMR_TRACKER_DEVICE" - ip route replace $serverip scope global metric 999 $routesintfbackup >/dev/null 2>&1 - fi - fi - } - config_load openmptcprouter - config_list_foreach $server ip server_route -} - -set_server_all_routes6() { - local server=$1 - [ -z "$OMR_TRACKER_INTERFACE" ] && return - server_route() { - local serverip multipath_config_route - serverip=$1 - [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" - config_get disabled $server disabled - [ "$disabled" = "1" ] && return - #network_get_device interface_if $OMR_TRACKER_INTERFACE - [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device) - interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - } - if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_up" = "true" ]; then - routesintf="" - routesintfbackup="" - nbintf6=0 - nbintfb6=0 - config_load network - config_foreach set_routes_intf6 interface - uintf="$(echo $routesintf6 | awk '{print $5}')" - uintfb="$(echo $routesintfbackup6 | awk '{print $5}')" - if [ -n "$routesintf6" ] && { [ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show $serverip metric 1 | tr -d '\t' | sort | tr -d '\n' | sed 's/ *$//')" != "$(echo $serverip $routesintf6 | sort | sed 's/ *$//')" ]; } || { [ "$nbintf6" = "1" ] && [ -n "$uintf" ] && [ "$(ip -6 r show $serverip metric 1 | grep $uintf)" = "" ]; }; then - while [ "$(ip -6 r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "$serverip" ] && [ "$(ip -6 r show $serverip | grep -v nexthop | sed 's/ //g' | tr -d '\n')" != "" ]; do - ip -6 r del $serverip - done - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) default route $serverip $routesintf6" - ip -6 route replace $serverip scope global metric 1 $routesintf6 >/dev/null 2>&1 - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New server route is $(ip -6 r show $serverip metric 1 | tr -d '\t' | tr -d '\n')" - fi - if [ -n "$routesintfbackup6" ] && { [ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show $serverip metric 999 | tr -d '\t' | tr -d '\n')" != "$serverip $routesintfbackup6 " ]; } || { [ "$nbintfb6" = "1" ] && [ -n "$uintfb" ] && [ "$(ip -6 r show $serverip metric 999 | grep $uintfb)" = "" ]; }; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) backup default route $serverip $routesintfbackup6 nbintfb $nbintfb6 $OMR_TRACKER_DEVICE" - ip -6 route replace $serverip scope global metric 999 $routesintfbackup6 >/dev/null 2>&1 - fi - fi - } - config_load openmptcprouter - config_list_foreach $server ip server_route -} - - - -set_server_route() { - local server=$1 - [ -z "$OMR_TRACKER_INTERFACE" ] && return - server_route() { - local serverip multipath_config_route - serverip=$1 - [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" - config_get disabled $server disabled - [ "$disabled" = "1" ] && return - local metric=$2 - [ -z "$metric" ] && metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) - multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath) - [ "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - } - #network_get_device interface_if $OMR_TRACKER_INTERFACE - [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device) - interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - #multipath_current_config=$(multipath $interface_if | grep "deactivated") - interface_current_config=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state || echo "up") - #if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$multipath_current_config" = "" ]; then - if [ "$serverip" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) route via $OMR_TRACKER_DEVICE_GATEWAY metric $metric" - ip route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric $initcwrwnd >/dev/null 2>&1 - fi - } - config_list_foreach $server ip server_route - if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ -n "$metric" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then - ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric $initcwrwnd >/dev/null 2>&1 - fi -} - -set_server_route6() { - local server=$1 - [ -z "$OMR_TRACKER_INTERFACE" ] && return - server_route() { - local serverip multipath_config_route - serverip=$1 - [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" - config_get disabled $server disabled - [ "$disabled" = "1" ] && return - local metric=$2 - [ -z "$metric" ] && metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) - multipath_config_route=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipath) - [ "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$OMR_TRACKER_INTERFACE.multipath || echo "off") - [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.multipathvpn)" = "1" ] && { - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - [ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")" - } - #network_get_device interface_if $OMR_TRACKER_INTERFACE - [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]') - [ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.ifname) - [ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device) - interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') - #multipath_current_config=$(multipath $interface_if | grep "deactivated") - interface_current_config=$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state || echo "up") - #if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$multipath_current_config" = "" ]; then - if [ "$serverip" != "" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep $serverip | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then - [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Set server $server ($serverip) route via $OMR_TRACKER_DEVICE_GATEWAY metric $metric" - ip -6 route replace $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1 - fi - } - config_list_foreach $server ip server_route - if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ "$(ip -6 route show dev $OMR_TRACKER_DEVICE metric $metric | grep default | grep $OMR_TRACKER_DEVICE_GATEWAY6)" = "" ] && [ "$multipath_config_route" != "off" ] && [ "$interface_current_config" = "up" ] && [ "$interface_up" = "true" ]; then - ip -6 route replace default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1 - fi -} - -del_server_route() { - local server=$1 - remove_route() { - local serverip="$1" - [ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')" - [ -n "$serverip" ] && _log "Delete default route to $serverip dev $OMR_TRACKER_DEVICE" - local metric - if [ -z "$OMR_TRACKER_INTERFACE" ]; then - metric=0 - else - metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) - fi - [ -n "$metric" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$serverip" ] && [ -n "$(ip route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1 - [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$serverip" ] && [ -n "$(ip route show $serverip dev $OMR_TRACKER_DEVICE)" ] && ip route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 - [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$serverip" ] && [ -n "$(ip route show $serverip | grep $OMR_TRACKER_DEVICE)" ] && ip route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 - } - config_list_foreach $server ip remove_route - if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then - [ -n "$(ip route show default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE)" ] && ip route del default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 - elif [ -n "$OMR_TRACKER_DEVICE" ]; then - [ -n "$(ip route show default dev $OMR_TRACKER_DEVICE)" ] && ip route del default dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 - fi -} - -del_server_route6() { - local server=$1 - remove_route() { - local serverip="$1" - [ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')" - [ -n "$serverip" ] && _log "Delete default route to $serverip via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE" - local metric - if [ -z "$OMR_TRACKER_INTERFACE" ]; then - metric=0 - else - metric=$(uci -q get network.$OMR_TRACKER_INTERFACE.metric) - fi - [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE metric $metric)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE metric $metric >/dev/null 2>&1 - [ -n "$OMR_TRACKER_DEVICE" ] && [ -n "$metric" ] && [ -n "$serverip" ] && [ -n "$(ip -6 route show $serverip dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del $serverip dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 - } - config_list_foreach $server ip remove_route - if [ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$OMR_TRACKER_DEVICE" ]; then - [ -n "$(ip -6 route show default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del default via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 - elif [ -n "$OMR_TRACKER_DEVICE" ]; then - [ -n "$(ip -6 route show default dev $OMR_TRACKER_DEVICE)" ] && ip -6 route del default dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 - fi -} - -enable_pihole() { - local server=$1 - nbserver=$((nbserver+1)) - if [ -n "$server" ] && [ "$(uci -q get openmptcprouter.${server}.pihole)" = "1" ] && [ "$(uci -q get dhcp.@dnsmasq[0].server | grep '127.0.0.1#5353')" != "" ]; then - piholeenabled=$((piholeenabled+1)) - fi -} - -dns_flush() { - unbound-control flush-negative >/dev/null 2>&1 - unbound-control flush-bogus >/dev/null 2>&1 -} #if [ -n "$RANDOM" ]; then # sleep `expr $RANDOM % 10` @@ -807,10 +118,12 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om [ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter nbserver=0 piholeenabled=0 - config_load openmptcprouter - config_foreach enable_pihole server - #config_foreach delete_server_default_route server - [ "$nbserver" = "$piholeenabled" ] && /etc/init.d/openmptcprouter-vps set_pihole >/dev/null 2>&1 + if [ "$(uci -q get openmptcprouter.settings.pihole_auto_conf)" != "0" ]; then + config_load openmptcprouter + config_foreach enable_pihole server + #config_foreach delete_server_default_route server + [ "$nbserver" = "$piholeenabled" ] && /etc/init.d/openmptcprouter-vps set_pihole >/dev/null 2>&1 + fi #ubus call network reload exit 0 fi @@ -842,6 +155,7 @@ if [ "$OMR_TRACKER_PREV_STATUS" != "" ] && [ "$OMR_TRACKER_PREV_STATUS" != "$OMR } script_alert_up="$(uci -q get omr-tracker.$OMR_TRACKER_INTERFACE.script_alert_up)" [ -n "$script_alert_up" ] && eval $script_alert_up + env -i ACTION="connecting" INTERFACE="$INTERFACE" DEVICE="$DEVICE" /sbin/hotplug-call iface fi if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" != "up" ]; then uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='up' From 444c99c595b542d937f43d5b5a05bc801b6b8a28 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 15 Nov 2024 09:29:23 +0100 Subject: [PATCH 038/199] Add Led managment in post tracking script --- .../usr/share/omr/post-tracking.d/030-leds | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 omr-tracker/files/usr/share/omr/post-tracking.d/030-leds diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/030-leds b/omr-tracker/files/usr/share/omr/post-tracking.d/030-leds new file mode 100755 index 000000000..01d2a3c1f --- /dev/null +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/030-leds @@ -0,0 +1,28 @@ +#!/bin/sh + +[ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && exit 0 +[ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ] && exit 0 + +set_leds() { + local cfg=$1 + config_get trigger $cfg trigger + [ "$trigger" != "vpn" ] && return + config_get sysfs $cfg sysfs + config_get vpn_status $cfg vpn_status + if [ "$vpn_status" = "off" ]; then + if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then + echo 'default-on' > /sys/class/leds/${sysfs}/trigger + else + echo 'none' > /sys/class/leds/${sysfs}/trigger + fi + elif [ "$vpn_status" = "on" ]; then + if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then + echo 'none' > /sys/class/leds/${sysfs}/trigger + else + echo 'default-on' > /sys/class/leds/${sysfs}/trigger + fi + fi +} + +config_load system +config_foreach set_leds led \ No newline at end of file From 0b3b88ab955b92c77dd01d74261302bfd4ea072f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 15 Nov 2024 16:37:22 +0100 Subject: [PATCH 039/199] Fix OMR-Tracker Post tracking error script --- omr-tracker/files/usr/share/omr/post-tracking.d/002-error | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error index 8092f9206..d81a134db 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error @@ -271,7 +271,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp /etc/init.d/openvpn restart omr >/dev/null 2>&1 fi config_load openmptcprouter - if [ "$(uci -q get openmptcprouter.settings.pihole_auto_conf)" != "0" ] && config_foreach disable_pihole server + [ "$(uci -q get openmptcprouter.settings.pihole_auto_conf)" != "0" ] && config_foreach disable_pihole server #if [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ] || [ "$(uci -q get openmptcprouter.settings.vpn)" = "mlvpn" ]; then if [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then config_foreach set_server_default_route server From d4e18ee799871a1d065d965437dd8f573d10306d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 15 Nov 2024 17:30:15 +0100 Subject: [PATCH 040/199] Separate XRay and V2Ray key in wizard, add V2Ray/XRay UDP activation in Wizard page --- .../luasrc/controller/openmptcprouter.lua | 20 +++++++++---- .../luasrc/view/openmptcprouter/wizard.htm | 30 +++++++++++++++++-- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 51aa986d6..31e803161 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -1076,6 +1076,14 @@ function wizard_add() luci.sys.call("/etc/init.d/shadowsocks-rust rules_down >/dev/null 2>/dev/null") end + -- Enable/disable v2ray/xray udp + local v2rayudp = luci.http.formvalue("v2rayudp") or "0" + ucic:set("v2ray","main_transparent_proxy","redirect_udp",v2rayudp) + ucic:save("v2ray") + ucic:commit("v2ray") + ucic:set("xray","main_transparent_proxy","redirect_udp",v2rayudp) + ucic:save("xray") + ucic:commit("xray") local v2ray_user = luci.http.formvalue("v2ray_user") ucic:set("v2ray","omrout","s_vmess_user_id",v2ray_user) @@ -1084,13 +1092,15 @@ function wizard_add() ucic:set("v2ray","omrout","s_socks_user_id",v2ray_user) ucic:save("v2ray") ucic:commit("v2ray") - ucic:set("xray","omrout","s_vmess_user_id",v2ray_user) - ucic:set("xray","omrout","s_vless_user_id",v2ray_user) - ucic:set("xray","omrout","s_vless_reality_user_id",v2ray_user) - ucic:set("xray","omrout","s_trojan_user_id",v2ray_user) - ucic:set("xray","omrout","s_socks_user_id",v2ray_user) + local xray_user = luci.http.formvalue("xray_user") + ucic:set("xray","omrout","s_vmess_user_id",xray_user) + ucic:set("xray","omrout","s_vless_user_id",xray_user) + ucic:set("xray","omrout","s_vless_reality_user_id",xray_user) + ucic:set("xray","omrout","s_trojan_user_id",xray_user) + ucic:set("xray","omrout","s_socks_user_id",xray_user) ucic:save("xray") ucic:commit("xray") + ucic:save("shadowsocks-libev") ucic:commit("shadowsocks-libev") ucic:save("shadowsocks-rust") diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm index 0d715c027..1959140a2 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm @@ -321,18 +321,42 @@ <% end %> - <% if nixio.fs.access("/etc/init.d/v2ray") or nixio.fs.access("/etc/init.d/xray") then %> + <% if nixio.fs.access("/etc/init.d/v2ray") then %>

- +
" />
- <%:Key is retrieved from server API by default.%> <%:V2Ray is used for TCP and UDP.%> + <%:Key is retrieved from server API by default.%>
<% end %> + <% if nixio.fs.access("/etc/init.d/xray") then %> +
+ +
+ " /> +
+
+ <%:Key is retrieved from server API by default.%> +
+
+
+ <% end %> + <% if nixio.fs.access("/etc/init.d/xray") or nixio.fs.access("/etc/init.d/v2ray") then %> +
+ +
+ checked<% end %>> +
+
+ <%:When proxy V2Ray/XRay VLESS, VMESS or Trojan is used, use it for UDP%> +
+
+
+ <% end %>
+
+ +
+ checked<% end %>> +
+
+ <%:Disable OpenVPN multi clients to distribute connections and use more CPU cores%> +
+
+
diff --git a/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh b/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh index d8d4e874c..312952cf7 100755 --- a/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh +++ b/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh @@ -712,3 +712,23 @@ dns_flush() { unbound-control flush-negative >/dev/null 2>&1 unbound-control flush-bogus >/dev/null 2>&1 } + +set_vpn_balancing_routes() { + vpngw="$1" + vpn_route() { + local vpnname + vpnname=$1 + [ -z "$(echo $vpnname | grep omr)" ] && return + config_get enabled $vpnname enabled + [ "$enabled" != "1" ] && return + config_get dev $vpnname dev + [ -z "$dev" ] && return + allvpnroutes="$allvpnroutes nexthop via $vpngw dev $dev" + } + allvpnroutes="" + config_load openvpn + config_foreach vpn_route openvpn + _log "allvpnroutes: $allvpnroutes" + [ -n "$allvpnroutes" ] && ip route replace default scope global${allvpnroutes} >/dev/null 2>&1 +} + diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up index 21be40f3d..8c67bf96c 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up @@ -61,13 +61,18 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om fi fi if { [ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; } && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then - _log "Tunnel up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE (was $default_gw)" [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Default gw : $default_gw - Current route: $(ip r)" - ip route replace default scope global via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd >/dev/null 2>&1 + if [ "$(uci -q get openvpn.omr2.enabled)" != "1" ]; then + _log "Tunnel up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE (was $default_gw)" + ip route replace default scope global via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd >/dev/null 2>&1 + else + _log "Tunnel up : Replace default route by load balancing to $OMR_TRACKER_DEVICE_GATEWAY" + set_vpn_balancing_routes "$OMR_TRACKER_DEVICE_GATEWAY" + fi if [ "$(pgrep -f openmptcprouter-vps)" = "" ]; then /etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 & fi - [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && conntrack -D -p udp >/dev/null 2>&1 + [ -n "$(uci -q get shadowsocks-libev.sss0)" ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && conntrack -D -p udp >/dev/null 2>&1 [ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New route: $(ip r)" fi @@ -388,5 +393,7 @@ if [ "$(sysctl -qen net.mptcp.mptcp_enabled | tr -d '\n')" = "1" ] || [ "$(sysct fi [ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter +#[ -n "$OMR_TRACKER_DEVICE" ] && OMR_TRACKER_PREV_DEVICE="$OMR_TRACKER_DEVICE" + #ubus call network reload exit 0 \ No newline at end of file diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 7767211b0..e0f4d2e63 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -1451,6 +1451,25 @@ _set_ssrust_server() { fi } +_set_openvpn_server() { + local option=$2 + local value=$3 + if [ "$value" = "true" ]; then + value=1 + elif [ "$value" = "false" ]; then + value=0 + fi + if [ "$(echo $1 | grep omr)" != "" ]; then + if [ "$option" = "remote" ]; then + uci -q delete openvpn.$1.$option + uci -q add_list openvpn.$1.$option=$value + else + uci -q set openvpn.$1.$option=$value + fi + fi +} + + _set_config_from_vps() { local shadowsocks_disabled vpn glorytun_state redirect shorewall_redirect mlvpn_key openvpn_key dsvpn_key [ -z "$vps_config" ] && vps_config=$(_get_json "config") @@ -1625,10 +1644,12 @@ _set_config_from_vps() { if [ "$(uci -q get shadowsocks-libev.sss0.server)" != "127.0.0.1" ]; then config_foreach _set_ss_server server "server" $vpsip fi - uci -q commit shadowsocks-libev - if [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ -n "$(uci -q changes shadowsocks-libev)" ]; then - logger -t "OMR-VPS" "Shadowsocks restart..." - /etc/init.d/shadowsocks-libev restart >/dev/null 2>&1 + if [ -n "$(uci -q changes shadowsocks-libev)" ]; then + uci -q commit shadowsocks-libev + if [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ]; then + logger -t "OMR-VPS" "Shadowsocks restart..." + /etc/init.d/shadowsocks-libev restart >/dev/null 2>&1 + fi fi fi @@ -1653,10 +1674,12 @@ _set_config_from_vps() { if [ "$(uci -q get shadowsocks-rust.sss0.server)" != "127.0.0.1" ]; then config_foreach _set_ssrust_server server "server" $vpsip fi - uci -q commit shadowsocks-rust - if [ "$(uci -q get shadowsocks-rust.sss0.disabled)" != "1" ] && [ -n "$(uci -q changes shadowsocks-rust)" ]; then - logger -t "OMR-VPS" "Shadowsocks Rust restart..." - /etc/init.d/shadowsocks-rust restart >/dev/null 2>&1 + if [ -n "$(uci -q changes shadowsocks-rust)" ]; then + uci -q commit shadowsocks-rust + if [ "$(uci -q get shadowsocks-rust.sss0.disabled)" != "1" ]; then + logger -t "OMR-VPS" "Shadowsocks Rust restart..." + /etc/init.d/shadowsocks-rust restart >/dev/null 2>&1 + fi fi fi @@ -1681,10 +1704,12 @@ _set_config_from_vps() { uci -q set v2ray.omrout.s_trojan_address="$vpsip" uci -q set v2ray.omrout.s_socks_address="$vpsip" fi - uci -q commit v2ray - if [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -n "$(uci -q changes v2ray)" ]; then - logger -t "OMR-VPS" "V2ray restart..." - /etc/init.d/v2ray restart >/dev/null 2>&1 + if [ -n "$(uci -q changes v2ray)" ]; then + uci -q commit v2ray + if [ "$(uci -q get v2ray.main.enabled)" = "1" ]; then + logger -t "OMR-VPS" "V2ray restart..." + /etc/init.d/v2ray restart >/dev/null 2>&1 + fi fi fi @@ -1718,10 +1743,12 @@ _set_config_from_vps() { uci -q set xray.omrout.s_socks_address="$vpsip" uci -q set xray.omrout.s_shadowsocks_address="$vpsip" fi - uci -q commit xray - if [ "$(uci -q get xray.main.enabled)" = "1" ] && [ -n "$(uci -q changes xray)" ]; then - logger -t "OMR-VPS" "Xray restart..." - /etc/init.d/xray restart >/dev/null 2>&1 + if [ -n "$(uci -q changes xray)" ]; then + uci -q commit xray + if [ "$(uci -q get xray.main.enabled)" = "1" ]; then + logger -t "OMR-VPS" "Xray restart..." + /etc/init.d/xray restart >/dev/null 2>&1 + fi fi fi @@ -1747,8 +1774,8 @@ _set_config_from_vps() { if [ "$(uci -q get glorytun.vpn.host)" != "127.0.0.1" ]; then uci -q set glorytun.vpn.host="$vpsip" fi - uci -q commit glorytun if [ -n "$(uci -q changes glorytun)" ]; then + uci -q commit glorytun logger -t "OMR-VPS" "Glorytun restart..." /etc/init.d/glorytun restart >/dev/null 2>&1 fi @@ -1772,8 +1799,8 @@ _set_config_from_vps() { if [ "$(uci -q get glorytun-udp.vpn.host)" != "127.0.0.1" ]; then uci -q set glorytun-udp.vpn.host="$vpsip" fi - uci -q commit glorytun-udp if [ -n "$(uci -q changes glorytun-udp)" ]; then + uci -q commit glorytun-udp logger -t "OMR-VPS" "Glorytun UDP restart..." /etc/init.d/glorytun-udp restart >/dev/null 2>&1 fi @@ -1790,20 +1817,31 @@ _set_config_from_vps() { if [ "$vpn" = "openvpn" ]; then openvpn_state=1 fi - uci -q batch <<-EOF >/dev/null - set openvpn.omr.port=$openvpn_port - set openvpn.omr.secret="/etc/luci-uploads/openvpn.key" - EOF - if [ "$openvpn_state" = "1" ]; then + config_load openvpn + config_foreach _set_openvpn_server openvpn "port" "$openvpn_port" + config_foreach _set_openvpn_server openvpn "secret" "/etc/luci-uploads/openvpn.key" + + #uci -q batch <<-EOF >/dev/null + # set openvpn.omr.port=$openvpn_port + # set openvpn.omr.secret="/etc/luci-uploads/openvpn.key" + #EOF + if [ "$(uci -q get openmptcprouter.settings.openvpn_lb)" = "0" ]; then + config_foreach _set_openvpn_server openvpn "enabled" "0" uci -q set openvpn.omr.enabled=$openvpn_state else - uci -q del openvpn.omr.enabled + config_foreach _set_openvpn_server openvpn "enabled" "$openvpn_state" fi + #if [ "$openvpn_state" = "1" ]; then + # uci -q set openvpn.omr.enabled=$openvpn_state + #else + # uci -q del openvpn.omr.enabled + #fi if [ "$(uci -q get openvpn.omr.remote)" != "127.0.0.1" ]; then - uci -q set openvpn.omr.remote="$vpsip" + config_foreach _set_openvpn_server openvpn "remote" "$vpsip" + #uci -q set openvpn.omr.remote="$vpsip" fi - uci -q commit openvpn if [ -n "$(uci -q changes openvpn)" ]; then + uci -q commit openvpn logger -t "OMR-VPS" "OpenVPN restart..." /etc/init.d/openvpn restart fi @@ -1828,21 +1866,43 @@ _set_config_from_vps() { if [ "$vpn" = "openvpn" ]; then openvpn_state=1 fi - uci -q batch <<-EOF >/dev/null - set openvpn.omr.port=$openvpn_port - set openvpn.omr.key="/etc/luci-uploads/client.key" - set openvpn.omr.cert="/etc/luci-uploads/client.crt" - set openvpn.omr.ca="/etc/luci-uploads/ca.crt" - set openvpn.omr.enabled=$openvpn_state - set openvpn.omr.tls_client=1 - set openvpn.omr.client=1 - set openvpn.omr.allow_recursive_routing=1 - EOF - if [ -z "$(uci -q get openvpn.omr.remote | grep $vpsip)" ]; then - uci -q add_list openvpn.omr.remote="$vpsip" + + NBCPU=$(grep -c '^processor' /proc/cpuinfo | tr -d "\n") + if [ "$NBCPU" -gt 1 ] && [ -z "$(uci -q get openvpn.omr2)" ]; then + [ -f /rom/etc/uci-defaults/2020-omr-vpn ] && ./rom/etc/uci-defaults/2020-omr-vpn + [ -f /usr/share/omr-update/2020-omr-vpn ] && ./usr/share/omr-update/2020-omr-vpn + fi + + config_load openvpn + if [ "$(uci -q get openmptcprouter.settings.openvpn_lb)" = "0" ]; then + config_foreach _set_openvpn_server openvpn "enabled" "0" + uci -q set openvpn.omr.enabled=$openvpn_state + else + config_foreach _set_openvpn_server openvpn "enabled" "$openvpn_state" + fi + config_foreach _set_openvpn_server openvpn "key" "/etc/luci-uploads/client.key" + config_foreach _set_openvpn_server openvpn "cert" "/etc/luci-uploads/client.crt" + config_foreach _set_openvpn_server openvpn "ca" "/etc/luci-uploads/ca.crt" + config_foreach _set_openvpn_server openvpn "tls_client" "1" + config_foreach _set_openvpn_server openvpn "client" "1" + config_foreach _set_openvpn_server openvpn "allow_recursive_routing" "1" + + #uci -q batch <<-EOF >/dev/null + # set openvpn.omr.port=$openvpn_port + # set openvpn.omr.key="/etc/luci-uploads/client.key" + # set openvpn.omr.cert="/etc/luci-uploads/client.crt" + # set openvpn.omr.ca="/etc/luci-uploads/ca.crt" + # set openvpn.omr.enabled=$openvpn_state + # set openvpn.omr.tls_client=1 + # set openvpn.omr.client=1 + # set openvpn.omr.allow_recursive_routing=1 + #EOF + if [ "$(uci -q get openvpn.omr.remote)" != "127.0.0.1" ]; then + config_foreach _set_openvpn_server openvpn "remote" "$vpsip" + #uci -q set openvpn.omr.remote="$vpsip" fi - uci -q commit openvpn if [ -n "$(uci -q changes openvpn)" ]; then + uci -q commit openvpn logger -t "OMR-VPS" "OpenVPN restart..." /etc/init.d/openvpn restart fi @@ -1864,8 +1924,8 @@ _set_config_from_vps() { if [ "$(uci -q get mlvpn.general.host)" != "127.0.0.1" ]; then uci -q set mlvpn.general.host="$vpsip" fi - uci -q commit mlvpn if [ -n "$(uci -q changes mlvpn)" ]; then + uci -q commit mlvpn logger -t "OMR-VPS" "MLVPN restart..." /etc/init.d/mlvpn restart fi @@ -1888,8 +1948,8 @@ _set_config_from_vps() { if [ "$(uci -q get dsvpn.vpn.host)" != "127.0.0.1" ]; then uci -q set dsvpn.vpn.host="$vpsip" fi - uci -q commit dsvpn if [ -n "$(uci -q changes dsvpn)" ]; then + uci -q commit dsvpn logger -t "OMR-VPS" "DSVPN restart..." /etc/init.d/dsvpn restart fi @@ -1959,9 +2019,9 @@ _set_config_from_vps() { uci -q batch <<-EOF >/dev/null set network.omr6in4.ip6addr="$omr6in4_vps_remoteip" set network.omr6in4.gateway="$omr6in4_vps_localip" - commit network EOF if [ -n "$(uci -q changes network)" ]; then + uci -q commit network /etc/init.d/network reload sleep 6 fi diff --git a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn index 789e47d21..563482be7 100755 --- a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn +++ b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn @@ -30,54 +30,6 @@ if [ "$(uci -q get network.omrvpn.txqueuelen)" = "1000" ]; then EOF fi -if [ "$(uci -q get openvpn.omr.proto)" != "tcp-client" ]; then - uci -q batch <<-EOF >/dev/null - set openvpn.omr=openvpn - set openvpn.omr.dev=tun0 - set openvpn.omr.port=65301 - set openvpn.omr.cipher=AES-256-GCM - set openvpn.omr.proto=tcp-client - set openvpn.omr.auth_nocache=1 - set openvpn.omr.client=1 - set openvpn.omr.tls_client=1 - set openvpn.omr.reneg_sec=0 - set openvpn.omr.allow_recursive_routing=1 - set openvpn.omr.sndbuf=0 - set openvpn.omr.rcvbuf=0 - set openvpn.omr.route_delay=5 - set openvpn.omr.disable_dco=1 - set openvpn.omr.ping_restart=60 - commit openvpn - EOF -fi -if [ -z "$(uci -q get openvpn.omr.disable_dco)" ]; then - uci -q batch <<-EOF >/dev/null - set openvpn.omr.disable_dco=1 - commit openvpn - EOF -fi -if [ -z "$(uci -q get openvpn.omr.ping_restart)" ]; then - uci -q batch <<-EOF >/dev/null - set openvpn.omr.ping_restart=60 - commit openvpn - EOF -fi -if [ -z "$(uci -q get openvpn.omr.tun_mtu)" ]; then - uci -q batch <<-EOF >/dev/null - set openvpn.omr.tun_mtu=1420 - commit openvpn - EOF -fi - - -uci -q delete openvpn.omr.secret -uci -q delete openvpn.omr.ncp_disable=0 - -#if [ "$(uci -q get openvpn.omr.com_lzo)" = "" ]; then -# uci -q batch <<-EOF >/dev/null -# set openvpn.omr.comp_lzo=adaptive -# EOF -#fi if [ "$(uci -q get ipsec.ipsec.password)" = "myvpn" ]; then uci -q batch <<-EOF >/dev/null set ipsec.ipsec.enabled='0' @@ -86,6 +38,7 @@ if [ "$(uci -q get ipsec.ipsec.password)" = "myvpn" ]; then chmod u+x /etc/init.d/ipsec fi + if [ "$(uci -q get dsvpn.vpn)" = "" ]; then uci -q batch <<-EOF >/dev/null set dsvpn.vpn=dsvpn @@ -185,5 +138,69 @@ if [ "$(uci -q get openmptcprouter.settings.vpn)" = "" ]; then EOF fi +if [ "$(uci -q get openvpn.omr.proto)" != "tcp-client" ] || [ -z "$(uci -q get openvpn.omr.disable_dco)" ] || [ -z "$(uci -q get openvpn.omr.ping_restart)" ] || [ -z "$(uci -q get openvpn.omr.tun_mtu)" ]; then + uci -q batch <<-EOF >/dev/null + set openvpn.omr=openvpn + set openvpn.omr.dev=tun0 + set openvpn.omr.port=65301 + set openvpn.omr.cipher=AES-256-GCM + set openvpn.omr.proto=tcp-client + set openvpn.omr.auth_nocache=1 + set openvpn.omr.client=1 + set openvpn.omr.tls_client=1 + set openvpn.omr.reneg_sec=0 + set openvpn.omr.allow_recursive_routing=1 + set openvpn.omr.sndbuf=0 + set openvpn.omr.rcvbuf=0 + set openvpn.omr.route_delay=5 + set openvpn.omr.disable_dco=1 + set openvpn.omr.ping_restart=60 + set openvpn.omr.tun_mtu=1420 + delete openvpn.omr.secret + delete openvpn.omr.ncp_disable=0 + commit openvpn + EOF +fi +NBCPU=$(grep -c '^processor' /proc/cpuinfo | tr -d "\n") +if [ "$NBCPU" -gt 1 ] && [ -z "$(uci -q get openvpn.omr2)" ]; then + [ "$NBCPU" -gt 4 ] && NBCPU=4 + for c in $(seq 2 $NBCPU); do + uci -q batch <<-EOF >/dev/null + set openvpn.omr$c=openvpn + set openvpn.omr$c.dev=tun$((c-1)) + set openvpn.omr$c.port=65301 + set openvpn.omr$c.cipher=AES-256-GCM + set openvpn.omr$c.proto=tcp-client + set openvpn.omr$c.auth_nocache=1 + set openvpn.omr$c.client=1 + set openvpn.omr$c.tls_client=1 + set openvpn.omr$c.reneg_sec=0 + set openvpn.omr$c.allow_recursive_routing=1 + set openvpn.omr$c.sndbuf=0 + set openvpn.omr$c.rcvbuf=0 + set openvpn.omr$c.route_delay=5 + set openvpn.omr$c.disable_dco=1 + set openvpn.omr$c.ping_restart=60 + set openvpn.omr$c.tun_mtu=1420 + del_list firewall.zone_vpn.device=tun$((c-1)) + add_list firewall.zone_vpn.device=tun$((c-1)) + EOF + done + uci -q commit openvpn + uci -q commit firewall + uci set -q openmptcprouter.vps.get_config="1" + uci -q commit openmptcprouter +fi + + +# This must not be enabled, this break everything +#if [ "$(uci -q get openvpn.omr.com_lzo)" = "" ]; then +# uci -q batch <<-EOF >/dev/null +# set openvpn.omr.comp_lzo=adaptive +# EOF +#fi + + + rm -f /tmp/luci-indexcache exit 0 From d14c473e7dd57989ead43ff75a261ac399d8d4e9 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 18 Dec 2024 16:56:13 +0100 Subject: [PATCH 085/199] Add support for apk in default config --- .../files/etc/uci-defaults/2093-opkg | 48 +++++++++++++------ 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/2093-opkg b/openmptcprouter/files/etc/uci-defaults/2093-opkg index 4cad586db..cded7f80a 100755 --- a/openmptcprouter/files/etc/uci-defaults/2093-opkg +++ b/openmptcprouter/files/etc/uci-defaults/2093-opkg @@ -1,19 +1,37 @@ #!/bin/sh source /etc/os-release if [ "$ID" = "openmptcprouter" ]; then - cat > "/etc/opkg/customfeeds.conf" <<-EOF - src/gz openwrt_luci https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/luci - src/gz openwrt_packages https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/packages - src/gz openwrt_base https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/base - src/gz openwrt_routing https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/routing - src/gz openwrt_telephony https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/telephony - EOF - TARGET="$(cat /etc/banner | awk '/TARGET/ {print $2}')" - cat > "/etc/opkg/distfeeds.conf" <<-EOF - src/gz openmptcprouter_core https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/targets/${OPENWRT_BOARD}/packages - src/gz openmptcprouter_base https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/base - src/gz openmptcprouter_luci https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/luci - src/gz openmptcprouter_openmptcprouter https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/openmptcprouter - src/gz openmptcprouter_packages https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/packages - EOF + if [ -f /etc/opkg/customfeeds.conf ]; then + cat > "/etc/opkg/customfeeds.conf" <<-EOF + src/gz openwrt_luci https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/luci + src/gz openwrt_packages https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/packages + src/gz openwrt_base https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/base + src/gz openwrt_routing https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/routing + src/gz openwrt_telephony https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/telephony + EOF + TARGET="$(cat /etc/banner | awk '/TARGET/ {print $2}')" + cat > "/etc/opkg/distfeeds.conf" <<-EOF + src/gz openmptcprouter_core https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/targets/${OPENWRT_BOARD}/packages + src/gz openmptcprouter_base https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/base + src/gz openmptcprouter_luci https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/luci + src/gz openmptcprouter_openmptcprouter https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/openmptcprouter + src/gz openmptcprouter_packages https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/packages + EOF + elif [ -f /etc/apk/repositories.d/distfeeds.list ]; then + cat > "/etc/apk/repositories.d/customfeeds.list" <<-EOF + https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/luci/packages.adb + https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/packages/packages.adb + https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/base/packages.adb + https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/routing/packages.adb + https://packages.openmptcprouter.com/${VERSION_ID}/${OPENWRT_ARCH}/telephony/packages.adb + EOF + TARGET="$(cat /etc/banner | awk '/TARGET/ {print $2}')" + cat > "/etc/apk/repositories.d/distfeeds.list" <<-EOF + https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/targets/${OPENWRT_BOARD}/packages/packages.adb + https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/base/packages.adb + https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/luci/packages.adb + https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/openmptcprouter/packages.adb + https://download.openmptcprouter.com/release/${VERSION_ID}/${TARGET}/packages/${OPENWRT_ARCH}/packages/packages.adb + EOF + fi fi \ No newline at end of file From 1f793f461261ad11323a52311b0ebc494cc549fc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 19 Dec 2024 11:24:31 +0100 Subject: [PATCH 086/199] Disable OpenVPN multi process by default for now --- openmptcprouter/files/etc/uci-defaults/2020-omr-vpn | 1 + 1 file changed, 1 insertion(+) diff --git a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn index 563482be7..513eed491 100755 --- a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn +++ b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn @@ -189,6 +189,7 @@ if [ "$NBCPU" -gt 1 ] && [ -z "$(uci -q get openvpn.omr2)" ]; then uci -q commit openvpn uci -q commit firewall uci set -q openmptcprouter.vps.get_config="1" + uci -q set openmptcprouter.settings.openvpn_lb="0" uci -q commit openmptcprouter fi From 8b39370e9b057d2f88467bdc3a270755e2fd3e28 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 19 Dec 2024 16:21:18 +0100 Subject: [PATCH 087/199] Use same script for omr-test-speed and omr-test-speedv6. Check if the path answer else try another server --- openmptcprouter/files/bin/omr-test-speed | 211 +++++++++++++++++---- openmptcprouter/files/bin/omr-test-speedv6 | 80 +------- 2 files changed, 170 insertions(+), 121 deletions(-) mode change 100755 => 120000 openmptcprouter/files/bin/omr-test-speedv6 diff --git a/openmptcprouter/files/bin/omr-test-speed b/openmptcprouter/files/bin/omr-test-speed index e5ccadc34..11b4f6d14 100755 --- a/openmptcprouter/files/bin/omr-test-speed +++ b/openmptcprouter/files/bin/omr-test-speed @@ -1,6 +1,11 @@ #!/bin/sh -# (c) Yannick Chabanois (ycarus@zugaina.org) for OpenMPTCProuter # +# Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# This script test global or interface speed # FORCEVPS=false @@ -15,26 +20,174 @@ for i in $@; do :; done INTERFACE="$i" [ "$INTERFACE" = "forcevps" ] || [ "$INTERFACE" = "fasttest" ] && INTERFACE="" +IPV6=false +if [ "$(basename $0)" = "omr-test-speedv6" ]; then + IPV6=true +fi + [ -n "$INTERFACE" ] && [ ! -d "/sys/class/net/$INTERFACE" ] && { echo "You must use a real interface. You wan find them using 'ip a' for example (not $INTERFACE)" exit 0 } -[ "$FASTTEST" = true ] || echo "Select best test server..." HOSTLST="http://scaleway.testdebit.info/10G.iso http://bordeaux.testdebit.info/10G.iso http://aix-marseille.testdebit.info/10G.iso http://lyon.testdebit.info/10G.iso http://lille.testdebit.info/10G.iso http://paris.testdebit.info/10G.iso http://appliwave.testdebit.info/10G/10G.iso http://speedtest.frankfurt.linode.com/garbage.php?ckSize=10000 http://speedtest.tokyo2.linode.com/garbage.php?ckSize=10000 http://speedtest.singapore.linode.com/garbage.php?ckSize=10000 http://speedtest.newark.linode.com/garbage.php?ckSize=10000 http://speedtest.atlanta.linode.com/garbage.php?ckSize=10000 http://speedtest.dallas.linode.com/garbage.php?ckSize=10000 http://speedtest.fremont.linode.com/garbage.php?ckSize=10000 http://ipv4.bouygues.testdebit.info/10G.iso http://par.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://ams.download.datapacket.com/10000mb.bin http://fra.download.datapacket.com/10000mb.bin http://lon.download.datapacket.com/10000mb.bin http://mad.download.datapacket.com/10000mb.bin http://prg.download.datapacket.com/10000mb.bin http://sto.download.datapacket.com/10000mb.bin http://vie.download.datapacket.com/10000mb.bin http://war.download.datapacket.com/10000mb.bin http://atl.download.datapacket.com/10000mb.bin http://chi.download.datapacket.com/10000mb.bin http://lax.download.datapacket.com/10000mb.bin http://mia.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://speedtest.milkywan.fr/files/10G.iso" -bestping="9999" -for pinghost in $HOSTLST; do - domain=$(echo $pinghost | awk -F/ '{print $3}') - if [ -z "$INTERFACE" ] || [ "$FORCEVPS" = true ]; then - ping=$(ping -4 -c1 -w2 $domain | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') +HOSTLST6="http://scaleway.testdebit.info/10G.iso http://bordeaux.testdebit.info/10G.iso http://aix-marseille.testdebit.info/10G.iso http://lyon.testdebit.info/10G.iso http://lille.testdebit.info/10G.iso http://paris.testdebit.info/10G.iso http://appliwave.testdebit.info/10G/10G.iso http://speedtest.frankfurt.linode.com/garbage.php?ckSize=10000 http://speedtest.tokyo2.linode.com/garbage.php?ckSize=10000 http://speedtest.singapore.linode.com/garbage.php?ckSize=10000 http://speedtest.newark.linode.com/garbage.php?ckSize=10000 http://speedtest.atlanta.linode.com/garbage.php?ckSize=10000 http://speedtest.dallas.linode.com/garbage.php?ckSize=10000 http://speedtest.fremont.linode.com/garbage.php?ckSize=10000 http://ipv6.bouygues.testdebit.info/10G.iso http://par.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://ams.download.datapacket.com/10000mb.bin http://fra.download.datapacket.com/10000mb.bin http://lon.download.datapacket.com/10000mb.bin http://mad.download.datapacket.com/10000mb.bin http://prg.download.datapacket.com/10000mb.bin http://sto.download.datapacket.com/10000mb.bin http://vie.download.datapacket.com/10000mb.bin http://war.download.datapacket.com/10000mb.bin http://atl.download.datapacket.com/10000mb.bin http://chi.download.datapacket.com/10000mb.bin http://lax.download.datapacket.com/10000mb.bin http://mia.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://speedtest.milkywan.fr/files/10G.iso" + +select_server() { + [ "$FASTTEST" = true ] || echo "Select best test server..." + bestping="9999" + if [ "$IPV6" = true ]; then + for pinghost in $HOSTLST6; do + domain=$(echo $pinghost | awk -F/ '{print $3}') + if [ -z "$INTERFACE" ] || [ "$FORCEVPS" = true ]; then + ping=$(ping -6 -c1 -w2 $domain | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') + else + ping=$(ping -6 -c1 -w2 -I $INTERFACE -B $domain | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') + fi + [ "$FASTTEST" = true ] || echo "host: $domain - ping: $ping" + if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then + bestping=$ping + HOST=$pinghost + fi + done else - ping=$(ping -4 -c1 -w2 -I $INTERFACE -B $domain | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') + for pinghost in $HOSTLST; do + domain=$(echo $pinghost | awk -F/ '{print $3}') + if [ -z "$INTERFACE" ] || [ "$FORCEVPS" = true ]; then + ping=$(ping -4 -c1 -w2 $domain | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') + else + ping=$(ping -4 -c1 -w2 -I $INTERFACE -B $domain | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') + fi + [ "$FASTTEST" = true ] || echo "host: $domain - ping: $ping" + if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then + bestping=$ping + HOST=$pinghost + fi + done fi - [ "$FASTTEST" = true ] || echo "host: $domain - ping: $ping" - if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then - bestping=$ping - HOST=$pinghost +} + +get_speed_global() { + HOST=$1 + if [ "$IPV6" = true ]; then + curl -6 -o /dev/null $HOST || echo + else + curl -4 -o /dev/null $HOST || echo fi +} + +get_speed_global_fast() { + HOST=$1 + if [ "$IPV6" = true ]; then + avg_speed=$(curl -6 --max-time 10 -o /dev/null -qfsS -w '%{speed_download}' $HOST 2>/dev/null) + else + avg_speed=$(curl -4 --max-time 10 -o /dev/null -qfsS -w '%{speed_download}' $HOST 2>/dev/null) + fi + echo "$avg_speed" +} + +bypass_host_enable() { + INTERFACE=$1 + HOST=$2 + [ -n "$(tc qdisc show dev $INTERFACE | grep ingress)" ] && /etc/init.d/sqm stop $INTERFACE + domain=$(echo $HOST | awk -F/ '{print $3}') + if [ "$IPV6" = true ]; then + hostip=$(dig +nocmd +noall +answer AAAA $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') + if [ -n "$(ipset list 2>/dev/null | grep ss_rules6)" ]; then + for ip in $hostip; do + ipset add ss_rules6_dst_bypass_all $ip + done + fi + if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_6 2>/dev/null)" ]; then + for ip in $hostip; do + nft add element inet fw4 omr_dst_bypass_all_6 { $ip } >/dev/null 2>&1 + done + fi + else + hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') + if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then + for ip in $hostip; do + ipset add ss_rules_dst_bypass_all $ip + done + fi + if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_4 2>/dev/null)" ]; then + for ip in $hostip; do + nft add element inet fw4 omr_dst_bypass_all_4 { $ip } >/dev/null 2>&1 + done + fi + fi +} + + +bypass_host_disable() { + INTERFACE=$1 + HOST=$2 + domain=$(echo $HOST | awk -F/ '{print $3}') + if [ "$IPV6" = true ]; then + hostip=$(dig +nocmd +noall +answer AAAA $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') + if [ -n "$(ipset list 2>/dev/null | grep ss_rules6)" ]; then + for ip in $hostip; do + ipset del ss_rules6_dst_bypass_all $ip + done + fi + if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_6 2>/dev/null)" ]; then + for ip in $hostip; do + nft delete element inet fw4 omr_dst_bypass_all_6 { $ip } >/dev/null 2>&1 + done + fi + else + hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') + if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then + for ip in $hostip; do + ipset del ss_rules_dst_bypass_all $ip + done + fi + if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_4 2>/dev/null)" ]; then + for ip in $hostip; do + nft delete element inet fw4 omr_dst_bypass_all_4 { $ip } >/dev/null 2>&1 + done + fi + fi + /etc/init.d/sqm start $INTERFACE +} + +get_speed_interface() { + INTERFACE=$1 + HOST=$2 + bypass_host_enable $INTERFACE $HOST + if [ "$IPV6" = true ]; then + curl -6 -o /dev/null --interface $INTERFACE $HOST || echo + else + curl -4 -o /dev/null --interface $INTERFACE $HOST || echo + fi + bypass_host_disable $INTERFACE $HOST +} + +get_speed_interface_fast() { + INTERFACE=$1 + HOST=$2 + bypass_host_enable $INTERFACE $HOST + if [ "$IPV6" = true ]; then + avg_speed=$(curl -6 --max-time 10 -o /dev/null -qfsS -w '%{speed_download}' --interface $INTERFACE $HOST 2>/dev/null) + else + avg_speed=$(curl -4 --max-time 10 -o /dev/null -qfsS -w '%{speed_download}' --interface $INTERFACE $HOST 2>/dev/null) + fi + echo "$avg_speed" + bypass_host_disable $INTERFACE $HOST +} + +response="000" +try=0 +while [ "$response" = "000" ] && [ "$try" -le 3 ]; do + select_server + if [ "$IPV6" = true ]; then + response=$(curl -6 --write-out '%{http_code}' --silent --head --insecure -IL --connect-timeout 5 --output /dev/null $HOST) + HOSTLST6=$(echo $HOSTLST6 | tr ' ' '\n' | grep -v "$HOST" | xargs) + else + response=$(curl -4 --write-out '%{http_code}' --silent --head --insecure -IL --connect-timeout 5 --output /dev/null $HOST) + HOSTLST=$(echo $HOSTLST | tr ' ' '\n' | grep -v "$HOST" | xargs) + fi + try=$((try+1)) done [ -z "$HOST" ] && HOST="http://speedtest.milkywan.fr/files/10G.iso" @@ -43,40 +196,14 @@ done trap : HUP INT TERM if [ -z "$INTERFACE" ]; then if [ "$FASTTEST" = true ]; then - avg_speed=$(curl -4 --max-time 10 -o /dev/null -qfsS -w '%{speed_download}' $HOST 2>/dev/null) - echo "$avg_speed" + get_speed_global_fast $HOST else - curl -4 -o /dev/null $HOST || echo + get_speed_global $HOST fi else - [ -n "$(tc qdisc show dev $INTERFACE | grep ingress)" ] && /etc/init.d/sqm stop $INTERFACE - domain=$(echo $HOST | awk -F/ '{print $3}') - hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') - if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then - for ip in $hostip; do - ipset add ss_rules_dst_bypass_all $ip - done - fi - if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_4 2>/dev/null)" ]; then - for ip in $hostip; do - nft add element inet fw4 omr_dst_bypass_all_4 { $ip } >/dev/null 2>&1 - done - fi if [ "$FASTTEST" = true ]; then - avg_speed=$(curl -4 --max-time 10 -o /dev/null -qfsS -w '%{speed_download}' --interface $INTERFACE $HOST 2>/dev/null) - echo "$avg_speed" + get_speed_interface_fast $INTERFACE $HOST else - curl -4 -o /dev/null --interface $INTERFACE $HOST || echo + get_speed_interface $INTERFACE $HOST fi - if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then - for ip in $hostip; do - ipset del ss_rules_dst_bypass_all $ip - done - fi - if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_4 2>/dev/null)" ]; then - for ip in $hostip; do - nft delete element inet fw4 omr_dst_bypass_all_4 { $ip } >/dev/null 2>&1 - done - fi - /etc/init.d/sqm start $INTERFACE fi diff --git a/openmptcprouter/files/bin/omr-test-speedv6 b/openmptcprouter/files/bin/omr-test-speedv6 deleted file mode 100755 index 792b23eca..000000000 --- a/openmptcprouter/files/bin/omr-test-speedv6 +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh -# (c) Yannick Chabanois (ycarus@zugaina.org) for OpenMPTCProuter -# -# - -FORCEVPS=false -FASTTEST=false -if [ "$1" = "forcevps" ]; then - FORCEVPS=true -fi -if [ "$1" = "fasttest" ]; then - FASTTEST=true -fi -for i in $@; do :; done -INTERFACE="$i" -[ "$INTERFACE" = "forcevps" ] || [ "$INTERFACE" = "fasttest" ] && INTERFACE="" - -[ -n "$INTERFACE" ] && [ ! -d "/sys/class/net/$INTERFACE" ] && { - echo "You must use a real interface. You wan find them using 'ip a' for example" - exit 0 -} - - -[ "$FASTTEST" = true ] || echo "Select best test server..." -HOSTLST="http://scaleway.testdebit.info/10G.iso http://bordeaux.testdebit.info/10G.iso http://aix-marseille.testdebit.info/10G.iso http://lyon.testdebit.info/10G.iso http://lille.testdebit.info/10G.iso http://paris.testdebit.info/10G.iso http://appliwave.testdebit.info/10G/10G.iso http://speedtest.frankfurt.linode.com/garbage.php?ckSize=10000 http://speedtest.tokyo2.linode.com/garbage.php?ckSize=10000 http://speedtest.singapore.linode.com/garbage.php?ckSize=10000 http://speedtest.newark.linode.com/garbage.php?ckSize=10000 http://speedtest.atlanta.linode.com/garbage.php?ckSize=10000 http://speedtest.dallas.linode.com/garbage.php?ckSize=10000 http://speedtest.fremont.linode.com/garbage.php?ckSize=10000 http://ipv6.bouygues.testdebit.info/10G.iso http://par.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://ams.download.datapacket.com/10000mb.bin http://fra.download.datapacket.com/10000mb.bin http://lon.download.datapacket.com/10000mb.bin http://mad.download.datapacket.com/10000mb.bin http://prg.download.datapacket.com/10000mb.bin http://sto.download.datapacket.com/10000mb.bin http://vie.download.datapacket.com/10000mb.bin http://war.download.datapacket.com/10000mb.bin http://atl.download.datapacket.com/10000mb.bin http://chi.download.datapacket.com/10000mb.bin http://lax.download.datapacket.com/10000mb.bin http://mia.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://speedtest.milkywan.fr/files/10G.iso" -bestping="9999" -for pinghost in $HOSTLST; do - domain=$(echo $pinghost | awk -F/ '{print $3}') - if [ -z "$INTERFACE" ] || [ "$FORCEVPS" = true ]; then - ping=$(ping -6 -c1 -w2 $domain | cut -d "/" -s -f5 | cut -d "." -f1) - else - ping=$(ping -6 -c1 -w2 -I $INTERFACE -B $domain | cut -d "/" -s -f5 | cut -d "." -f1) - fi - [ "$FASTTEST" = true ] || echo "host: $domain - ping: $ping" - if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then - bestping=$ping - HOST=$pinghost - fi -done - - -[ -z "$HOST" ] && HOST="http://speedtest.milkywan.fr/files/10G.iso" - -[ "$FASTTEST" = true ] || echo "Best server is $HOST, running test:" -trap : HUP INT TERM -if [ -z "$INTERFACE" ]; then - curl -6 $HOST >/dev/null || echo -else - /etc/init.d/sqm stop $INTERFACE - domain=$(echo $HOST | awk -F/ '{print $3}') - hostip=$(dig +nocmd +noall +answer AAAA $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') - if [ -n "$(ipset list 2>/dev/null | grep ss_rules6)" ]; then - for ip in $hostip; do - ipset add ss_rules6_dst_bypass_all $ip - done - fi - if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_6 2>/dev/null)" ]; then - for ip in $hostip; do - nft add element inet fw4 omr_dst_bypass_all_6 { $ip } >/dev/null 2>&1 - done - fi - if [ "$FASTTEST" = true ]; then - avg_speed=$(curl -6 --max-time 10 -o /dev/null -qfsS -w '%{speed_download}' --interface $INTERFACE $HOST 2>/dev/null) - echo "$avg_speed" - else - curl -6 --interface $INTERFACE $HOST >/dev/null || echo - fi - if [ -n "$(ipset list 2>/dev/null | grep ss_rules6)" ]; then - for ip in $hostip; do - ipset del ss_rules6_dst_bypass_all $ip - done - fi - if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_6 2>/dev/null)" ]; then - for ip in $hostip; do - nft delete element inet fw4 omr_dst_bypass_all_6 { $ip } >/dev/null 2>&1 - done - fi - /etc/init.d/sqm start $INTERFACE -fi diff --git a/openmptcprouter/files/bin/omr-test-speedv6 b/openmptcprouter/files/bin/omr-test-speedv6 new file mode 120000 index 000000000..6dc31bde2 --- /dev/null +++ b/openmptcprouter/files/bin/omr-test-speedv6 @@ -0,0 +1 @@ +omr-test-speed \ No newline at end of file From 7bd47e4502b399cc00ac7313672288b3ff4f6ca5 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 19 Dec 2024 16:59:43 +0100 Subject: [PATCH 088/199] Fix omr-speedtest --- openmptcprouter/files/bin/omr-speedtest | 108 ++++++++++++++++++++---- 1 file changed, 90 insertions(+), 18 deletions(-) diff --git a/openmptcprouter/files/bin/omr-speedtest b/openmptcprouter/files/bin/omr-speedtest index c71266842..7d81e4a9d 100755 --- a/openmptcprouter/files/bin/omr-speedtest +++ b/openmptcprouter/files/bin/omr-speedtest @@ -1,35 +1,107 @@ #!/bin/sh +# +# Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# This script check speed using Speedtest servers + INTERFACE="$1" + +bypass_host_enable() { + INTERFACE=$1 + HOST=$2 + [ -n "$(tc qdisc show dev $INTERFACE | grep ingress)" ] && /etc/init.d/sqm stop $INTERFACE + domain=$(echo $HOST | awk -F/ '{print $3}') + if [ "$IPV6" = true ]; then + hostip=$(dig +nocmd +noall +answer AAAA $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') + if [ -n "$(ipset list 2>/dev/null | grep ss_rules6)" ]; then + for ip in $hostip; do + ipset add ss_rules6_dst_bypass_all $ip + done + fi + if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_6 2>/dev/null)" ]; then + for ip in $hostip; do + nft add element inet fw4 omr_dst_bypass_all_6 { $ip } >/dev/null 2>&1 + done + fi + else + hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') + if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then + for ip in $hostip; do + ipset add ss_rules_dst_bypass_all $ip + done + fi + if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_4 2>/dev/null)" ]; then + for ip in $hostip; do + nft add element inet fw4 omr_dst_bypass_all_4 { $ip } >/dev/null 2>&1 + done + fi + fi +} + + +bypass_host_disable() { + INTERFACE=$1 + HOST=$2 + domain=$(echo $HOST | awk -F/ '{print $3}') + if [ "$IPV6" = true ]; then + hostip=$(dig +nocmd +noall +answer AAAA $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') + if [ -n "$(ipset list 2>/dev/null | grep ss_rules6)" ]; then + for ip in $hostip; do + ipset del ss_rules6_dst_bypass_all $ip + done + fi + if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_6 2>/dev/null)" ]; then + for ip in $hostip; do + nft delete element inet fw4 omr_dst_bypass_all_6 { $ip } >/dev/null 2>&1 + done + fi + else + hostip=$(dig +nocmd +noall +answer A $domain | grep -v CNAME | awk '{print $5}' | tr '\n' ' ') + if [ -n "$(ipset list 2>/dev/null | grep ss_rules)" ]; then + for ip in $hostip; do + ipset del ss_rules_dst_bypass_all $ip + done + fi + if [ -n "$(nft list set inet fw4 omr_dst_bypass_all_4 2>/dev/null)" ]; then + for ip in $hostip; do + nft delete element inet fw4 omr_dst_bypass_all_4 { $ip } >/dev/null 2>&1 + done + fi + fi + /etc/init.d/sqm start $INTERFACE +} + + echo "Download server list..." -wget -q -O /tmp/speedtest.lst http://c.speedtest.net/speedtest-servers-static.php +wget -q -O /tmp/speedtest.lst https://www.speedtest.net/api/js/servers bestuploadurl="" besthost="" bestpinghost="" bestping="999" echo "Select best server..." while read line; do - if [ "$(echo $line | grep url)" != "" ]; then - pinghost=$(echo $line | awk -F'"' '{print $18}' | cut -d: -f1) - host=$(echo $line | awk -F'"' '{print $18}') - uploadurl=$(echo $line | awk -F'"' '{print $2}') - ping=$(ping -c1 -w1 $pinghost | cut -d "/" -s -f5 | cut -d "." -f1) - echo -n "." - if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then - bestping=$ping - bestuploadurl=$uploadurl - besthost=$host - bestpinghost=$pinghost - fi + host=$(echo $line | jsonfilter -e '@.host') + pinghost=$(echo $host | awk -F: '{print $1}') + uploadurl=$(echo $line | jsonfilter -e '@.host') + ping=$(ping -c1 -w1 $pinghost | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') + echo -n "." + if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then + bestping=$ping + bestuploadurl=$uploadurl + besthost=$host + bestpinghost=$pinghost fi -done < /tmp/speedtest.lst +done < <(cat /tmp/speedtest.lst | jsonfilter -e '@[*]') echo echo "Done: url: $bestuploadurl - host: $besthost - ping: $bestping" echo "Download test:" if [ -z "$INTERFACE" ]; then curl -4 $besthost/speedtest/random7000x7000.jpg >/dev/null || echo else - hostip=$(dig +short $bestpinghost | tr -d "\n") - ipset add ss_rules_dst_bypass_all $hostip + bypass_host_enable $INTERFACE $bestpinghost curl -4 --interface $INTERFACE $besthost/speedtest/random7000x7000.jpg >/dev/null || echo - ipset del ss_rules_dst_bypass_all $hostip -fi \ No newline at end of file + bypass_host_disable $INTERFACE $bestpinghost +fi From 6bf803f9270870ba06ac26c15d9542183a71a056 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 19 Dec 2024 17:59:53 +0100 Subject: [PATCH 089/199] Add Upload test support to omr-speedtest --- openmptcprouter/files/bin/omr-speedtest | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/openmptcprouter/files/bin/omr-speedtest b/openmptcprouter/files/bin/omr-speedtest index 7d81e4a9d..2c3578e55 100755 --- a/openmptcprouter/files/bin/omr-speedtest +++ b/openmptcprouter/files/bin/omr-speedtest @@ -74,34 +74,50 @@ bypass_host_disable() { /etc/init.d/sqm start $INTERFACE } +if [ -f /usr/bin/v2ray ]; then + upload_file="/usr/bin/v2ray" +elif [ -f /usr/bin/xray ]; then + upload_file="/usr/bin/xray" +elif [ -f /boot/vmlinuz ]; then + upload_file="/boot/vmlinuz" +elif [ -f /bin/bash ]; then + upload_file="/bin/bash" +else + upload_file="/bin/busybox" +fi echo "Download server list..." wget -q -O /tmp/speedtest.lst https://www.speedtest.net/api/js/servers bestuploadurl="" besthost="" bestpinghost="" +sponsor="" bestping="999" echo "Select best server..." while read line; do host=$(echo $line | jsonfilter -e '@.host') pinghost=$(echo $host | awk -F: '{print $1}') - uploadurl=$(echo $line | jsonfilter -e '@.host') + url=$(echo $line | jsonfilter -e '@.url') ping=$(ping -c1 -w1 $pinghost | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') echo -n "." if [ -n "$ping" ] && [ "$ping" -lt "$bestping" ]; then bestping=$ping - bestuploadurl=$uploadurl + besturl=$url besthost=$host bestpinghost=$pinghost + sponsor=$(echo $line | jsonfilter -q -e '@.sponsor') fi done < <(cat /tmp/speedtest.lst | jsonfilter -e '@[*]') echo -echo "Done: url: $bestuploadurl - host: $besthost - ping: $bestping" +echo "Done: url: $besturl - host: $besthost - ping: $bestping - sponsor: $sponsor" echo "Download test:" if [ -z "$INTERFACE" ]; then curl -4 $besthost/speedtest/random7000x7000.jpg >/dev/null || echo else bypass_host_enable $INTERFACE $bestpinghost + echo "Download:" curl -4 --interface $INTERFACE $besthost/speedtest/random7000x7000.jpg >/dev/null || echo + echo "Upload:" + curl -4 --interface $INTERFACE -F "file=@$upload_file" $besturl >/dev/null || echo bypass_host_disable $INTERFACE $bestpinghost fi From 4457e58f5c5ac857e0b8ca43172309bbadfb3e8d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 26 Dec 2024 10:18:42 +0100 Subject: [PATCH 090/199] Update bcm27xx-utils --- bcm27xx-utils/Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bcm27xx-utils/Makefile b/bcm27xx-utils/Makefile index 04dd6b8d6..8f5d91da8 100644 --- a/bcm27xx-utils/Makefile +++ b/bcm27xx-utils/Makefile @@ -3,13 +3,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bcm27xx-utils -PKG_VERSION:=2024-04-24 +PKG_VERSION:=2024.10.25 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/raspberrypi/utils.git -PKG_SOURCE_VERSION:=451b9881b72cb994c102724b5a7d9b93f97dc315 -PKG_MIRROR_HASH:=b453976171187e0ffe7cacfdcab36cec6b5d02db8b6d978cb9afbbcafcfcff9d +PKG_SOURCE_VERSION:=6a2a6becebbc38fde34a94386457ac8210f9119b +PKG_MIRROR_HASH:=a775c7ffb9fac2d798ec8e0a4c7707eb7133cbc9c4418a1cf9434f87c42c01bb PKG_FLAGS:=nonshared PKG_BUILD_FLAGS:=no-lto @@ -46,6 +46,8 @@ define Package/bcm27xx-utils/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/eepflash.sh $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/eepmake $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kdtc $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/otpset $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/overlaycheck $(1)/usr/bin From 5a3e8ccff8c14a27dd5e80e23b45c24eac9c5ecd Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 26 Dec 2024 10:19:02 +0100 Subject: [PATCH 091/199] Fix omr-bypass --- omr-bypass/files/etc/init.d/omr-bypass-nft | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/omr-bypass/files/etc/init.d/omr-bypass-nft b/omr-bypass/files/etc/init.d/omr-bypass-nft index 2b237601f..d9e8969ae 100755 --- a/omr-bypass/files/etc/init.d/omr-bypass-nft +++ b/omr-bypass/files/etc/init.d/omr-bypass-nft @@ -919,7 +919,7 @@ start_service() { [ "$(uci -q get xray.main.enabled)" = "1" ] && _xray_rules_config - uci batch <<-EOF + uci -q batch <<-EOF set firewall.omr_bypass=include set firewall.omr_bypass.enabled='1' set firewall.omr_bypass.type='script' @@ -1022,7 +1022,6 @@ stop_service() { config_foreach _delete_firewall_rules ipset uci -q commit firewall fw4 -q restart - exit 0 } service_triggers() { From 77b7adee4998d8e257b08df57cab10ed0638b3de Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 26 Dec 2024 10:19:40 +0100 Subject: [PATCH 092/199] Fix OpenVPN multi process --- openmptcprouter/files/etc/uci-defaults/2020-omr-vpn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn index 513eed491..0374a6977 100755 --- a/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn +++ b/openmptcprouter/files/etc/uci-defaults/2020-omr-vpn @@ -182,9 +182,9 @@ if [ "$NBCPU" -gt 1 ] && [ -z "$(uci -q get openvpn.omr2)" ]; then set openvpn.omr$c.disable_dco=1 set openvpn.omr$c.ping_restart=60 set openvpn.omr$c.tun_mtu=1420 - del_list firewall.zone_vpn.device=tun$((c-1)) - add_list firewall.zone_vpn.device=tun$((c-1)) EOF + [ -z "$(uci -q get firewall.zone_vpn.device | grep tun$((c-1)))" ] && add_list firewall.zone_vpn.device=tun$((c-1)) + done uci -q commit openvpn uci -q commit firewall From 93ef6013ec7a3bf4ca24ed1638d8e3cd702c2bec Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 26 Dec 2024 18:22:19 +0100 Subject: [PATCH 093/199] Fix luci MPTCP app --- luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js index ba5b41caa..9ad55e0da 100644 --- a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js +++ b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js @@ -66,7 +66,7 @@ return L.view.extend({ o.value("ecf", "ECF"); } - if (parseFloat(boardinfo.kernel.substring(0,3)) >= "6.6") { + if (parseFloat(boardinfo.kernel.substring(0,3)) > 6) { o.load = function(section_id) { return L.resolveDefault(fs.list('/usr/share/bpf/scheduler'), []).then(L.bind(function(entries) { for (var i = 0; i < entries.length; i++) From 3406c9d66144a95d42cd5bbe91a06447ac2a4161 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 27 Dec 2024 10:54:31 +0100 Subject: [PATCH 094/199] Restart omr-bypass on reload --- omr-bypass/files/etc/init.d/omr-bypass-nft | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/omr-bypass/files/etc/init.d/omr-bypass-nft b/omr-bypass/files/etc/init.d/omr-bypass-nft index d9e8969ae..ec71b9e0c 100755 --- a/omr-bypass/files/etc/init.d/omr-bypass-nft +++ b/omr-bypass/files/etc/init.d/omr-bypass-nft @@ -1029,12 +1029,12 @@ service_triggers() { } reload_service() { - RELOAD=1 + #RELOAD=1 stop start } restart_service() { - RELOAD=1 + #RELOAD=1 stop start } From 1cc8fcd8bae919db48c81ea024e625e380551814 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 30 Dec 2024 14:39:05 +0100 Subject: [PATCH 095/199] No reload of omr-bypass when nft is used --- omr-bypass/files/etc/firewall.omr-bypass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omr-bypass/files/etc/firewall.omr-bypass b/omr-bypass/files/etc/firewall.omr-bypass index 3e7432865..cddeb689c 100644 --- a/omr-bypass/files/etc/firewall.omr-bypass +++ b/omr-bypass/files/etc/firewall.omr-bypass @@ -1,2 +1,2 @@ #!/bin/sh -[ -z "$(pgrep -f omr-bypass 2>&1 >/dev/null)" ] && logger -t "firewall.omr-bypass" "reload omr-bypass rules" && /etc/init.d/omr-bypass reload_rules +[ ! -e /usr/sbin/nft ] && [ -z "$(pgrep -f omr-bypass 2>&1 >/dev/null)" ] && logger -t "firewall.omr-bypass" "reload omr-bypass rules" && /etc/init.d/omr-bypass reload_rules From 99d1e9f2cb73424ccd79cf25e85747178ca59074 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 30 Dec 2024 19:26:48 +0100 Subject: [PATCH 096/199] Remove v2ray on r7800 --- openmptcprouter-full/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 893464121..7fbf97902 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -82,7 +82,7 @@ MY_DEPENDS := \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim luci-app-ttyd luci-mod-dashboard kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \ hwinfo (TARGET_x86||TARGET_x86_64):dmidecode kmod-bonding luci-proto-bonding luci-app-sysupgrade \ luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard kmod-crypto-lib-blake2s \ - !(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \ + !(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils !TARGET_ipq60xx:v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \ (TARGET_x86||TARGET_x86_64):kmod-mlx4-core \ !(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10||LINUX_6_11||LINUX_6_12):iptables-mod-ndpi !(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ipt-ndpi libip4tc libip6tc \ xray-core LINUX_5_4:xray-config !LINUX_5_4:xray-config-nft \ @@ -92,7 +92,7 @@ MY_DEPENDS := \ TARGET_mvebu:kmod-mwlwifi TARGET_mvebu:mwlwifi-firmware-88w8864 TARGET_mvebu:mwlwifi-firmware-88w8897 TARGET_mvebu:mwlwifi-firmware-88w8964 TARGET_mvebu:mwlwifi-firmware-88w8997 \ (LINUX_5_4&&(TARGET_x86_64||TARGET_aarch64)):kmod-tcp-bbr2 \ TARGET_x86_64:kmod-atlantic \ - !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ + !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-bkup !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ !(LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ovpn-dco-v2 lspci \ TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware \ luci-app-smartdns From 4adc71718792a2abe1318a32d9554ad820c2c507 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 2 Jan 2025 11:27:43 +0100 Subject: [PATCH 097/199] Add gl-mt6000 compilation --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b62b59ad9..22b2bca86 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000] OMR_KERNEL: [5.4, 6.6] runs-on: ubuntu-latest continue-on-error: true From 92b2e9d2d1f8a06db20492517559d0e377fa98ac Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 2 Jan 2025 15:08:34 +0100 Subject: [PATCH 098/199] Fix openmptcprouter-full makefile --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 7fbf97902..c1fdc4490 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -82,7 +82,7 @@ MY_DEPENDS := \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim luci-app-ttyd luci-mod-dashboard kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \ hwinfo (TARGET_x86||TARGET_x86_64):dmidecode kmod-bonding luci-proto-bonding luci-app-sysupgrade \ luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard kmod-crypto-lib-blake2s \ - !(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils !TARGET_ipq60xx:v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \ + !(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils !(TARGET_ipq60xx):v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \ (TARGET_x86||TARGET_x86_64):kmod-mlx4-core \ !(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10||LINUX_6_11||LINUX_6_12):iptables-mod-ndpi !(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ipt-ndpi libip4tc libip6tc \ xray-core LINUX_5_4:xray-config !LINUX_5_4:xray-config-nft \ From def156816f5999c7f76aa2673a85a70c56dd9de6 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 2 Jan 2025 17:27:15 +0100 Subject: [PATCH 099/199] Add MPTCP bpf minRTT scheduler --- mptcp-bpf-minrtt/Makefile | 50 +++ mptcp-bpf-minrtt/src/bpf_core_read.h | 484 ++++++++++++++++++++++++ mptcp-bpf-minrtt/src/bpf_tcp_helpers.h | 324 ++++++++++++++++ mptcp-bpf-minrtt/src/mptcp_bpf_minrtt.c | 167 ++++++++ openmptcprouter-full/Makefile | 2 +- 5 files changed, 1026 insertions(+), 1 deletion(-) create mode 100644 mptcp-bpf-minrtt/Makefile create mode 100644 mptcp-bpf-minrtt/src/bpf_core_read.h create mode 100644 mptcp-bpf-minrtt/src/bpf_tcp_helpers.h create mode 100644 mptcp-bpf-minrtt/src/mptcp_bpf_minrtt.c diff --git a/mptcp-bpf-minrtt/Makefile b/mptcp-bpf-minrtt/Makefile new file mode 100644 index 000000000..0c38c6ecb --- /dev/null +++ b/mptcp-bpf-minrtt/Makefile @@ -0,0 +1,50 @@ +# +# Copyright (C) 2025 Yannick Chabanois (Ycarus) for OpenMPTCProuter +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# Code from https://github.com/takehaya/mptcp-ebpf-minrtt-scheduler MIT License + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=mptcp-bpf-minrtt +PKG_VERSION:=$(LINUX_VERSION) + +PKG_BUILD_DEPENDS:=HAS_BPF_TOOLCHAIN:bpf-headers + +PKG_BUILD_PARALLEL:=1 +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME) + +PKG_MAINTAINER:=Yannick Chabanois + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/bpf_mptcp.mk +include $(INCLUDE_DIR)/nls.mk + +define Package/mptcp-bpf-minrtt + SECTION:=net + CATEGORY:=Network + TITLE:=MPTCP BPF MinRTT Scheduler + DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS) @!LINUX_5_4 +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./src/* $(PKG_BUILD_DIR)/ +endef + +define Build/Compile + $(call CompileBPF,$(PKG_BUILD_DIR)/mptcp_bpf_minrtt.c) +endef + +define Package/mptcp-bpf-minrtt/install + $(INSTALL_DIR) \ + $(1)/usr/share/bpf/scheduler + $(INSTALL_DATA) $(PKG_BUILD_DIR)/mptcp_bpf_minrtt.o $(1)/usr/share/bpf/scheduler +endef + +$(eval $(call BuildPackage,mptcp-bpf-minrtt)) diff --git a/mptcp-bpf-minrtt/src/bpf_core_read.h b/mptcp-bpf-minrtt/src/bpf_core_read.h new file mode 100644 index 000000000..1ac57bb7a --- /dev/null +++ b/mptcp-bpf-minrtt/src/bpf_core_read.h @@ -0,0 +1,484 @@ +/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ +#ifndef __BPF_CORE_READ_H__ +#define __BPF_CORE_READ_H__ + +/* + * enum bpf_field_info_kind is passed as a second argument into + * __builtin_preserve_field_info() built-in to get a specific aspect of + * a field, captured as a first argument. __builtin_preserve_field_info(field, + * info_kind) returns __u32 integer and produces BTF field relocation, which + * is understood and processed by libbpf during BPF object loading. See + * selftests/bpf for examples. + */ +enum bpf_field_info_kind { + BPF_FIELD_BYTE_OFFSET = 0, /* field byte offset */ + BPF_FIELD_BYTE_SIZE = 1, + BPF_FIELD_EXISTS = 2, /* field existence in target kernel */ + BPF_FIELD_SIGNED = 3, + BPF_FIELD_LSHIFT_U64 = 4, + BPF_FIELD_RSHIFT_U64 = 5, +}; + +/* second argument to __builtin_btf_type_id() built-in */ +enum bpf_type_id_kind { + BPF_TYPE_ID_LOCAL = 0, /* BTF type ID in local program */ + BPF_TYPE_ID_TARGET = 1, /* BTF type ID in target kernel */ +}; + +/* second argument to __builtin_preserve_type_info() built-in */ +enum bpf_type_info_kind { + BPF_TYPE_EXISTS = 0, /* type existence in target kernel */ + BPF_TYPE_SIZE = 1, /* type size in target kernel */ + BPF_TYPE_MATCHES = 2, /* type match in target kernel */ +}; + +/* second argument to __builtin_preserve_enum_value() built-in */ +enum bpf_enum_value_kind { + BPF_ENUMVAL_EXISTS = 0, /* enum value existence in kernel */ + BPF_ENUMVAL_VALUE = 1, /* enum value value relocation */ +}; + +#define __CORE_RELO(src, field, info) \ + __builtin_preserve_field_info((src)->field, BPF_FIELD_##info) + +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ +#define __CORE_BITFIELD_PROBE_READ(dst, src, fld) \ + bpf_probe_read_kernel( \ + (void *)dst, \ + __CORE_RELO(src, fld, BYTE_SIZE), \ + (const void *)src + __CORE_RELO(src, fld, BYTE_OFFSET)) +#else +/* semantics of LSHIFT_64 assumes loading values into low-ordered bytes, so + * for big-endian we need to adjust destination pointer accordingly, based on + * field byte size + */ +#define __CORE_BITFIELD_PROBE_READ(dst, src, fld) \ + bpf_probe_read_kernel( \ + (void *)dst + (8 - __CORE_RELO(src, fld, BYTE_SIZE)), \ + __CORE_RELO(src, fld, BYTE_SIZE), \ + (const void *)src + __CORE_RELO(src, fld, BYTE_OFFSET)) +#endif + +/* + * Extract bitfield, identified by s->field, and return its value as u64. + * All this is done in relocatable manner, so bitfield changes such as + * signedness, bit size, offset changes, this will be handled automatically. + * This version of macro is using bpf_probe_read_kernel() to read underlying + * integer storage. Macro functions as an expression and its return type is + * bpf_probe_read_kernel()'s return value: 0, on success, <0 on error. + */ +#define BPF_CORE_READ_BITFIELD_PROBED(s, field) ({ \ + unsigned long long val = 0; \ + \ + __CORE_BITFIELD_PROBE_READ(&val, s, field); \ + val <<= __CORE_RELO(s, field, LSHIFT_U64); \ + if (__CORE_RELO(s, field, SIGNED)) \ + val = ((long long)val) >> __CORE_RELO(s, field, RSHIFT_U64); \ + else \ + val = val >> __CORE_RELO(s, field, RSHIFT_U64); \ + val; \ +}) + +/* + * Extract bitfield, identified by s->field, and return its value as u64. + * This version of macro is using direct memory reads and should be used from + * BPF program types that support such functionality (e.g., typed raw + * tracepoints). + */ +#define BPF_CORE_READ_BITFIELD(s, field) ({ \ + const void *p = (const void *)s + __CORE_RELO(s, field, BYTE_OFFSET); \ + unsigned long long val; \ + \ + /* This is a so-called barrier_var() operation that makes specified \ + * variable "a black box" for optimizing compiler. \ + * It forces compiler to perform BYTE_OFFSET relocation on p and use \ + * its calculated value in the switch below, instead of applying \ + * the same relocation 4 times for each individual memory load. \ + */ \ + asm volatile("" : "=r"(p) : "0"(p)); \ + \ + switch (__CORE_RELO(s, field, BYTE_SIZE)) { \ + case 1: val = *(const unsigned char *)p; break; \ + case 2: val = *(const unsigned short *)p; break; \ + case 4: val = *(const unsigned int *)p; break; \ + case 8: val = *(const unsigned long long *)p; break; \ + } \ + val <<= __CORE_RELO(s, field, LSHIFT_U64); \ + if (__CORE_RELO(s, field, SIGNED)) \ + val = ((long long)val) >> __CORE_RELO(s, field, RSHIFT_U64); \ + else \ + val = val >> __CORE_RELO(s, field, RSHIFT_U64); \ + val; \ +}) + +#define ___bpf_field_ref1(field) (field) +#define ___bpf_field_ref2(type, field) (((typeof(type) *)0)->field) +#define ___bpf_field_ref(args...) \ + ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args) + +/* + * Convenience macro to check that field actually exists in target kernel's. + * Returns: + * 1, if matching field is present in target kernel; + * 0, if no matching field found. + * + * Supports two forms: + * - field reference through variable access: + * bpf_core_field_exists(p->my_field); + * - field reference through type and field names: + * bpf_core_field_exists(struct my_type, my_field). + */ +#define bpf_core_field_exists(field...) \ + __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS) + +/* + * Convenience macro to get the byte size of a field. Works for integers, + * struct/unions, pointers, arrays, and enums. + * + * Supports two forms: + * - field reference through variable access: + * bpf_core_field_size(p->my_field); + * - field reference through type and field names: + * bpf_core_field_size(struct my_type, my_field). + */ +#define bpf_core_field_size(field...) \ + __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_BYTE_SIZE) + +/* + * Convenience macro to get field's byte offset. + * + * Supports two forms: + * - field reference through variable access: + * bpf_core_field_offset(p->my_field); + * - field reference through type and field names: + * bpf_core_field_offset(struct my_type, my_field). + */ +#define bpf_core_field_offset(field...) \ + __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_BYTE_OFFSET) + +/* + * Convenience macro to get BTF type ID of a specified type, using a local BTF + * information. Return 32-bit unsigned integer with type ID from program's own + * BTF. Always succeeds. + */ +#define bpf_core_type_id_local(type) \ + __builtin_btf_type_id(*(typeof(type) *)0, BPF_TYPE_ID_LOCAL) + +/* + * Convenience macro to get BTF type ID of a target kernel's type that matches + * specified local type. + * Returns: + * - valid 32-bit unsigned type ID in kernel BTF; + * - 0, if no matching type was found in a target kernel BTF. + */ +#define bpf_core_type_id_kernel(type) \ + __builtin_btf_type_id(*(typeof(type) *)0, BPF_TYPE_ID_TARGET) + +/* + * Convenience macro to check that provided named type + * (struct/union/enum/typedef) exists in a target kernel. + * Returns: + * 1, if such type is present in target kernel's BTF; + * 0, if no matching type is found. + */ +#define bpf_core_type_exists(type) \ + __builtin_preserve_type_info(*(typeof(type) *)0, BPF_TYPE_EXISTS) + +/* + * Convenience macro to check that provided named type + * (struct/union/enum/typedef) "matches" that in a target kernel. + * Returns: + * 1, if the type matches in the target kernel's BTF; + * 0, if the type does not match any in the target kernel + */ +#define bpf_core_type_matches(type) \ + __builtin_preserve_type_info(*(typeof(type) *)0, BPF_TYPE_MATCHES) + +/* + * Convenience macro to get the byte size of a provided named type + * (struct/union/enum/typedef) in a target kernel. + * Returns: + * >= 0 size (in bytes), if type is present in target kernel's BTF; + * 0, if no matching type is found. + */ +#define bpf_core_type_size(type) \ + __builtin_preserve_type_info(*(typeof(type) *)0, BPF_TYPE_SIZE) + +/* + * Convenience macro to check that provided enumerator value is defined in + * a target kernel. + * Returns: + * 1, if specified enum type and its enumerator value are present in target + * kernel's BTF; + * 0, if no matching enum and/or enum value within that enum is found. + */ +#define bpf_core_enum_value_exists(enum_type, enum_value) \ + __builtin_preserve_enum_value(*(typeof(enum_type) *)enum_value, BPF_ENUMVAL_EXISTS) + +/* + * Convenience macro to get the integer value of an enumerator value in + * a target kernel. + * Returns: + * 64-bit value, if specified enum type and its enumerator value are + * present in target kernel's BTF; + * 0, if no matching enum and/or enum value within that enum is found. + */ +#define bpf_core_enum_value(enum_type, enum_value) \ + __builtin_preserve_enum_value(*(typeof(enum_type) *)enum_value, BPF_ENUMVAL_VALUE) + +/* + * bpf_core_read() abstracts away bpf_probe_read_kernel() call and captures + * offset relocation for source address using __builtin_preserve_access_index() + * built-in, provided by Clang. + * + * __builtin_preserve_access_index() takes as an argument an expression of + * taking an address of a field within struct/union. It makes compiler emit + * a relocation, which records BTF type ID describing root struct/union and an + * accessor string which describes exact embedded field that was used to take + * an address. See detailed description of this relocation format and + * semantics in comments to struct bpf_field_reloc in libbpf_internal.h. + * + * This relocation allows libbpf to adjust BPF instruction to use correct + * actual field offset, based on target kernel BTF type that matches original + * (local) BTF, used to record relocation. + */ +#define bpf_core_read(dst, sz, src) \ + bpf_probe_read_kernel(dst, sz, (const void *)__builtin_preserve_access_index(src)) + +/* NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. */ +#define bpf_core_read_user(dst, sz, src) \ + bpf_probe_read_user(dst, sz, (const void *)__builtin_preserve_access_index(src)) +/* + * bpf_core_read_str() is a thin wrapper around bpf_probe_read_str() + * additionally emitting BPF CO-RE field relocation for specified source + * argument. + */ +#define bpf_core_read_str(dst, sz, src) \ + bpf_probe_read_kernel_str(dst, sz, (const void *)__builtin_preserve_access_index(src)) + +/* NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. */ +#define bpf_core_read_user_str(dst, sz, src) \ + bpf_probe_read_user_str(dst, sz, (const void *)__builtin_preserve_access_index(src)) + +#define ___concat(a, b) a ## b +#define ___apply(fn, n) ___concat(fn, n) +#define ___nth(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, __11, N, ...) N + +/* + * return number of provided arguments; used for switch-based variadic macro + * definitions (see ___last, ___arrow, etc below) + */ +#define ___narg(...) ___nth(_, ##__VA_ARGS__, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) +/* + * return 0 if no arguments are passed, N - otherwise; used for + * recursively-defined macros to specify termination (0) case, and generic + * (N) case (e.g., ___read_ptrs, ___core_read) + */ +#define ___empty(...) ___nth(_, ##__VA_ARGS__, N, N, N, N, N, N, N, N, N, N, 0) + +#define ___last1(x) x +#define ___last2(a, x) x +#define ___last3(a, b, x) x +#define ___last4(a, b, c, x) x +#define ___last5(a, b, c, d, x) x +#define ___last6(a, b, c, d, e, x) x +#define ___last7(a, b, c, d, e, f, x) x +#define ___last8(a, b, c, d, e, f, g, x) x +#define ___last9(a, b, c, d, e, f, g, h, x) x +#define ___last10(a, b, c, d, e, f, g, h, i, x) x +#define ___last(...) ___apply(___last, ___narg(__VA_ARGS__))(__VA_ARGS__) + +#define ___nolast2(a, _) a +#define ___nolast3(a, b, _) a, b +#define ___nolast4(a, b, c, _) a, b, c +#define ___nolast5(a, b, c, d, _) a, b, c, d +#define ___nolast6(a, b, c, d, e, _) a, b, c, d, e +#define ___nolast7(a, b, c, d, e, f, _) a, b, c, d, e, f +#define ___nolast8(a, b, c, d, e, f, g, _) a, b, c, d, e, f, g +#define ___nolast9(a, b, c, d, e, f, g, h, _) a, b, c, d, e, f, g, h +#define ___nolast10(a, b, c, d, e, f, g, h, i, _) a, b, c, d, e, f, g, h, i +#define ___nolast(...) ___apply(___nolast, ___narg(__VA_ARGS__))(__VA_ARGS__) + +#define ___arrow1(a) a +#define ___arrow2(a, b) a->b +#define ___arrow3(a, b, c) a->b->c +#define ___arrow4(a, b, c, d) a->b->c->d +#define ___arrow5(a, b, c, d, e) a->b->c->d->e +#define ___arrow6(a, b, c, d, e, f) a->b->c->d->e->f +#define ___arrow7(a, b, c, d, e, f, g) a->b->c->d->e->f->g +#define ___arrow8(a, b, c, d, e, f, g, h) a->b->c->d->e->f->g->h +#define ___arrow9(a, b, c, d, e, f, g, h, i) a->b->c->d->e->f->g->h->i +#define ___arrow10(a, b, c, d, e, f, g, h, i, j) a->b->c->d->e->f->g->h->i->j +#define ___arrow(...) ___apply(___arrow, ___narg(__VA_ARGS__))(__VA_ARGS__) + +#define ___type(...) typeof(___arrow(__VA_ARGS__)) + +#define ___read(read_fn, dst, src_type, src, accessor) \ + read_fn((void *)(dst), sizeof(*(dst)), &((src_type)(src))->accessor) + +/* "recursively" read a sequence of inner pointers using local __t var */ +#define ___rd_first(fn, src, a) ___read(fn, &__t, ___type(src), src, a); +#define ___rd_last(fn, ...) \ + ___read(fn, &__t, ___type(___nolast(__VA_ARGS__)), __t, ___last(__VA_ARGS__)); +#define ___rd_p1(fn, ...) const void *__t; ___rd_first(fn, __VA_ARGS__) +#define ___rd_p2(fn, ...) ___rd_p1(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) +#define ___rd_p3(fn, ...) ___rd_p2(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) +#define ___rd_p4(fn, ...) ___rd_p3(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) +#define ___rd_p5(fn, ...) ___rd_p4(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) +#define ___rd_p6(fn, ...) ___rd_p5(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) +#define ___rd_p7(fn, ...) ___rd_p6(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) +#define ___rd_p8(fn, ...) ___rd_p7(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) +#define ___rd_p9(fn, ...) ___rd_p8(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) +#define ___read_ptrs(fn, src, ...) \ + ___apply(___rd_p, ___narg(__VA_ARGS__))(fn, src, __VA_ARGS__) + +#define ___core_read0(fn, fn_ptr, dst, src, a) \ + ___read(fn, dst, ___type(src), src, a); +#define ___core_readN(fn, fn_ptr, dst, src, ...) \ + ___read_ptrs(fn_ptr, src, ___nolast(__VA_ARGS__)) \ + ___read(fn, dst, ___type(src, ___nolast(__VA_ARGS__)), __t, \ + ___last(__VA_ARGS__)); +#define ___core_read(fn, fn_ptr, dst, src, a, ...) \ + ___apply(___core_read, ___empty(__VA_ARGS__))(fn, fn_ptr, dst, \ + src, a, ##__VA_ARGS__) + +/* + * BPF_CORE_READ_INTO() is a more performance-conscious variant of + * BPF_CORE_READ(), in which final field is read into user-provided storage. + * See BPF_CORE_READ() below for more details on general usage. + */ +#define BPF_CORE_READ_INTO(dst, src, a, ...) ({ \ + ___core_read(bpf_core_read, bpf_core_read, \ + dst, (src), a, ##__VA_ARGS__) \ +}) + +/* + * Variant of BPF_CORE_READ_INTO() for reading from user-space memory. + * + * NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. + */ +#define BPF_CORE_READ_USER_INTO(dst, src, a, ...) ({ \ + ___core_read(bpf_core_read_user, bpf_core_read_user, \ + dst, (src), a, ##__VA_ARGS__) \ +}) + +/* Non-CO-RE variant of BPF_CORE_READ_INTO() */ +#define BPF_PROBE_READ_INTO(dst, src, a, ...) ({ \ + ___core_read(bpf_probe_read_kernel, bpf_probe_read_kernel, \ + dst, (src), a, ##__VA_ARGS__) \ +}) + +/* Non-CO-RE variant of BPF_CORE_READ_USER_INTO(). + * + * As no CO-RE relocations are emitted, source types can be arbitrary and are + * not restricted to kernel types only. + */ +#define BPF_PROBE_READ_USER_INTO(dst, src, a, ...) ({ \ + ___core_read(bpf_probe_read_user, bpf_probe_read_user, \ + dst, (src), a, ##__VA_ARGS__) \ +}) + +/* + * BPF_CORE_READ_STR_INTO() does same "pointer chasing" as + * BPF_CORE_READ() for intermediate pointers, but then executes (and returns + * corresponding error code) bpf_core_read_str() for final string read. + */ +#define BPF_CORE_READ_STR_INTO(dst, src, a, ...) ({ \ + ___core_read(bpf_core_read_str, bpf_core_read, \ + dst, (src), a, ##__VA_ARGS__) \ +}) + +/* + * Variant of BPF_CORE_READ_STR_INTO() for reading from user-space memory. + * + * NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. + */ +#define BPF_CORE_READ_USER_STR_INTO(dst, src, a, ...) ({ \ + ___core_read(bpf_core_read_user_str, bpf_core_read_user, \ + dst, (src), a, ##__VA_ARGS__) \ +}) + +/* Non-CO-RE variant of BPF_CORE_READ_STR_INTO() */ +#define BPF_PROBE_READ_STR_INTO(dst, src, a, ...) ({ \ + ___core_read(bpf_probe_read_kernel_str, bpf_probe_read_kernel, \ + dst, (src), a, ##__VA_ARGS__) \ +}) + +/* + * Non-CO-RE variant of BPF_CORE_READ_USER_STR_INTO(). + * + * As no CO-RE relocations are emitted, source types can be arbitrary and are + * not restricted to kernel types only. + */ +#define BPF_PROBE_READ_USER_STR_INTO(dst, src, a, ...) ({ \ + ___core_read(bpf_probe_read_user_str, bpf_probe_read_user, \ + dst, (src), a, ##__VA_ARGS__) \ +}) + +/* + * BPF_CORE_READ() is used to simplify BPF CO-RE relocatable read, especially + * when there are few pointer chasing steps. + * E.g., what in non-BPF world (or in BPF w/ BCC) would be something like: + * int x = s->a.b.c->d.e->f->g; + * can be succinctly achieved using BPF_CORE_READ as: + * int x = BPF_CORE_READ(s, a.b.c, d.e, f, g); + * + * BPF_CORE_READ will decompose above statement into 4 bpf_core_read (BPF + * CO-RE relocatable bpf_probe_read_kernel() wrapper) calls, logically + * equivalent to: + * 1. const void *__t = s->a.b.c; + * 2. __t = __t->d.e; + * 3. __t = __t->f; + * 4. return __t->g; + * + * Equivalence is logical, because there is a heavy type casting/preservation + * involved, as well as all the reads are happening through + * bpf_probe_read_kernel() calls using __builtin_preserve_access_index() to + * emit CO-RE relocations. + * + * N.B. Only up to 9 "field accessors" are supported, which should be more + * than enough for any practical purpose. + */ +#define BPF_CORE_READ(src, a, ...) ({ \ + ___type((src), a, ##__VA_ARGS__) __r; \ + BPF_CORE_READ_INTO(&__r, (src), a, ##__VA_ARGS__); \ + __r; \ +}) + +/* + * Variant of BPF_CORE_READ() for reading from user-space memory. + * + * NOTE: all the source types involved are still *kernel types* and need to + * exist in kernel (or kernel module) BTF, otherwise CO-RE relocation will + * fail. Custom user types are not relocatable with CO-RE. + * The typical situation in which BPF_CORE_READ_USER() might be used is to + * read kernel UAPI types from the user-space memory passed in as a syscall + * input argument. + */ +#define BPF_CORE_READ_USER(src, a, ...) ({ \ + ___type((src), a, ##__VA_ARGS__) __r; \ + BPF_CORE_READ_USER_INTO(&__r, (src), a, ##__VA_ARGS__); \ + __r; \ +}) + +/* Non-CO-RE variant of BPF_CORE_READ() */ +#define BPF_PROBE_READ(src, a, ...) ({ \ + ___type((src), a, ##__VA_ARGS__) __r; \ + BPF_PROBE_READ_INTO(&__r, (src), a, ##__VA_ARGS__); \ + __r; \ +}) + +/* + * Non-CO-RE variant of BPF_CORE_READ_USER(). + * + * As no CO-RE relocations are emitted, source types can be arbitrary and are + * not restricted to kernel types only. + */ +#define BPF_PROBE_READ_USER(src, a, ...) ({ \ + ___type((src), a, ##__VA_ARGS__) __r; \ + BPF_PROBE_READ_USER_INTO(&__r, (src), a, ##__VA_ARGS__); \ + __r; \ +}) + +#endif + diff --git a/mptcp-bpf-minrtt/src/bpf_tcp_helpers.h b/mptcp-bpf-minrtt/src/bpf_tcp_helpers.h new file mode 100644 index 000000000..040209b83 --- /dev/null +++ b/mptcp-bpf-minrtt/src/bpf_tcp_helpers.h @@ -0,0 +1,324 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __BPF_TCP_HELPERS_H +#define __BPF_TCP_HELPERS_H + +#include +#include +#include +#include +#include + +#define BPF_STRUCT_OPS(name, args...) \ +SEC("struct_ops/"#name) \ +BPF_PROG(name, args) + +#ifndef SOL_TCP +#define SOL_TCP 6 +#endif + +#ifndef TCP_CA_NAME_MAX +#define TCP_CA_NAME_MAX 16 +#endif + +#define tcp_jiffies32 ((__u32)bpf_jiffies64()) + +struct sock_common { + unsigned char skc_state; + __u16 skc_num; +} __attribute__((preserve_access_index)); + +enum sk_pacing { + SK_PACING_NONE = 0, + SK_PACING_NEEDED = 1, + SK_PACING_FQ = 2, +}; + +struct sock { + struct sock_common __sk_common; +#define sk_state __sk_common.skc_state + int sk_sndbuf; + int sk_wmem_queued; + unsigned long sk_pacing_rate; + __u32 sk_pacing_status; /* see enum sk_pacing */ +} __attribute__((preserve_access_index)); + +struct inet_sock { + struct sock sk; +} __attribute__((preserve_access_index)); + +struct inet_connection_sock { + struct inet_sock icsk_inet; + __u8 icsk_ca_state:6, + icsk_ca_setsockopt:1, + icsk_ca_dst_locked:1; + struct { + __u8 pending; + } icsk_ack; + __u64 icsk_ca_priv[104 / sizeof(__u64)]; +} __attribute__((preserve_access_index)); + +struct request_sock { + struct sock_common __req_common; +} __attribute__((preserve_access_index)); + + +/* A single data point for our parameterized min-max tracker */ +struct minmax_sample { + __u32 t; /* time measurement was taken */ + __u32 v; /* value measured */ +} __attribute__((preserve_access_index)); + +/* State for the parameterized min-max tracker */ +struct minmax { + struct minmax_sample s[3]; +} __attribute__((preserve_access_index)); + +struct tcp_sock { + struct inet_connection_sock inet_conn; + + __u32 rcv_nxt; + __u32 snd_nxt; + __u32 snd_una; + __u32 window_clamp; + __u8 ecn_flags; + __u32 delivered; + __u32 delivered_ce; + __u32 snd_cwnd; + __u32 snd_cwnd_cnt; + __u32 snd_cwnd_clamp; + __u32 snd_ssthresh; + __u8 syn_data:1, /* SYN includes data */ + syn_fastopen:1, /* SYN includes Fast Open option */ + syn_fastopen_exp:1,/* SYN includes Fast Open exp. option */ + syn_fastopen_ch:1, /* Active TFO re-enabling probe */ + syn_data_acked:1,/* data in SYN is acked by SYN-ACK */ + save_syn:1, /* Save headers of SYN packet */ + is_cwnd_limited:1,/* forward progress limited by snd_cwnd? */ + syn_smc:1; /* SYN includes SMC */ + __u32 max_packets_out; + __u32 lsndtime; + __u32 prior_cwnd; + + // add epe-custom from origin tcp_sock + __u16 advmss; /* Advertised MSS */ + __u32 write_seq; /* Tail(+1) of data held in tcp send buffer */ + /* RTT measurement */ + __u64 tcp_mstamp; /* most recent packet received/sent */ + __u32 srtt_us; /* smoothed round trip time << 3 in usecs */ + __u32 mdev_us; /* medium deviation */ + __u32 mdev_max_us; /* maximal mdev for the last rtt period */ + __u32 rttvar_us; /* smoothed mdev_max */ + __u32 rtt_seq; /* sequence number to update rttvar */ + struct minmax rtt_min; + __u32 rto_stamp; /* Start time (ms) of last CA_Loss recovery */ + __u16 total_rto; /* Total number of RTO timeouts, including + * SYN/SYN-ACK and recurring timeouts. + */ + __u16 total_rto_recoveries; /* Total number of RTO recoveries, + * including any unfinished recovery. + */ + __u32 total_rto_time; /* ms spent in (completed) RTO recoveries. */ + bool is_mptcp; +} __attribute__((preserve_access_index)); + + +static inline __u32 minmax_get(const struct minmax *m) +{ + return m->s[0].v; +} + +/* Minimum RTT in usec. ~0 means not available. */ +static inline __u32 tcp_min_rtt(const struct tcp_sock *tp) +{ + return minmax_get(&tp->rtt_min); +} + +static __always_inline struct inet_connection_sock *inet_csk(const struct sock *sk) +{ + return (struct inet_connection_sock *)sk; +} + +static __always_inline void *inet_csk_ca(const struct sock *sk) +{ + return (void *)inet_csk(sk)->icsk_ca_priv; +} + +static __always_inline struct tcp_sock *tcp_sk(const struct sock *sk) +{ + return (struct tcp_sock *)sk; +} + +static __always_inline bool before(__u32 seq1, __u32 seq2) +{ + return (__s32)(seq1-seq2) < 0; +} +#define after(seq2, seq1) before(seq1, seq2) + +#define TCP_ECN_OK 1 +#define TCP_ECN_QUEUE_CWR 2 +#define TCP_ECN_DEMAND_CWR 4 +#define TCP_ECN_SEEN 8 + +enum inet_csk_ack_state_t { + ICSK_ACK_SCHED = 1, + ICSK_ACK_TIMER = 2, + ICSK_ACK_PUSHED = 4, + ICSK_ACK_PUSHED2 = 8, + ICSK_ACK_NOW = 16 /* Send the next ACK immediately (once) */ +}; + +enum tcp_ca_event { + CA_EVENT_TX_START = 0, + CA_EVENT_CWND_RESTART = 1, + CA_EVENT_COMPLETE_CWR = 2, + CA_EVENT_LOSS = 3, + CA_EVENT_ECN_NO_CE = 4, + CA_EVENT_ECN_IS_CE = 5, +}; + +struct ack_sample { + __u32 pkts_acked; + __s32 rtt_us; + __u32 in_flight; +} __attribute__((preserve_access_index)); + +struct rate_sample { + __u64 prior_mstamp; /* starting timestamp for interval */ + __u32 prior_delivered; /* tp->delivered at "prior_mstamp" */ + __s32 delivered; /* number of packets delivered over interval */ + long interval_us; /* time for tp->delivered to incr "delivered" */ + __u32 snd_interval_us; /* snd interval for delivered packets */ + __u32 rcv_interval_us; /* rcv interval for delivered packets */ + long rtt_us; /* RTT of last (S)ACKed packet (or -1) */ + int losses; /* number of packets marked lost upon ACK */ + __u32 acked_sacked; /* number of packets newly (S)ACKed upon ACK */ + __u32 prior_in_flight; /* in flight before this ACK */ + bool is_app_limited; /* is sample from packet with bubble in pipe? */ + bool is_retrans; /* is sample from retransmission? */ + bool is_ack_delayed; /* is this (likely) a delayed ACK? */ +} __attribute__((preserve_access_index)); + +#define TCP_CA_NAME_MAX 16 +#define TCP_CONG_NEEDS_ECN 0x2 + +struct tcp_congestion_ops { + char name[TCP_CA_NAME_MAX]; + __u32 flags; + + /* initialize private data (optional) */ + void (*init)(struct sock *sk); + /* cleanup private data (optional) */ + void (*release)(struct sock *sk); + + /* return slow start threshold (required) */ + __u32 (*ssthresh)(struct sock *sk); + /* do new cwnd calculation (required) */ + void (*cong_avoid)(struct sock *sk, __u32 ack, __u32 acked); + /* call before changing ca_state (optional) */ + void (*set_state)(struct sock *sk, __u8 new_state); + /* call when cwnd event occurs (optional) */ + void (*cwnd_event)(struct sock *sk, enum tcp_ca_event ev); + /* call when ack arrives (optional) */ + void (*in_ack_event)(struct sock *sk, __u32 flags); + /* new value of cwnd after loss (required) */ + __u32 (*undo_cwnd)(struct sock *sk); + /* hook for packet ack accounting (optional) */ + void (*pkts_acked)(struct sock *sk, const struct ack_sample *sample); + /* override sysctl_tcp_min_tso_segs */ + __u32 (*min_tso_segs)(struct sock *sk); + /* returns the multiplier used in tcp_sndbuf_expand (optional) */ + __u32 (*sndbuf_expand)(struct sock *sk); + /* call when packets are delivered to update cwnd and pacing rate, + * after all the ca_state processing. (optional) + */ + void (*cong_control)(struct sock *sk, const struct rate_sample *rs); + void *owner; +}; + +#define min(a, b) ((a) < (b) ? (a) : (b)) +#define max(a, b) ((a) > (b) ? (a) : (b)) +#define min_not_zero(x, y) ({ \ + typeof(x) __x = (x); \ + typeof(y) __y = (y); \ + __x == 0 ? __y : ((__y == 0) ? __x : min(__x, __y)); }) + +static __always_inline bool tcp_in_slow_start(const struct tcp_sock *tp) +{ + return tp->snd_cwnd < tp->snd_ssthresh; +} + +static __always_inline bool tcp_is_cwnd_limited(const struct sock *sk) +{ + const struct tcp_sock *tp = tcp_sk(sk); + + /* If in slow start, ensure cwnd grows to twice what was ACKed. */ + if (tcp_in_slow_start(tp)) + return tp->snd_cwnd < 2 * tp->max_packets_out; + + return !!BPF_CORE_READ_BITFIELD(tp, is_cwnd_limited); +} + +static __always_inline bool tcp_cc_eq(const char *a, const char *b) +{ + int i; + + for (i = 0; i < TCP_CA_NAME_MAX; i++) { + if (a[i] != b[i]) + return false; + if (!a[i]) + break; + } + + return true; +} + +extern __u32 tcp_slow_start(struct tcp_sock *tp, __u32 acked) __ksym; +extern void tcp_cong_avoid_ai(struct tcp_sock *tp, __u32 w, __u32 acked) __ksym; + +#define MPTCP_SCHED_NAME_MAX 16 +#define MPTCP_SUBFLOWS_MAX 8 + +struct mptcp_subflow_context { + unsigned long avg_pacing_rate; + __u32 backup : 1; + __u8 stale_count; + struct sock *tcp_sock; /* tcp sk backpointer */ +} __attribute__((preserve_access_index)); + +struct mptcp_sched_data { + bool reinject; + __u8 subflows; +} __attribute__((preserve_access_index)); + +struct mptcp_sock { + struct inet_connection_sock sk; + + __u64 snd_nxt; + int snd_burst; + __u32 token; + struct sock *first; + char ca_name[TCP_CA_NAME_MAX]; +} __attribute__((preserve_access_index)); + +struct mptcp_sched_ops { + char name[MPTCP_SCHED_NAME_MAX]; + + void (*init)(struct mptcp_sock *msk); + void (*release)(struct mptcp_sock *msk); + + int (*get_subflow)(struct mptcp_sock *msk, + struct mptcp_sched_data *data); + void *owner; +}; + +extern void mptcp_subflow_set_scheduled(struct mptcp_subflow_context *subflow, + bool scheduled) __ksym; +extern struct mptcp_subflow_context * +bpf_mptcp_subflow_ctx_by_pos(const struct mptcp_sched_data *data, unsigned int pos) __ksym; +static __always_inline struct sock * +mptcp_subflow_tcp_sock(const struct mptcp_subflow_context *subflow) +{ + return subflow->tcp_sock; +} + +#endif diff --git a/mptcp-bpf-minrtt/src/mptcp_bpf_minrtt.c b/mptcp-bpf-minrtt/src/mptcp_bpf_minrtt.c new file mode 100644 index 000000000..0d25bb3b7 --- /dev/null +++ b/mptcp-bpf-minrtt/src/mptcp_bpf_minrtt.c @@ -0,0 +1,167 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2023, SUSE. */ + +#include +#include +#include "bpf_tcp_helpers.h" + +char _license[] SEC("license") = "GPL"; + +#define MPTCP_SEND_minrtt_SIZE 65428 + +struct subflow_send_info { + __u8 subflow_id; + __u64 linger_time; +}; + +extern bool mptcp_subflow_active(struct mptcp_subflow_context *subflow) __ksym; +extern void mptcp_set_timeout(struct sock *sk) __ksym; +extern __u64 mptcp_wnd_end(const struct mptcp_sock *msk) __ksym; +extern bool tcp_stream_memory_free(const struct sock *sk, int wake) __ksym; +extern bool bpf_mptcp_subflow_queues_empty(struct sock *sk) __ksym; +extern void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk) __ksym; + +#define SSK_MODE_ACTIVE 0 +#define SSK_MODE_BACKUP 1 +#define SSK_MODE_MAX 2 + +static __always_inline bool __sk_stream_memory_free(const struct sock *sk, int wake) +{ + if (sk->sk_wmem_queued >= sk->sk_sndbuf) + return false; + + return tcp_stream_memory_free(sk, wake); +} + +static __always_inline bool sk_stream_memory_free(const struct sock *sk) +{ + return __sk_stream_memory_free(sk, 0); +} + +SEC("struct_ops/mptcp_sched_minrtt_init") +void BPF_PROG(mptcp_sched_minrtt_init, struct mptcp_sock *msk) +{ + bpf_printk("load mptcp_sched_minrtt_init \n"); +} + +SEC("struct_ops/mptcp_sched_minrtt_release") +void BPF_PROG(mptcp_sched_minrtt_release, struct mptcp_sock *msk) +{ +} + +static int bpf_minrtt_get_send(struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + struct mptcp_subflow_context *subflow; + struct sock *sk = (struct sock *)msk; + __u32 selected_minrtt = 0; + __u32 selected_subflow_id = 0; + __u32 minrtt = 0; + __u64 linger_time; + struct sock *ssk; + int i; + + for (i = 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) { + subflow = bpf_mptcp_subflow_ctx_by_pos(data, i); + if (!subflow) + break; + + ssk = mptcp_subflow_tcp_sock(subflow); + if (!mptcp_subflow_active(subflow)) + continue; + + const struct tcp_sock *tp = bpf_skc_to_tcp_sock(ssk); + if (!tp){ + continue; + } + + minrtt = tp->srtt_us; + if (minrtt < selected_minrtt || (selected_minrtt == 0 && selected_subflow_id == 0)){ + selected_minrtt = tp->srtt_us; + selected_subflow_id = i; + } + } + mptcp_set_timeout(sk); + + subflow = bpf_mptcp_subflow_ctx_by_pos(data, selected_subflow_id); + if (!subflow){ + return -1; + } + +out: + mptcp_subflow_set_scheduled(subflow, true); + return 0; +} +static __always_inline bool tcp_write_queue_empty(struct sock *sk) +{ + const struct tcp_sock *tp = bpf_skc_to_tcp_sock(sk); + return tp ? tp->write_seq == tp->snd_nxt : true; +} + +static __always_inline bool tcp_rtx_and_write_queues_empty(struct sock *sk) +{ + return bpf_mptcp_subflow_queues_empty(sk) && tcp_write_queue_empty(sk); +} +static int bpf_burst_get_retrans(struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + int backup = MPTCP_SUBFLOWS_MAX, pick = MPTCP_SUBFLOWS_MAX, subflow_id; + struct mptcp_subflow_context *subflow; + int min_stale_count = INT_MAX; + struct sock *ssk; + + for (int i = 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) { + subflow = bpf_mptcp_subflow_ctx_by_pos(data, i); + if (!subflow) + break; + + if (!mptcp_subflow_active(subflow)) + continue; + + ssk = mptcp_subflow_tcp_sock(subflow); + /* still data outstanding at TCP level? skip this */ + if (!tcp_rtx_and_write_queues_empty(ssk)) { + mptcp_pm_subflow_chk_stale(msk, ssk); + min_stale_count = min(min_stale_count, subflow->stale_count); + continue; + } + + if (subflow->backup) { + if (backup == MPTCP_SUBFLOWS_MAX) + backup = i; + continue; + } + + if (pick == MPTCP_SUBFLOWS_MAX) + pick = i; + } + + if (pick < MPTCP_SUBFLOWS_MAX) { + subflow_id = pick; + goto out; + } + subflow_id = min_stale_count > 1 ? backup : MPTCP_SUBFLOWS_MAX; + +out: + subflow = bpf_mptcp_subflow_ctx_by_pos(data, subflow_id); + if (!subflow) + return -1; + mptcp_subflow_set_scheduled(subflow, true); + return 0; +} + +int BPF_STRUCT_OPS(bpf_minrtt_get_subflow, struct mptcp_sock *msk, + struct mptcp_sched_data *data) +{ + if (data->reinject) + return bpf_burst_get_retrans(msk, data); + return bpf_minrtt_get_send(msk, data); +} + +SEC(".struct_ops") +struct mptcp_sched_ops minrtt = { + .init = (void *)mptcp_sched_minrtt_init, + .release = (void *)mptcp_sched_minrtt_release, + .get_subflow = (void *)bpf_minrtt_get_subflow, + .name = "bpf_minrtt", +}; diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index c1fdc4490..6103b26b6 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -92,7 +92,7 @@ MY_DEPENDS := \ TARGET_mvebu:kmod-mwlwifi TARGET_mvebu:mwlwifi-firmware-88w8864 TARGET_mvebu:mwlwifi-firmware-88w8897 TARGET_mvebu:mwlwifi-firmware-88w8964 TARGET_mvebu:mwlwifi-firmware-88w8997 \ (LINUX_5_4&&(TARGET_x86_64||TARGET_aarch64)):kmod-tcp-bbr2 \ TARGET_x86_64:kmod-atlantic \ - !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-bkup !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ + !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-minrtt !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-bkup !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ !(LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ovpn-dco-v2 lspci \ TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware \ luci-app-smartdns From 28b1fb73413b54cddaac3555f50e46f24300f147 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 2 Jan 2025 19:43:52 +0100 Subject: [PATCH 100/199] remove v2ray restriction in openmptcprouter-full --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 6103b26b6..10e887f7c 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -82,7 +82,7 @@ MY_DEPENDS := \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim luci-app-ttyd luci-mod-dashboard kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \ hwinfo (TARGET_x86||TARGET_x86_64):dmidecode kmod-bonding luci-proto-bonding luci-app-sysupgrade \ luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard kmod-crypto-lib-blake2s \ - !(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils !(TARGET_ipq60xx):v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \ + !(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \ (TARGET_x86||TARGET_x86_64):kmod-mlx4-core \ !(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10||LINUX_6_11||LINUX_6_12):iptables-mod-ndpi !(TARGET_ipq40xx||TARGET_ramips||LINUX_6_6||LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ipt-ndpi libip4tc libip6tc \ xray-core LINUX_5_4:xray-config !LINUX_5_4:xray-config-nft \ From 09e91b2fb8bc504d29b6f77eb7b7d019653b5469 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 3 Jan 2025 10:50:35 +0100 Subject: [PATCH 101/199] Remove compilation for 5.4 and add 6.12 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 22b2bca86..65f0931af 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,7 +9,7 @@ jobs: strategy: matrix: OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000] - OMR_KERNEL: [5.4, 6.6] + OMR_KERNEL: [6.6, 6.12] runs-on: ubuntu-latest continue-on-error: true From f270889d32d5d5afa183d345f856f3dc1a7ccc49 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 3 Jan 2025 17:44:06 +0100 Subject: [PATCH 102/199] Fix VPN route in omr-tracker post-tracking 002-error script --- omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh | 4 ++++ omr-tracker/files/usr/share/omr/post-tracking.d/002-error | 1 + 2 files changed, 5 insertions(+) diff --git a/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh b/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh index 312952cf7..7219e7d1c 100755 --- a/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh +++ b/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh @@ -638,6 +638,10 @@ set_server_route6() { fi } +del_default_route() { + ip route del default dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 +} + del_server_route() { local server=$1 remove_route() { diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error index 6c0f109b4..c0cfbef11 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error @@ -238,6 +238,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp uci -q set openmptcprouter.omr.vpn='down' fi if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then + del_default_route config_load network config_foreach set_route interface $OMR_TRACKER_INTERFACE config_foreach set_route6 interface $OMR_TRACKER_INTERFACE From 5eef46912087ede8cbc52e4b3e7ee506885fe734 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 Jan 2025 17:28:54 +0100 Subject: [PATCH 103/199] Fix Shadowsocks-libev compilation with mbedtls3 --- .../patches/900-fix-build-with-mbedtls3.patch | 196 ++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 shadowsocks-libev/patches/900-fix-build-with-mbedtls3.patch diff --git a/shadowsocks-libev/patches/900-fix-build-with-mbedtls3.patch b/shadowsocks-libev/patches/900-fix-build-with-mbedtls3.patch new file mode 100644 index 000000000..70cc32cbf --- /dev/null +++ b/shadowsocks-libev/patches/900-fix-build-with-mbedtls3.patch @@ -0,0 +1,196 @@ +From 228f8226c41a8fbd5ce48c2e201de41d59fec674 Mon Sep 17 00:00:00 2001 +From: Lu jicong +Date: Wed, 10 Jul 2024 21:29:07 +0800 +Subject: [PATCH] Fix build with mbedtls3.6 + +--- + m4/mbedtls.m4 | 20 ++++++++++++++++++++ + src/aead.c | 27 +++++++++++++++++++++++++++ + src/crypto.c | 2 +- + src/stream.c | 25 +++++++++++++++++++++++++ + 4 files changed, 73 insertions(+), 1 deletion(-) + +diff --git a/m4/mbedtls.m4 b/m4/mbedtls.m4 +index 2c478b960..a795790ca 100644 +--- a/m4/mbedtls.m4 ++++ b/m4/mbedtls.m4 +@@ -31,7 +31,12 @@ AC_DEFUN([ss_MBEDTLS], + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ ++#include ++#if MBEDTLS_VERSION_NUMBER >= 0x03000000 ++#include ++#else + #include ++#endif + ]], + [[ + #ifndef MBEDTLS_CIPHER_MODE_CFB +@@ -48,7 +53,12 @@ AC_DEFUN([ss_MBEDTLS], + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ ++#include ++#if MBEDTLS_VERSION_NUMBER >= 0x03000000 ++#include ++#else + #include ++#endif + ]], + [[ + #ifndef MBEDTLS_ARC4_C +@@ -64,7 +74,12 @@ AC_DEFUN([ss_MBEDTLS], + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ ++#include ++#if MBEDTLS_VERSION_NUMBER >= 0x03000000 ++#include ++#else + #include ++#endif + ]], + [[ + #ifndef MBEDTLS_BLOWFISH_C +@@ -80,7 +95,12 @@ AC_DEFUN([ss_MBEDTLS], + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ ++#include ++#if MBEDTLS_VERSION_NUMBER >= 0x03000000 ++#include ++#else + #include ++#endif + ]], + [[ + #ifndef MBEDTLS_CAMELLIA_C +diff --git a/src/aead.c b/src/aead.c +index 358ec9381..3388a5465 100644 +--- a/src/aead.c ++++ b/src/aead.c +@@ -178,9 +178,14 @@ aead_cipher_encrypt(cipher_ctx_t *cipher_ctx, + case AES192GCM: + case AES128GCM: + ++#if MBEDTLS_VERSION_NUMBER < 0x03000000 + err = mbedtls_cipher_auth_encrypt(cipher_ctx->evp, n, nlen, ad, adlen, + m, mlen, c, clen, c + mlen, tlen); + *clen += tlen; ++#else ++ err = mbedtls_cipher_auth_encrypt_ext(cipher_ctx->evp, n, nlen, ad, adlen, ++ m, mlen, c, mlen + tlen, clen, tlen); ++#endif + break; + case CHACHA20POLY1305IETF: + err = crypto_aead_chacha20poly1305_ietf_encrypt(c, &long_clen, m, mlen, +@@ -226,8 +231,13 @@ aead_cipher_decrypt(cipher_ctx_t *cipher_ctx, + // Otherwise, just use the mbedTLS one with crappy AES-NI. + case AES192GCM: + case AES128GCM: ++#if MBEDTLS_VERSION_NUMBER < 0x03000000 + err = mbedtls_cipher_auth_decrypt(cipher_ctx->evp, n, nlen, ad, adlen, + m, mlen - tlen, p, plen, m + mlen - tlen, tlen); ++#else ++ err = mbedtls_cipher_auth_decrypt_ext(cipher_ctx->evp, n, nlen, ad, adlen, ++ m, mlen, p, mlen - tlen, plen, tlen); ++#endif + break; + case CHACHA20POLY1305IETF: + err = crypto_aead_chacha20poly1305_ietf_decrypt(p, &long_plen, NULL, m, mlen, +@@ -724,9 +734,26 @@ aead_key_init(int method, const char *pass, const char *key) + if (method >= CHACHA20POLY1305IETF) { + cipher_kt_t *cipher_info = (cipher_kt_t *)ss_malloc(sizeof(cipher_kt_t)); + cipher->info = cipher_info; ++#if MBEDTLS_VERSION_NUMBER < 0x03000000 + cipher->info->base = NULL; + cipher->info->key_bitlen = supported_aead_ciphers_key_size[method] * 8; + cipher->info->iv_size = supported_aead_ciphers_nonce_size[method]; ++#else ++ cipher->info->private_base_idx = 0; ++ ++#ifdef MBEDTLS_KEY_BITLEN_SHIFT ++ cipher->info->private_key_bitlen = supported_aead_ciphers_key_size[method] * 8 >> MBEDTLS_KEY_BITLEN_SHIFT; ++#else ++ cipher->info->private_key_bitlen = supported_aead_ciphers_key_size[method] * 8; ++#endif ++ ++#ifdef MBEDTLS_IV_SIZE_SHIFT ++ cipher->info->private_iv_size = supported_aead_ciphers_nonce_size[method] >> MBEDTLS_IV_SIZE_SHIFT; ++#else ++ cipher->info->private_iv_size = supported_aead_ciphers_nonce_size[method]; ++#endif ++ ++#endif + } else { + cipher->info = (cipher_kt_t *)aead_get_cipher_type(method); + } +diff --git a/src/crypto.c b/src/crypto.c +index b44d8674c..76c426b53 100644 +--- a/src/crypto.c ++++ b/src/crypto.c +@@ -103,7 +103,7 @@ crypto_md5(const unsigned char *d, size_t n, unsigned char *md) + if (md == NULL) { + md = m; + } +-#if MBEDTLS_VERSION_NUMBER >= 0x02070000 ++#if MBEDTLS_VERSION_NUMBER < 0x03000000 && MBEDTLS_VERSION_NUMBER >= 0x02070000 + if (mbedtls_md5_ret(d, n, md) != 0) + FATAL("Failed to calculate MD5"); + #else +diff --git a/src/stream.c b/src/stream.c +index 35d9050b3..4bb95981b 100644 +--- a/src/stream.c ++++ b/src/stream.c +@@ -174,7 +174,11 @@ cipher_nonce_size(const cipher_t *cipher) + if (cipher == NULL) { + return 0; + } ++#if MBEDTLS_VERSION_NUMBER < 0x03000000 + return cipher->info->iv_size; ++#else ++ return (int)mbedtls_cipher_info_get_iv_size(cipher->info); ++#endif + } + + int +@@ -192,7 +196,11 @@ cipher_key_size(const cipher_t *cipher) + return 0; + } + /* From Version 1.2.7 released 2013-04-13 Default Blowfish keysize is now 128-bits */ ++#if MBEDTLS_VERSION_NUMBER < 0x03000000 + return cipher->info->key_bitlen / 8; ++#else ++ return (int)mbedtls_cipher_info_get_key_bitlen(cipher->info) / 8; ++#endif + } + + const cipher_kt_t * +@@ -645,9 +653,26 @@ stream_key_init(int method, const char *pass, const char *key) + if (method == SALSA20 || method == CHACHA20 || method == CHACHA20IETF) { + cipher_kt_t *cipher_info = (cipher_kt_t *)ss_malloc(sizeof(cipher_kt_t)); + cipher->info = cipher_info; ++#if MBEDTLS_VERSION_NUMBER < 0x03000000 + cipher->info->base = NULL; + cipher->info->key_bitlen = supported_stream_ciphers_key_size[method] * 8; + cipher->info->iv_size = supported_stream_ciphers_nonce_size[method]; ++#else ++ cipher->info->private_base_idx = 0; ++ ++#ifdef MBEDTLS_KEY_BITLEN_SHIFT ++ cipher->info->private_key_bitlen = supported_stream_ciphers_key_size[method] * 8 >> MBEDTLS_KEY_BITLEN_SHIFT; ++#else ++ cipher->info->private_key_bitlen = supported_stream_ciphers_key_size[method] * 8; ++#endif ++ ++#ifdef MBEDTLS_IV_SIZE_SHIFT ++ cipher->info->private_iv_size = supported_stream_ciphers_nonce_size[method] >> MBEDTLS_IV_SIZE_SHIFT; ++#else ++ cipher->info->private_iv_size = supported_stream_ciphers_nonce_size[method]; ++#endif ++ ++#endif + } else { + cipher->info = (cipher_kt_t *)stream_get_cipher_type(method); + } From 45bff4d322295b453d5a3f629054ddd4971670d0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 Jan 2025 17:29:24 +0100 Subject: [PATCH 104/199] Remove openclash shortcut in luci-theme-design --- luci-theme-design/luasrc/view/themes/design/header.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci-theme-design/luasrc/view/themes/design/header.htm b/luci-theme-design/luasrc/view/themes/design/header.htm index d633adc52..85734061b 100644 --- a/luci-theme-design/luasrc/view/themes/design/header.htm +++ b/luci-theme-design/luasrc/view/themes/design/header.htm @@ -86,7 +86,7 @@
+ <% if nixio.fs.access("/lib/modules/" .. nixio.uname().release .. "/shortcut-fe.ko") then From 4d12d6cb4604f53714686b8f0214255a96933849 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 Jan 2025 17:30:36 +0100 Subject: [PATCH 106/199] Add default settings for z8102ax 5G modems --- .../files/etc/uci-defaults/1920-omr-network | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index 96b3943ef..4d84d33a7 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -487,6 +487,20 @@ if [ "$board" = "z8102ax-128m" ] || [ "$board" = "z8102ax-64m" ] || [ "$board" = set network.modem2.delegate='0' set network.modem2.multipath='on' set network.modem2.defaultroute='0' + EOF + if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' + EOF + elif [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2' + EOF + fi + + uci -q batch <<-EOF commit network add_list firewall.@zone[1].network='modem1' add_list firewall.@zone[1].network='modem2' From b5ff7741663188397c3d925b083254cc570ca417 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 6 Jan 2025 18:21:59 +0100 Subject: [PATCH 107/199] Try to fix OMR-Tracker for PPPoE --- omr-tracker/files/bin/omr-tracker | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index 26e3344f4..534ea2fee 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -298,8 +298,8 @@ while true; do OMR_TRACKER_DEVICE_GATEWAY6= serverip_ping=false [ -z "$OMR_TRACKER_DEVICE" ] || [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ] && { - network_get_physdev OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" - [ -z "$OMR_TRACKER_DEVICE" ] && network_get_device OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" + #network_get_physdev OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" + #[ -z "$OMR_TRACKER_DEVICE" ] && network_get_device OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" [ -z "$OMR_TRACKER_DEVICE" ] && OMR_TRACKER_DEVICE=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["l3_device"]') [ -z "$OMR_TRACKER_DEVICE" ] && OMR_TRACKER_DEVICE=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" | jsonfilter -q -e '@["l3_device"]') #[ -z "$OMR_TRACKER_DEVICE" ] && config_get OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" device From 5eee6609e423c4a7f8adfbeacc8d9f254c3536b4 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 8 Jan 2025 14:51:35 +0100 Subject: [PATCH 108/199] Fix z8102ax modems settings --- openmptcprouter/files/etc/uci-defaults/1920-omr-network | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index 4d84d33a7..be8759eeb 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -397,7 +397,7 @@ sed -i 's/omrip/oip/g' /etc/config/* uci -q delete network.loopback.ifname uci -q set network.loopback.device='lo' -local board=$(board_name) +board=$(board_name) if ([ "$board" = "teltonika,rutx" ] || [ "$board" = "teltonika,rutx12" ] || [ "$board" = "teltonika,rutx50" ]) && [ -f /sbin/mnf_info ]; then # Same part for RUTX12 and RUTX11, maybe other RUTX ? uci -q batch <<-EOF @@ -470,7 +470,6 @@ if [ "$board" = "z8102ax-128m" ] || [ "$board" = "z8102ax-64m" ] || [ "$board" = set network.modem1.iptype='ipv4v6' set network.modem1.addlatency='0' set network.modem1.force_link='1' - set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' set network.modem1.peerdns='0' set network.modem1.delegate='0' set network.modem1.multipath='on' @@ -482,7 +481,6 @@ if [ "$board" = "z8102ax-128m" ] || [ "$board" = "z8102ax-64m" ] || [ "$board" = set network.modem2.iptype='ipv4v6' set network.modem2.addlatency='0' set network.modem2.force_link='1' - set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' set network.modem2.peerdns='0' set network.modem2.delegate='0' set network.modem2.multipath='on' From 1054b9648845ae1e6fef97f00f45de710973d4c5 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 8 Jan 2025 16:50:42 +0100 Subject: [PATCH 109/199] Fix gateway issue if not in same subnet and IPv6 problem in mptcp init script --- mptcp/files/etc/init.d/mptcp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index 32748e8f4..5c56b619b 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -326,8 +326,12 @@ interface_multipath_settings() { [ -z "$(ip rule show oif $iface table $ip4table)" ] && ip rule add oif $iface table $ip4table pref 0 ip route replace $network/$netmask dev $iface scope link metric $id $initcwrwnd >/dev/null 2>&1 ip route replace $network/$netmask dev $iface scope link table $ip4table $initcwrwnd >/dev/null 2>&1 + ip route replace $gateway dev $iface table $ip4table $initcwrwnd >/dev/null 2>&1 ip route replace default via $gateway dev $iface table $ip4table $initcwrwnd >/dev/null 2>&1 - [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default via $gateway dev $iface metric $id $initcwrwnd >/dev/null 2>&1 + [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && { + ip route replace $gateway dev $iface metric $id $initcwrwnd >/dev/null 2>&1 + ip route replace default via $gateway dev $iface metric $id $initcwrwnd >/dev/null 2>&1 + } #ip route flush cache $id >/dev/null 2>&1 fi @@ -409,8 +413,10 @@ interface_multipath_settings() { # gateway6=$(ubus call network.interface.${config}_6 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="::"].nexthop' | tr -d "\n") #fi gateway6=$(echo $gateway6 | cut -d/ -f1 | tr -d "\n") - [ -n "$ip6addr" ] && netmask6=$(ip -6 addr show dev $iface | grep $ip6addr | awk '/inet6/ {print $2; exit}' | cut -d/ -f2 | tr -d "\n") - [ -n "$ip6addr" ] && [ -n "$netmask6" ] && network6=`/usr/sbin/ipcalc -n ${ip6addr}/${netmask6} | sed -n '/NETWORK=/{;s/.*=//;s/ .*//;p;}'` + netmask6=$(ubus call network.interface.$config status | jsonfilter -q -l 1 -e '@["ipv6-prefix"][0].mask' | tr -d "\n") + network6=$(ubus call network.interface.$config status | jsonfilter -q -l 1 -e '@[".ipv6-prefix"][0].address' | tr -d "\n") + [ -z "$netmask6" ] && [ -n "$ip6addr" ] && netmask6=$(ip -6 addr show dev $iface | grep $ip6addr | awk '/inet6/ {print $2; exit}' | cut -d/ -f2 | tr -d "\n") + [ -z "$network6" ] && [ -n "$ip6addr" ] && [ -n "$netmask6" ] && network6=`/usr/sbin/ipcalc -n ${ip6addr}/${netmask6} | sed -n '/NETWORK=/{;s/.*=//;s/ .*//;p;}'` fi if [ "$(uci -q get openmptcprouter.settings.uci_route)" = "1" ]; then uci -q batch <<-EOF >/dev/null @@ -453,8 +459,12 @@ interface_multipath_settings() { [ -z "$(ip rule show pref 0 table $ip6table oif $iface)" ] && ip rule add oif $iface table $ip6table pref 0 ip -6 route replace $network6/$netmask6 dev $iface scope link metric 6$id $initcwrwnd >/dev/null 2>&1 ip -6 route replace $network6/$netmask6 dev $iface scope link table $ip6table $initcwrwnd >/dev/null 2>&1 + ip -6 route replace $gateway6 dev $iface table $ip6table $initcwrwnd >/dev/null 2>&1 ip -6 route replace default via $gateway6 dev $iface table $ip6table $initcwrwnd >/dev/null 2>&1 - [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default via $gateway6 dev $iface metric 6$id $initcwrwnd >/dev/null 2>&1 + [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && { + ip -6 route replace $gateway6 dev $iface metric 6$id $initcwrwnd >/dev/null 2>&1 + ip -6 route replace default via $gateway6 dev $iface metric 6$id $initcwrwnd >/dev/null 2>&1 + } #ip -6 route flush cache 6$id >/dev/null 2>&1 fi From 3634433c6877b4d8786d42b7ce6f2c227375a37d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 10 Jan 2025 10:35:27 +0100 Subject: [PATCH 110/199] Disable fast-open on Shadowsocks-Rust: aggregation is not working with this --- .../files/etc/uci-defaults/1930-omr-shadowsocks | 13 +++++++++++-- shadowsocks-rust/files/shadowsocks-rust.config | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks index cd8386aa9..2c4d86c0a 100755 --- a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks +++ b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks @@ -120,10 +120,10 @@ if [ -z "$(uci -q get shadowsocks-rust.hi1.keep_alive)" ]; then uci -q batch <<-EOF > /dev/null set shadowsocks-rust.hi1.keep_alive=15 set shadowsocks-rust.hi1.no_delay=1 - set shadowsocks-rust.hi1.fast_open=1 + set shadowsocks-rust.hi1.fast_open=0 set shadowsocks-rust.hi2.keep_alive=15 set shadowsocks-rust.hi2.no_delay=1 - set shadowsocks-rust.hi2.fast_open=1 + set shadowsocks-rust.hi2.fast_open=0 commit shadowsocks-rust EOF fi @@ -136,5 +136,14 @@ if [ -z "$(uci -q get shadowsocks-rust.dns.forward_address)" ]; then EOF fi +if [ "$(uci -q get shadowsocks-rust.hi1.fast_open)" = "1" ]; then + uci -q batch <<-EOF > /dev/null + set shadowsocks-rust.hi1.fast_open=0 + set shadowsocks-rust.hi2.fast_open=0 + commit shadowsocks-rust + EOF +fi + + rm -f /tmp/luci-indexcache exit 0 diff --git a/shadowsocks-rust/files/shadowsocks-rust.config b/shadowsocks-rust/files/shadowsocks-rust.config index d618841a9..5bd2d8f34 100644 --- a/shadowsocks-rust/files/shadowsocks-rust.config +++ b/shadowsocks-rust/files/shadowsocks-rust.config @@ -5,7 +5,7 @@ config ss_redir hi1 option mode 'tcp_and_udp' option timeout '1000' option keep_alive '15' - option fast_open 1 + option fast_open 0 option verbose 0 option syslog 1 option reuse_port 0 @@ -20,7 +20,7 @@ config ss_redir hi2 option mode 'tcp_and_udp' option timeout '1000' option keep_alive '15' - option fast_open 1 + option fast_open 0 option verbose 0 option syslog 1 option reuse_port 0 From 8b4fdc35e3d27faaff98901b14b0eaea48a76b24 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 10 Jan 2025 10:35:47 +0100 Subject: [PATCH 111/199] Update Shadowsocks-Rust --- shadowsocks-rust/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shadowsocks-rust/Makefile b/shadowsocks-rust/Makefile index f4c803098..26fb92203 100644 --- a/shadowsocks-rust/Makefile +++ b/shadowsocks-rust/Makefile @@ -2,14 +2,14 @@ # # Copyright (C) 2017-2020 Yousong Zhou # Copyright (C) 2021-2023 ImmortalWrt.org -# Copyright (C) 2023-2024 Yannick Chabanois (Ycarus) for OpenMPTCProuter +# Copyright (C) 2023-2025 Yannick Chabanois (Ycarus) for OpenMPTCProuter include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=shadowsocks-rust -PKG_VERSION:=1.21.2 -PKG_HASH:=a2269e896a27a183dfd6d757d130978b46e1ac19f936c4229188d017b7ecf867 +PKG_VERSION:=1.22.0 +PKG_HASH:=2857372667b66aa7f8ef2d27a8a19209cbf3e5da2e6d1d1d493411d72d173861 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz From a40762f9c9267b471e8a9ad6b2ea94bc016df629 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 10 Jan 2025 19:18:19 +0100 Subject: [PATCH 112/199] Fix typo in luci-app-openmptcprouter --- .../luasrc/controller/openmptcprouter.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 37e032e59..6183cfb6c 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -834,7 +834,7 @@ function wizard_add() local sectionname = s[".name"] if sectionname:match("^omr.*") then luci.sys.call("uci -q del openvpn." .. sectionname .. ".remote") - luci.sys.call("uci -q add_list openvpn." .. sectioname .. ".remote=" .. server_ip) + luci.sys.call("uci -q add_list openvpn." .. sectionname .. ".remote=" .. server_ip) end end) --luci.sys.call("uci -q del openvpn.omr.remote") @@ -1267,7 +1267,7 @@ function wizard_add() local sectionname = s[".name"] if sectionname:match("^omr.*") then ucic:set("openvpn",sectionname,"enabled",0) - ucic:set("network",sectioname,"proto","none") + ucic:set("network",sectionname,"proto","none") end end) ucic:set("openvpn","omr","enabled",1) @@ -1276,7 +1276,7 @@ function wizard_add() local sectionname = s[".name"] if sectionname:match("^omr.*") then ucic:set("openvpn",sectionname,"enabled",1) - ucic:set("network",sectioname,"proto","none") + ucic:set("network",sectionname,"proto","none") end end) --ucic:set("openvpn","omr","enabled",1) From d1f504de316664b7618c02b36c87929cdea86973 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 11 Jan 2025 07:19:17 +0100 Subject: [PATCH 113/199] Fix https://github.com/Ysurac/openmptcprouter/issues/3755 --- mptcp/files/etc/init.d/mptcp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index 5c56b619b..985a6549f 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -68,7 +68,7 @@ global_multipath_settings() { [ -z "$mptcp_stale_loss_cnt" ] || sysctl -qew net.mptcp.stale_loss_cnt="$mptcp_stale_loss_cnt" [ -z "$mptcp_pm_type" ] || sysctl -qew net.mptcp.pm_type="$mptcp_pm_type" [ -z "$mptcp_allow_join_initial_addr_port" ] || sysctl -qew net.mptcp.allow_join_initial_addr_port="$mptcp_allow_initial_addr_port" - if [ -n "$mptcp_scheduler" ]; then + if [ -n "$mptcp_scheduler" ] && [ -d /usr/share/bpf/scheduler ]; then for scheduler in $(ls -1 /usr/share/bpf/scheduler/*.o); do bpftool struct_ops register $scheduler >/dev/null 2>&1 done From 3daacde7bcbc1c7bedc688f42cff696023b200b0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 14 Jan 2025 19:23:15 +0100 Subject: [PATCH 114/199] Update iproute2 --- iproute2/Makefile | 25 +-- ...10-bridge-mst-fix-a-musl-build-issue.patch | 68 ------- ...e-mst-fix-a-further-musl-build-issue.patch | 51 ----- ...tlink-fix-build-with-musl-and-gcc-14.patch | 28 --- iproute2/patches/013-endian.h.patch | 22 +++ iproute2/patches/014-basename.patch | 29 +++ iproute2/patches/015-limits.h.patch | 84 +++++++++ iproute2/patches/016-limits.h.patch | 26 +++ iproute2/patches/017-linux-limits.patch | 178 ++++++++++++++++++ iproute2/patches/018-linux-limits.patch | 37 ++++ .../patches/175-reduce-dynamic-syms.patch | 45 ----- ...0-rdma-include-libgen.h-for-basename.patch | 10 - 12 files changed, 381 insertions(+), 222 deletions(-) delete mode 100644 iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch delete mode 100644 iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch delete mode 100644 iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch create mode 100644 iproute2/patches/013-endian.h.patch create mode 100644 iproute2/patches/014-basename.patch create mode 100644 iproute2/patches/015-limits.h.patch create mode 100644 iproute2/patches/016-limits.h.patch create mode 100644 iproute2/patches/017-linux-limits.patch create mode 100644 iproute2/patches/018-linux-limits.patch delete mode 100644 iproute2/patches/175-reduce-dynamic-syms.patch delete mode 100644 iproute2/patches/400-rdma-include-libgen.h-for-basename.patch diff --git a/iproute2/Makefile b/iproute2/Makefile index c2508f71b..ca6793d49 100644 --- a/iproute2/Makefile +++ b/iproute2/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 -PKG_VERSION:=6.11.0 -PKG_RELEASE:=1 +PKG_VERSION:=6.12.0 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 -PKG_HASH:=1f795398a04aeaacd06a8f6ace2cfd913c33fa5953ca99daae83bb5c534611c3 +PKG_HASH:=bbd141ef7b5d0127cc2152843ba61f274dc32814fa3e0f13e7d07a080bef53d9 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=iptables PKG_LICENSE:=GPL-2.0 @@ -77,14 +77,7 @@ $(call Package/iproute2/Default) VARIANT:=tcfull PROVIDES:=tc ALTERNATIVES:=400:/sbin/tc:/usr/libexec/tc-full - DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables +tc-mod-iptables -endef - -define Package/tc-mod-iptables -$(call Package/iproute2/Default) - TITLE:=Traffic control module - iptables action - VARIANT:=tcfull - DEPENDS:=+libxtables +libbpf + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables endef define Package/genl @@ -102,7 +95,7 @@ endef define Package/ss $(call Package/iproute2/Default) TITLE:=Socket statistics utility - DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +kmod-netlink-diag + DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +kmod-netlink-diag endef define Package/nstat @@ -232,11 +225,6 @@ define Package/tc-full/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-full endef -define Package/tc-mod-iptables/install - $(INSTALL_DIR) $(1)/usr/lib/tc - $(CP) $(PKG_BUILD_DIR)/tc/m_xt.so $(1)/usr/lib/tc -endef - define Package/genl/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/genl/genl $(1)/usr/sbin/ @@ -269,9 +257,6 @@ endef $(eval $(call BuildPackage,ip-tiny)) $(eval $(call BuildPackage,ip-full)) -# build tc-mod-iptables before its dependents, to avoid -# spurious rebuilds when building multiple variants. -$(eval $(call BuildPackage,tc-mod-iptables)) $(eval $(call BuildPackage,tc-tiny)) $(eval $(call BuildPackage,tc-bpf)) $(eval $(call BuildPackage,tc-full)) diff --git a/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch b/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch deleted file mode 100644 index 1630415eb..000000000 --- a/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 6a77abab92516e65f07f8657fc4e384c4541ce0e Mon Sep 17 00:00:00 2001 -From: Dario Binacchi -Date: Sun, 22 Sep 2024 16:50:10 +0200 -Subject: bridge: mst: fix a musl build issue - -This patch fixes a compilation error raised by the bump to version 6.11.0 -in Buildroot using musl as the C library for the cross-compilation -toolchain. - -After setting the CFLGAS - -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -IPROUTE2_CFLAGS += -D__UAPI_DEF_IN6_ADDR=0 -D__UAPI_DEF_SOCKADDR_IN6=0 \ - -D__UAPI_DEF_IPV6_MREQ=0 -endif - -to fix the following errors: - -In file included from ../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/arpa/inet.h:9, - from ../include/libnetlink.h:14, - from mst.c:10: -../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr' - 23 | struct in6_addr { - | ^~~~~~~~ -In file included from ../include/uapi/linux/if_bridge.h:19, - from mst.c:7: -../include/uapi/linux/in6.h:33:8: note: originally defined here - 33 | struct in6_addr { - | ^~~~~~~~ -../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: error: redefinition of 'struct sockaddr_in6' - 34 | struct sockaddr_in6 { - | ^~~~~~~~~~~~ -../include/uapi/linux/in6.h:50:8: note: originally defined here - 50 | struct sockaddr_in6 { - | ^~~~~~~~~~~~ -../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: error: redefinition of 'struct ipv6_mreq' - 42 | struct ipv6_mreq { - | ^~~~~~~~~ -../include/uapi/linux/in6.h:60:8: note: originally defined here - 60 | struct ipv6_mreq { - -I got this further errors - -../include/uapi/linux/in6.h:72:25: error: field 'flr_dst' has incomplete type - 72 | struct in6_addr flr_dst; - | ^~~~~~~ -../include/uapi/linux/if_bridge.h:711:41: error: field 'ip6' has incomplete type - 711 | struct in6_addr ip6; - | ^~~ - -fixed by including the netinet/in.h header. - -Signed-off-by: Dario Binacchi -Signed-off-by: Stephen Hemminger ---- - bridge/mst.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/bridge/mst.c -+++ b/bridge/mst.c -@@ -4,6 +4,7 @@ - */ - - #include -+#include - #include - #include - diff --git a/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch b/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch deleted file mode 100644 index 1bdab398f..000000000 --- a/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 043ef90e2fa94397eb5c85330889ca4146a6d58a Mon Sep 17 00:00:00 2001 -From: Dario Binacchi -Date: Sun, 22 Sep 2024 16:50:11 +0200 -Subject: bridge: mst: fix a further musl build issue - -This patch fixes the following build errors: - -In file included from mst.c:11: -../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration - 80 | _PRINT_FUNC(tv, const struct timeval *) - | ^~~~~~~ -../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC' - 50 | type value); \ - | ^~~~ -../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration - 80 | _PRINT_FUNC(tv, const struct timeval *) - | ^~~~~~~ -../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC' - 55 | type value) \ - | ^~~~ -../include/json_print.h: In function 'print_tv': -../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types] - 58 | value); \ - | ^~~~~ - | | - | const struct timeval * -../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC' - 80 | _PRINT_FUNC(tv, const struct timeval *) - | ^~~~~~~~~~~ -../include/json_print.h:50:42: note: expected 'const struct timeval *' but argument is of type 'const struct timeval *' - 50 | type value); \ - | ^ -../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC' - 80 | _PRINT_FUNC(tv, const struct timeval *) - -Signed-off-by: Dario Binacchi -Signed-off-by: Stephen Hemminger ---- - bridge/mst.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/bridge/mst.c -+++ b/bridge/mst.c -@@ -4,6 +4,7 @@ - */ - - #include -+#include - #include - #include - #include diff --git a/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch b/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch deleted file mode 100644 index 749176a8d..000000000 --- a/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Thu, 8 Aug 2024 09:19:01 +0200 -Subject: libnetlink: fix build with musl and gcc 14 - -Fixes compilation error with musl libc and gcc 14: - -../include/libnetlink.h: In function 'rta_getattr_be64': -../include/libnetlink.h:280:16: error: implicit declaration of function 'htobe64' [-Wimplicit-function-declaration] - 280 | return htobe64(rta_getattr_u64(rta)); - | ^~~~~~~ - -Reference: https://man7.org/linux/man-pages/man3/endian.3.html -Signed-off-by: Natanael Copa ---- - include/libnetlink.h | 1 + - 1 file changed, 1 insertion(+) - ---- a/include/libnetlink.h -+++ b/include/libnetlink.h -@@ -2,6 +2,7 @@ - #ifndef __LIBNETLINK_H__ - #define __LIBNETLINK_H__ 1 - -+#include - #include - #include - #include diff --git a/iproute2/patches/013-endian.h.patch b/iproute2/patches/013-endian.h.patch new file mode 100644 index 000000000..a81c3b5ee --- /dev/null +++ b/iproute2/patches/013-endian.h.patch @@ -0,0 +1,22 @@ +From c8b3ecc22ed0edaf0259eaf7d1a5c04f300ad6e4 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:24:18 -0800 +Subject: [PATCH] libnetlink: add missing endian.h + +Need endian.h to get htobe64 with musl. + +Signed-off-by: Stephen Hemminger +--- + include/libnetlink.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/include/libnetlink.h ++++ b/include/libnetlink.h +@@ -4,6 +4,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/iproute2/patches/014-basename.patch b/iproute2/patches/014-basename.patch new file mode 100644 index 000000000..f98238ec6 --- /dev/null +++ b/iproute2/patches/014-basename.patch @@ -0,0 +1,29 @@ +From fa3949b792e275f75d7d6200dc2036ef7fff8816 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:21:56 -0800 +Subject: [PATCH] rdma: add missing header for basename + +The function basename prototype is in libgen.h +Fixes build on musl + +Signed-off-by: Stephen Hemminger +--- + rdma/rdma.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/rdma/rdma.h ++++ b/rdma/rdma.h +@@ -10,11 +10,12 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include + #include +-#include + #include + + #include "list.h" diff --git a/iproute2/patches/015-limits.h.patch b/iproute2/patches/015-limits.h.patch new file mode 100644 index 000000000..e212b88eb --- /dev/null +++ b/iproute2/patches/015-limits.h.patch @@ -0,0 +1,84 @@ +From 7e23da91fca6e5dedeb32a7d308cf20982e897c3 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Tue, 10 Dec 2024 13:38:08 -0800 +Subject: [PATCH] ip: rearrange and prune header files + +The recent report of issues with missing limits.h impacting musl +suggested looking at what files are and are not included in ip code. + +The standard practice is to put standard headers first, then system, +then local headers. Used iwyu to get suggestions about missing +and extraneous headers. + +Signed-off-by: Stephen Hemminger +--- + ip/iplink.c | 13 +++++-------- + ip/ipnetns.c | 19 +++++++++---------- + 2 files changed, 14 insertions(+), 18 deletions(-) + +--- a/ip/iplink.c ++++ b/ip/iplink.c +@@ -11,17 +11,14 @@ + #include + #include + #include ++#include ++#include ++#include ++ + #include ++#include + #include +-#include + #include +-#include +-#include +-#include +-#include +-#include +-#include +-#include + + #include "rt_names.h" + #include "utils.h" +--- a/ip/ipnetns.c ++++ b/ip/ipnetns.c +@@ -1,21 +1,21 @@ + /* SPDX-License-Identifier: GPL-2.0 */ + #define _ATFILE_SOURCE +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++ + #include ++#include + #include +-#include + #include + #include + #include + #include + #include +-#include ++#include ++ ++#include ++#include ++#include ++#include ++#include + + #include + +@@ -23,7 +23,6 @@ + #include "list.h" + #include "ip_common.h" + #include "namespace.h" +-#include "json_print.h" + + static int usage(void) + { diff --git a/iproute2/patches/016-limits.h.patch b/iproute2/patches/016-limits.h.patch new file mode 100644 index 000000000..c20404f6f --- /dev/null +++ b/iproute2/patches/016-limits.h.patch @@ -0,0 +1,26 @@ +From f982f30e166a02e09097de05129449031ba51f76 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 11:29:44 -0800 +Subject: [PATCH] cg_map: use limits.h + +Prefer limits.h from system headers over linux/limits.h +Fixes build with musl. + +Signed-off-by: Stephen Hemminger +--- + lib/cg_map.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/lib/cg_map.c ++++ b/lib/cg_map.c +@@ -9,8 +9,9 @@ + #include + #include + #include ++#include ++ + #include +-#include + #include + + #include "cg_map.h" diff --git a/iproute2/patches/017-linux-limits.patch b/iproute2/patches/017-linux-limits.patch new file mode 100644 index 000000000..0c5d13840 --- /dev/null +++ b/iproute2/patches/017-linux-limits.patch @@ -0,0 +1,178 @@ +From ac547ad027e3d4e283202ecb487cf54707234491 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 14:15:59 -0800 +Subject: [PATCH] flower: replace XATTR_SIZE_MAX + +The flower tc parser was using XATTR_SIZE_MAX from linux/limits.h, +but this constant is intended to before extended filesystem attributes +not for TC. Replace it with a local define. + +This fixes issue on systems with musl and XATTR_SIZE_MAX is not +defined in limits.h there. + +Signed-off-by: Stephen Hemminger +--- + tc/f_flower.c | 37 ++++++++++++++++++++----------------- + 1 file changed, 20 insertions(+), 17 deletions(-) + +--- a/tc/f_flower.c ++++ b/tc/f_flower.c +@@ -10,7 +10,7 @@ + #include + #include + #include +-#include ++ + #include + #include + #include +@@ -22,6 +22,9 @@ + #include "tc_util.h" + #include "rt_names.h" + ++/* maximum length of options string */ ++#define FLOWER_OPTS_MAX 4096 ++ + #ifndef IPPROTO_L2TP + #define IPPROTO_L2TP 115 + #endif +@@ -1252,7 +1255,7 @@ static int flower_check_enc_opt_key(char + + static int flower_parse_enc_opts_geneve(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + int data_len, key_len, mask_len, err; + char *token, *slash; + struct rtattr *nest; +@@ -1265,7 +1268,7 @@ static int flower_parse_enc_opts_geneve( + if (slash) + *slash = '\0'; + +- if ((key_len + strlen(token) > XATTR_SIZE_MAX) || ++ if ((key_len + strlen(token) > FLOWER_OPTS_MAX) || + flower_check_enc_opt_key(token)) + return -1; + +@@ -1275,7 +1278,7 @@ static int flower_parse_enc_opts_geneve( + + if (!slash) { + /* Pad out mask when not provided */ +- if (mask_len + strlen(token) > XATTR_SIZE_MAX) ++ if (mask_len + strlen(token) > FLOWER_OPTS_MAX) + return -1; + + data_len = strlen(rindex(token, ':')); +@@ -1288,7 +1291,7 @@ static int flower_parse_enc_opts_geneve( + continue; + } + +- if (mask_len + strlen(slash + 1) > XATTR_SIZE_MAX) ++ if (mask_len + strlen(slash + 1) > FLOWER_OPTS_MAX) + return -1; + + strcpy(&mask[mask_len], slash + 1); +@@ -1318,7 +1321,7 @@ static int flower_parse_enc_opts_geneve( + + static int flower_parse_enc_opts_vxlan(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1326,14 +1329,14 @@ static int flower_parse_enc_opts_vxlan(c + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { + strcpy(mask, "0xffffffff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1355,7 +1358,7 @@ static int flower_parse_enc_opts_vxlan(c + + static int flower_parse_enc_opts_erspan(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1364,7 +1367,7 @@ static int flower_parse_enc_opts_erspan( + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { +@@ -1376,7 +1379,7 @@ static int flower_parse_enc_opts_erspan( + strcpy(mask + index, ":0xffffffff:0xff:0xff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1398,7 +1401,7 @@ static int flower_parse_enc_opts_erspan( + + static int flower_parse_enc_opts_gtp(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1406,13 +1409,13 @@ static int flower_parse_enc_opts_gtp(cha + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else + strcpy(mask, "ff:ff"); + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + +@@ -1433,7 +1436,7 @@ static int flower_parse_enc_opts_gtp(cha + + static int flower_parse_enc_opts_pfcp(char *str, struct nlmsghdr *n) + { +- char key[XATTR_SIZE_MAX], mask[XATTR_SIZE_MAX]; ++ char key[FLOWER_OPTS_MAX], mask[FLOWER_OPTS_MAX]; + struct rtattr *nest; + char *slash; + int err; +@@ -1442,14 +1445,14 @@ static int flower_parse_enc_opts_pfcp(ch + slash = strchr(str, '/'); + if (slash) { + *slash++ = '\0'; +- if (strlen(slash) > XATTR_SIZE_MAX) ++ if (strlen(slash) > FLOWER_OPTS_MAX) + return -1; + strcpy(mask, slash); + } else { + strcpy(mask, "ff:ffffffffffffffff"); + } + +- if (strlen(str) > XATTR_SIZE_MAX) ++ if (strlen(str) > FLOWER_OPTS_MAX) + return -1; + strcpy(key, str); + diff --git a/iproute2/patches/018-linux-limits.patch b/iproute2/patches/018-linux-limits.patch new file mode 100644 index 000000000..8c2669acd --- /dev/null +++ b/iproute2/patches/018-linux-limits.patch @@ -0,0 +1,37 @@ +From 458dce5d0431f0589aca1bc841904b5d1db3bbce Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 12 Dec 2024 14:18:35 -0800 +Subject: [PATCH] uapi: remove no longer used linux/limits.h + +Code is now using limits.h instead. + +Signed-off-by: Stephen Hemminger +--- + include/uapi/linux/limits.h | 21 --------------------- + 1 file changed, 21 deletions(-) + delete mode 100644 include/uapi/linux/limits.h + +--- a/include/uapi/linux/limits.h ++++ /dev/null +@@ -1,21 +0,0 @@ +-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +-#ifndef _LINUX_LIMITS_H +-#define _LINUX_LIMITS_H +- +-#define NR_OPEN 1024 +- +-#define NGROUPS_MAX 65536 /* supplemental group IDs are available */ +-#define ARG_MAX 131072 /* # bytes of args + environ for exec() */ +-#define LINK_MAX 127 /* # links a file may have */ +-#define MAX_CANON 255 /* size of the canonical input queue */ +-#define MAX_INPUT 255 /* size of the type-ahead buffer */ +-#define NAME_MAX 255 /* # chars in a file name */ +-#define PATH_MAX 4096 /* # chars in a path name including nul */ +-#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */ +-#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */ +-#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */ +-#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */ +- +-#define RTSIG_MAX 32 +- +-#endif diff --git a/iproute2/patches/175-reduce-dynamic-syms.patch b/iproute2/patches/175-reduce-dynamic-syms.patch deleted file mode 100644 index c3892e5a0..000000000 --- a/iproute2/patches/175-reduce-dynamic-syms.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- a/tc/Makefile -+++ b/tc/Makefile -@@ -114,7 +114,7 @@ LDLIBS += -L. -lm - - ifeq ($(SHARED_LIBS),y) - LDLIBS += -ldl --LDFLAGS += -Wl,-export-dynamic -+LDFLAGS += -Wl,--dynamic-list=dynsyms.list - endif - - TCLIB := tc_core.o -@@ -144,7 +144,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc - all: tc $(TCSO) - - tc: $(TCOBJ) $(LIBNETLINK) libtc.a -- $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ -+ $(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@ - - libtc.a: $(TCLIB) - $(QUIET_AR)$(AR) rcs $@ $^ -@@ -166,6 +166,7 @@ install: all - clean: - rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.tab.h; \ - rm -f emp_ematch.tab.* -+ rm -f dynsyms.list - - q_atm.so: q_atm.c - $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm -@@ -205,4 +206,16 @@ static-syms.h: $(wildcard *.c) - sed -n '/'$$s'[^ ]* =/{s:.* \([^ ]*'$$s'[^ ]*\) .*:extern char \1[] __attribute__((weak)); if (!strcmp(sym, "\1")) return \1;:;p}' $$files ; \ - done > $@ - -+else -+ -+tc: dynsyms.list -+m_xt.so: dynsyms.list -+dynsyms.list: $(wildcard *.c) -+ files="$(filter-out $(patsubst %.so,%.c,$(TCSO)), $^)" ; \ -+ echo "{" > $@ ; \ -+ for s in `grep -B 3 '\> $@ ; \ -+ echo "show_stats; print_nl; print_tm; parse_rtattr; parse_rtattr_flags; get_u32; matches; addattr_l; addattr_nest; addattr_nest_end; };" >> $@ -+ - endif diff --git a/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch b/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch deleted file mode 100644 index 530d2bcff..000000000 --- a/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/rdma/rdma.h -+++ b/rdma/rdma.h -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - - #include "list.h" - #include "utils.h" From 7a63841f86ed6e67019a214ea0b0df6878c4ad09 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 14 Jan 2025 19:23:33 +0100 Subject: [PATCH 115/199] A few changes and better description in OMR-ByPass interface --- .../resources/view/services/omr-bypass.js | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js b/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js index ee91a690e..08955491c 100644 --- a/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js +++ b/luci-app-omr-bypass/htdocs/luci-static/resources/view/services/omr-bypass.js @@ -17,7 +17,10 @@ return L.view.extend({ load: function() { return Promise.all([ L.resolveDefault(fs.stat('/proc/net/xt_ndpi/proto'), null), - this.callHostHints() + this.callHostHints(), + L.resolveDefault(fs.read_direct('/proc/net/xt_ndpi/proto'), ''), + L.resolveDefault(fs.read_direct('/proc/net/xt_ndpi/host_proto'), ''), + fs.read_direct('/usr/share/omr-bypass/omr-bypass-proto.lst') ]); }, @@ -51,7 +54,7 @@ return L.view.extend({ o = s.option(form.Flag, 'vpn', _('VPN on server'),_('Bypass using VPN configured on server.')); o.modalonly = true - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); o.noaliases = true; o.noinactive = true; o.nocreate = true; @@ -85,7 +88,7 @@ return L.view.extend({ o = s.option(form.Flag, 'vpn', _('VPN on server'),_('Bypass using VPN configured on server.')); o.modalonly = true - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); o.noaliases = true; o.noinactive = true; o.nocreate = true; @@ -112,7 +115,7 @@ return L.view.extend({ o.value('udp'); o.value('icmp'); - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); o.noaliases = true; o.noinactive = true; o.nocreate = true; @@ -138,7 +141,7 @@ return L.view.extend({ o.value('udp'); o.value('icmp'); - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); o.noaliases = true; o.noinactive = true; o.nocreate = true; @@ -162,7 +165,7 @@ return L.view.extend({ o.value(mac, hint ? '%s (%s)'.format(mac, hint) : mac); }); - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); o.noaliases = true; o.noinactive = true; o.nocreate = true; @@ -188,7 +191,7 @@ return L.view.extend({ } }); - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); o.noaliases = true; o.noinactive = true; o.nocreate = true; @@ -210,7 +213,7 @@ return L.view.extend({ o = s.option(form.Flag, 'vpn', _('VPN on server'),_('Bypass using VPN configured on server.')); o.modalonly = true - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used.')); + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used.')); o.noaliases = true; o.noinactive = true; o.nocreate = true; @@ -230,47 +233,44 @@ return L.view.extend({ o = s.option(form.ListValue, 'proto', _('Protocol/Service')); o.rmempty = false; o.load = function(section_id) { - return Promise.all([ - L.resolveDefault(fs.read_direct('/proc/net/xt_ndpi/proto'), ''), - L.resolveDefault(fs.read_direct('/proc/net/xt_ndpi/host_proto'), ''), - fs.read_direct('/usr/share/omr-bypass/omr-bypass-proto.lst') - ]).then(L.bind(function(filesi) { - var proto = filesi[0].split(/\n/), - host = filesi[1].split(/\n/), - protofile = filesi[2].split(/\n/), - name = []; - if (proto.length > 2) { - for (var i = 0; i < proto.length; i++) { - var m = proto[i].split(/\s+/); - if (m && m[0] != "#id" && m[1] != "disabled") - name.push(m[2]); - } + var proto = testhosts[2].split(/\n/), + host = testhosts[3].split(/\n/), + protofile = testhosts[4].split(/\n/), + name = []; + if (proto.length > 2) { + for (var i = 0; i < proto.length; i++) { + var m = proto[i].split(/\s+/); + if (m && m[0] != "#id" && m[1] != "disabled") + name.push(m[2]); } - if (host.length > 2) { - for (var i = 0; i < host.length; i++) { - var m = host[i].split(/:/); - if (m && m[0] != "#Proto") - name.push(m[0].toLowerCase()); - } + } + if (host.length > 2) { + for (var i = 0; i < host.length; i++) { + var m = host[i].split(/:/); + if (m && m[0] != "#Proto") + name.push(m[0].toLowerCase()); } - if (proto.length == 1 && host.length == 1) { - for (var i = 0; i < protofile.length; i++) { - var m = protofile[i]; - name.push(m); - } + } + if (proto.length == 1 && host.length == 1) { + for (var i = 0; i < protofile.length; i++) { + var m = protofile[i]; + name.push(m); } + } + if (host.length > 2) { name = Array.from(new Set(name)).sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase())}).reduce(function(a, b){ if (a.slice(-1)[0] !== b) a.push(b);return a;},[]); - for (var i = 0; i < name.length; i++) { - this.value(name[i]); - } - return this.super('load', [section_id]); - },this)); + } + for (var i = 0; i < name.length; i++) { + this.value(name[i]); + } + return this.super('load', [section_id]); + }; o = s.option(form.Flag, 'vpn', _('VPN on server'),_('Bypass using VPN configured on server.')); o.modalonly = true - o = s.option(widgets.DeviceSelect, 'interface', _('Interface'),_('When none selected, MPTCP master interface is used (or an other interface if master is down).')); + o = s.option(widgets.DeviceSelect, 'interface', _('Output interface'),_('When none selected, MPTCP master interface is used (or an other interface if master is down).')); o.noaliases = true; o.noinactive = true; o.nocreate = true; @@ -287,7 +287,7 @@ return L.view.extend({ o.modalonly = true o = s.option(form.Flag, 'noipv6', _('Disable AAAA IPv6 DNS')); - o.default = o.enabled; + o.default = true; o.modalonly = true if (testhosts[0]) { From ec30f4769da0affdfb021c1e577e38cd2b99a2b0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 14 Jan 2025 19:24:13 +0100 Subject: [PATCH 116/199] Little change in wifi page in luci-mod-network --- .../resources/view/network/wireless.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js b/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js index 53305ed25..46f2a7d30 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js @@ -2028,6 +2028,24 @@ return view.extend({ uci.unset('wireless', radioDev.getName(), 'disabled'); } + var htmodes = radioDev.getHTModes(); + if (bss.vht_operation && htmodes && htmodes.indexOf('VHT20') !== -1) { + for (var w = bss.vht_operation.channel_width; w >= 20; w /= 2) { + if (htmodes.indexOf('VHT'+w) !== -1) { + uci.set('wireless', radioDev.getName(), 'htmode', 'VHT'+w); + break; + } + } + } + else if (bss.ht_operation && htmodes && htmodes.indexOf('HT20') !== -1) { + var w = (bss.ht_operation.secondary_channel_offset == 'no secondary') ? 20 : 40; + uci.set('wireless', radioDev.getName(), 'htmode', 'HT'+w); + } + else { + uci.remove('wireless', radioDev.getName(), 'htmode'); + } + uci.set('wireless', radioDev.getName(), 'channel', bss.channel); + section_id = next_free_sid(wifi_sections.length); uci.add('wireless', 'wifi-iface', section_id); From ed3bc7e666fd31668f9fccd35f04aeb53334bf1a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 15 Jan 2025 10:59:41 +0100 Subject: [PATCH 117/199] Fix VPN device detection in omr-tracker --- omr-tracker/files/bin/omr-tracker | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index 534ea2fee..6bf1573a9 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -298,12 +298,12 @@ while true; do OMR_TRACKER_DEVICE_GATEWAY6= serverip_ping=false [ -z "$OMR_TRACKER_DEVICE" ] || [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ] && { - #network_get_physdev OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" - #[ -z "$OMR_TRACKER_DEVICE" ] && network_get_device OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" [ -z "$OMR_TRACKER_DEVICE" ] && OMR_TRACKER_DEVICE=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["l3_device"]') [ -z "$OMR_TRACKER_DEVICE" ] && OMR_TRACKER_DEVICE=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" | jsonfilter -q -e '@["l3_device"]') #[ -z "$OMR_TRACKER_DEVICE" ] && config_get OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" device [ -n "$(echo $OMR_TRACKER_DEVICE | grep '@')" ] && OMR_TRACKER_DEVICE=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]') + [ -z "$OMR_TRACKER_DEVICE" ] && network_get_physdev OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" + [ -z "$OMR_TRACKER_DEVICE" ] && network_get_device OMR_TRACKER_DEVICE "$OMR_TRACKER_INTERFACE" } if [ -n "$OMR_TRACKER_DEVICE" ] && [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then From fafc6a9cbbc7f5a25efddd05768995b9b7ea0c28 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 15 Jan 2025 11:01:25 +0100 Subject: [PATCH 118/199] Reload omr-tracker in case of VPN interface change --- .../files/etc/hotplug.d/iface/40-omr-tracker | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 omr-tracker/files/etc/hotplug.d/iface/40-omr-tracker diff --git a/omr-tracker/files/etc/hotplug.d/iface/40-omr-tracker b/omr-tracker/files/etc/hotplug.d/iface/40-omr-tracker new file mode 100644 index 000000000..06c71e029 --- /dev/null +++ b/omr-tracker/files/etc/hotplug.d/iface/40-omr-tracker @@ -0,0 +1,13 @@ +#!/bin/sh +[ "$ACTION" = ifup -o "$ACTION" = ifupdate -o "$ACTION" = ifdown -o "$ACTION" = iflink ] || exit 0 + +/etc/init.d/omr-tracker enabled || exit 0 + +if [ "$ACTION" = ifup -o "$ACTION" = ifupdate -o "$ACTION" = iflink ]; then + #if [ "$(uci -q get network.${INTERFACE}.multipath)" = "on" ] || [ "$(uci -q get network.${INTERFACE}.multipath)" = "master" ]; then + if [ "$INTERFACE" = "omrvpn" ]; then + logger -t "OMR-Tracker" "Reloading OMR-Tracker due to $ACTION of $INTERFACE ($DEVICE)" + /etc/init.d/omr-tracker restart "$INTERFACE" >/dev/null || exit 0 + fi +fi + From aa0f3ef0f53295c7aa6ed51f24e2fbbb9678cf49 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 16 Jan 2025 16:55:09 +0100 Subject: [PATCH 119/199] Add option to disable Multipath check display --- .../luasrc/controller/openmptcprouter.lua | 4 ++++ .../luasrc/view/openmptcprouter/settings.htm | 10 ++++++++++ .../files/usr/libexec/rpcd/openmptcprouter | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 6183cfb6c..3be909445 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -1491,6 +1491,10 @@ function settings_add() local disableserverping = luci.http.formvalue("disableserverping") or "0" ucic:set("openmptcprouter","settings","disableserverping",disableserverping) + -- Enable/disable multipath check + local disablemultipathtest = luci.http.formvalue("disablemultipathtest") or "0" + ucic:set("openmptcprouter","settings","disablemultipathtest",disablemultipathtest) + -- Enable/disable shadowsocks udp local shadowsocksudp = luci.http.formvalue("shadowsocksudp") or "0" ucic:set("openmptcprouter","settings","shadowsocksudp",shadowsocksudp) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index 8f69bdb8c..285f62a4b 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -384,6 +384,16 @@ +
+ +
+ checked<% end %>> +
+
+ <%:Disable multipath test display in status page%> +
+
+
diff --git a/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter b/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter index 166565cea..0d40b52a3 100755 --- a/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter +++ b/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter @@ -1585,7 +1585,7 @@ function interfaces_status() local multipath_available = "" local multipath_available_state = "" - if connectivity ~= "ERROR" and mArray.openmptcprouter["dns"] == true and ifname ~= nil and ifname ~= "" and (gateway ~= "" or gateway6 ~= "") and (gw_ping == "UP" or gw_ping6 == "UP") then + if connectivity ~= "ERROR" and mArray.openmptcprouter["dns"] == true and ifname ~= nil and ifname ~= "" and (gateway ~= "" or gateway6 ~= "") and (gw_ping == "UP" or gw_ping6 == "UP") and uci:get("openmptcprouter", "settings", "disablemultipathtest") ~= "1" then -- Test if multipath can work on the connection local multipath_available_state = uci:get("openmptcprouter",interface,"mptcp_status") or "" if multipath_available_state == "" then From fafeaf75027135e99aa4cd28b7e37e176ef6b4c3 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 17 Jan 2025 11:02:51 +0100 Subject: [PATCH 120/199] Force lan interface device on initial config --- openmptcprouter/files/etc/uci-defaults/1920-omr-network | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index be8759eeb..36ffd02e5 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -65,6 +65,7 @@ _setup_wan_interface() { set network.$1.defaultroute=0 set network.$1.delegate=0 set network.$1.addlatency=0 + delete network.$1.ifname set network.${1}_dev=device set network.${1}_dev.name=$2 set network.${1}_dev.txqueuelen=1000 @@ -195,6 +196,9 @@ set network.lan.delegate=0 set network.lan.addlatency=0 set network.lan.txqueuelen=2000 set dhcp.lan.dhcpv4='server' +set network.lan_dev=device +set network.lan_dev.name=${lanif} + EOF uci -q batch <<-EOF @@ -291,6 +295,11 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get _setup_wan_interface wan4 lan4 on _macaddr=$(uci -q get "network.lan4.macaddr") _setup_macaddr "wan4" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" + if [ -d /sys/class/net/lan5 ] || [ -n "$(ip link | grep ' lan5')" ]; then + _setup_wan_interface wan5 lan5 on + _macaddr=$(uci -q get "network.lan5.macaddr") + _setup_macaddr "wan5" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" + fi fi fi else From f8e47a9fc50c81fe9ba668ffb2598408705a9b9b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 17 Jan 2025 11:03:15 +0100 Subject: [PATCH 121/199] Set 4G/5G modems on z8102 --- z8102/files/etc/init.d/z8102 | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/z8102/files/etc/init.d/z8102 b/z8102/files/etc/init.d/z8102 index 36c3ffe2c..7cbd75e6d 100755 --- a/z8102/files/etc/init.d/z8102 +++ b/z8102/files/etc/init.d/z8102 @@ -1,6 +1,6 @@ #!/bin/sh /etc/rc.common # Copyright (C) 2013 OpenWrt.org -# Copyright (C) 2023 Yannick Chabanois (Ycarus) for OpenMPTCProuter +# Copyright (C) 2023-2025 Yannick Chabanois (Ycarus) for OpenMPTCProuter START=00 USE_PROCD=1 @@ -48,7 +48,22 @@ modem1() else gpioset -t0 modem1=1 fi + if [ -n "$(uci -q get network.modem1)" ] && [ -z "$(uci -q get network.modem1.device)" ]; then + sleep 20 + if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' + commit network + EOF + elif [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1' + commit network + EOF + fi + fi } + modem2() { # sim 2 @@ -88,7 +103,22 @@ modem2() else gpioset -t0 modem2=1 fi + if [ -n "$(uci -q get network.modem2)" ] && [ -z "$(uci -q get network.modem2.device)" ]; then + sleep 20 + if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2 ]; then + uci -q batch <<-EOF + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' + commit network + EOF + elif [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2 ]; then + uci -q batch <<-EOF + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2' + commit network + EOF + fi + fi } + start_service() { modem="$1" From 4314c7a4876a5220198aa53865219be17d4d2abc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 17 Jan 2025 12:47:52 +0100 Subject: [PATCH 122/199] Set 5G modems for z8102ax via OMR-Tracker post-tracking initilize script --- .../share/omr/post-tracking.d/001-initialize | 19 +++++++++++-- .../files/etc/uci-defaults/1920-omr-network | 9 ++---- z8102/files/etc/init.d/z8102 | 28 ------------------- 3 files changed, 20 insertions(+), 36 deletions(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize b/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize index cd370e8b3..06a8e6417 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize @@ -1,11 +1,11 @@ #!/bin/sh # -# Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # -# This script check if MPTCP status is correct on interface +# This script check if MPTCP status is correct on interface and if modems are correctly set on z8102ax # Set default multipath status [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] && multipath "$OMR_TRACKER_DEVICE" off >/dev/null 2>&1 @@ -27,3 +27,18 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$OMR_TR exit 0 fi fi + +if [ -n "$(grep z8102ax /etc/board.json)" ]; then + if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' + EOF + elif [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2' + EOF + fi + [ -n "$(uci -q changes network)" ] && uci -q commit network +fi \ No newline at end of file diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index 36ffd02e5..9a9303c58 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -494,13 +494,10 @@ if [ "$board" = "z8102ax-128m" ] || [ "$board" = "z8102ax-64m" ] || [ "$board" = set network.modem2.delegate='0' set network.modem2.multipath='on' set network.modem2.defaultroute='0' + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' EOF - if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1 ]; then - uci -q batch <<-EOF - set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' - set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' - EOF - elif [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1 ]; then + if [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1 ]; then uci -q batch <<-EOF set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1' set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2' diff --git a/z8102/files/etc/init.d/z8102 b/z8102/files/etc/init.d/z8102 index 7cbd75e6d..7a7c9743d 100755 --- a/z8102/files/etc/init.d/z8102 +++ b/z8102/files/etc/init.d/z8102 @@ -48,20 +48,6 @@ modem1() else gpioset -t0 modem1=1 fi - if [ -n "$(uci -q get network.modem1)" ] && [ -z "$(uci -q get network.modem1.device)" ]; then - sleep 20 - if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1 ]; then - uci -q batch <<-EOF - set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' - commit network - EOF - elif [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1 ]; then - uci -q batch <<-EOF - set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1' - commit network - EOF - fi - fi } modem2() @@ -103,20 +89,6 @@ modem2() else gpioset -t0 modem2=1 fi - if [ -n "$(uci -q get network.modem2)" ] && [ -z "$(uci -q get network.modem2.device)" ]; then - sleep 20 - if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2 ]; then - uci -q batch <<-EOF - set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' - commit network - EOF - elif [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2 ]; then - uci -q batch <<-EOF - set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2' - commit network - EOF - fi - fi } start_service() From 09e0943ab4e1840b5ba6424be3f8a8a3919aba8e Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 17 Jan 2025 17:33:18 +0100 Subject: [PATCH 123/199] Update Glorytun-TCP to be able to use MPTCP upstream --- glorytun/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glorytun/Makefile b/glorytun/Makefile index 10297ff4d..995fbfc44 100644 --- a/glorytun/Makefile +++ b/glorytun/Makefile @@ -9,9 +9,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=glorytun -PKG_RELEASE:=7 +PKG_RELEASE:=8 PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=0c3b03cf0215e0896fd8e7e91be92efa77f6a2d1 +PKG_SOURCE_VERSION:=8aebb3efb3b108b1276aa74679e200e003f298de PKG_SOURCE:=glorytun-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/Ysurac/glorytun.git PKG_VERSION:=0.0.35 From 3744f3bdbfdd468ddfcda4a1812c249d7449c490 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 23 Jan 2025 12:46:50 +0100 Subject: [PATCH 124/199] Add link quality checks in OMR-Tracker-Server --- omr-tracker/files/bin/omr-tracker-server | 85 ++++++++++++++++++------ 1 file changed, 63 insertions(+), 22 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index ab2daea60..7067d700c 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -8,6 +8,8 @@ basename="$(basename $0)" export OMR_TRACKER_STATUS export OMR_TRACKER_STATUS_MSG +export OMR_TRACKER_LATENCY +export OMR_TRACKER_LOSS _log() { logger -p daemon.info -t "${basename}" "$@" @@ -35,6 +37,11 @@ _ping_server() { ) loss=$(echo "$ret" | awk '/packet loss/ {gsub("%","");print $6}' | tr -d '\n') if [ -n "$loss" ] && [ "$loss" != "100" ]; then + latency=$(echo "$ret" | awk -F/ '/rtt/ {print int($5)}' | tr -d '\n') + [ -n "$latency" ] && { + OMR_TRACKER_LATENCY="$latency" + } + OMR_TRACKER_LOSS="$loss" server_ping=true fi } @@ -53,7 +60,35 @@ _ping_server_intf() { ) loss=$(echo "$ret" | awk '/packet loss/ {gsub("%","");print $6}' | tr -d '\n') if [ -n "$loss" ] && [ "$loss" != "100" ]; then + latency=$(echo "$ret" | awk -F/ '/rtt/ {print int($5)}' | tr -d '\n') + [ -n "$latency" ] && { + OMR_TRACKER_LATENCY="$latency" + } + OMR_TRACKER_LOSS="$loss" server_ping=true + if [ "$OMR_TRACKER_CHECK_QUALITY" = "1" ]; then + if [ "$OMR_TRACKER_PREV_STATUS" = "OK" ]; then + if [ -n "$OMR_TRACKER_LOSS" ] && [ -n "$OMR_TRACKER_RECOVERY_LOSS" ] && [ "$OMR_TRACKER_LOSS" -ge "$OMR_TRACKER_FAILURE_LOSS" ]; then + OMR_TRACKER_STATUS="ERROR" + OMR_TRACKER_STATUS_MSG="Packet loss is $OMR_TRACKER_LOSS this is more than failure limit defined at $OMR_TRACKER_FAILURE_LOSS" + server_ping=false + elif [ -n "$OMR_TRACKER_LATENCY" ] && [ -n "$OMR_TRACKER_FAILURE_LATENCY"] && [ "$OMR_TRACKER_LATENCY" -ge "$OMR_TRACKER_FAILURE_LATENCY" ]; then + OMR_TRACKER_STATUS="ERROR" + OMR_TRACKER_STATUS_MSG="Latency is $OMR_TRACKER_LATENCY this is more than failure limit defined at $OMR_TRACKER_FAILURE_LATENCY" + server_ping=false + fi + elif [ "$OMR_TRACKER_PREV_STATUS" = "ERROR" ]; then + if [ -n "$OMR_TRACKER_LOSS" ] && [ -n "$OMR_TRACKER_RECOVERY_LOSS" ] && [ "$OMR_TRACKER_LOSS" -ge "$OMR_TRACKER_RECOVERY_LOSS" ]; then + OMR_TRACKER_STATUS="ERROR" + OMR_TRACKER_STATUS_MSG="Packet loss is $OMR_TRACKER_LOSS this is more than recovery limit defined at $OMR_TRACKER_RECOVERY_LOSS" + server_ping=false + elif [ -n "$OMR_TRACKER_LATENCY" ] && [ -n "$OMR_TRACKER_RECOVERY_LATENCY" ] && [ "$OMR_TRACKER_LATENCY" -ge "$OMR_TRACKER_RECOVERY_LATENCY" ]; then + OMR_TRACKER_STATUS="ERROR" + OMR_TRACKER_STATUS_MSG="Latency is $OMR_TRACKER_LATENCY this is more than recovery limit defined at $OMR_TRACKER_RECOVERY_LATENCY" + server_ping=false + fi + fi + fi fi k=$((k+1)) sleep "${intervaltries}" @@ -208,16 +243,6 @@ _check_master() { set shadowsocks-libev.sss${count}.server="$ip" set shadowsocks-rust.sss${count}.server="$ip" EOF - if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then - uci -q batch <<-EOF >/dev/null - set shadowsocks-rust.sss${count}.disabled=0 - EOF - fi - if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks" ]; then - uci -q batch <<-EOF >/dev/null - set shadowsocks-libev.sss${count}.disabled=0 - EOF - fi if [ -z "$(uci -q get openvpn.omr.remote | grep $ip)" ]; then uci -q batch <<-EOF >/dev/null add_list openvpn.omr.remote="$ip" @@ -271,6 +296,22 @@ _check_master() { /etc/init.d/mptcpovervpn restart >/dev/null 2>/dev/null fi fi + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-rust.sss${count}.disabled=0 + EOF + fi + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.sss${count}.disabled=0 + EOF + fi + if [ "$(uci -q get openmptcprouter.settings.vpn)" = "openvpn" ]; then + uci -q batch <<-EOF >/dev/null + set openvpn.omr.enabled=1 + EOF + fi + config_load shadowsocks-libev config_foreach _enable_redir ss_redir "shadowsocks-libev" config_load shadowsocks-rust @@ -314,7 +355,7 @@ _check_master() { #fi - OMR_TRACKER_STATUS_MSG="No answer to ping and to API check" + [ -z "$OMR_TRACKER_STATUS_MSG" ] && OMR_TRACKER_STATUS_MSG="No answer to ping and to API check" mail_alert="$(uci -q get omr-tracker.server.mail_alert)" #[ -z "$mail_alert" ] && mail_alert="$(uci -q get omr-tracker.defaults.mail_alert)" [ "$mail_alert" = "1" ] && [ -n "$(uci -q get mail.default.to)" ] && { @@ -419,16 +460,6 @@ _check_backup() { set shadowsocks-libev.sss${count}.server="$ip" set shadowsocks-rust.sss${count}.server="$ip" EOF - if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then - uci -q batch <<-EOF >/dev/null - set shadowsocks-rust.sss${count}.disabled=0 - EOF - fi - if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks" ]; then - uci -q batch <<-EOF >/dev/null - set shadowsocks-libev.sss${count}.disabled=0 - EOF - fi uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='1' del openmptcprouter.omr.detected_ss_ipv4 @@ -479,6 +510,16 @@ _check_backup() { fi sleep $waittest fi + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks-rust" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-rust.sss${count}.disabled=0 + EOF + fi + if [ "$(uci -q get openmptcprouter.settings.proxy)" = "shadowsocks" ]; then + uci -q batch <<-EOF >/dev/null + set shadowsocks-libev.sss${count}.disabled=0 + EOF + fi config_load shadowsocks-libev config_foreach _enable_redir ss_redir "shadowsocks-libev" @@ -517,7 +558,7 @@ _check_backup() { config_foreach _get_server_name server "$ip" [ -n "$servername" ] && config_foreach _disable_redir ss_redir "$servername" "shadowsocks-rust" - OMR_TRACKER_STATUS_MSG="No answer to ping and to API check" + [ -z "$OMR_TRACKER_STATUS_MSG" ] && OMR_TRACKER_STATUS_MSG="No answer to ping and to API check" mail_alert="$(uci -q get omr-tracker.server.mail_alert)" #[ -z "$mail_alert" ] && mail_alert="$(uci -q get omr-tracker.defaults.mail_alert)" [ "$mail_alert" = "1" ] && [ -n "$(uci -q get mail.default.to)" ] && { From 56b97f9cf388e5e24807edc3ea47634c428af32a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 23 Jan 2025 12:47:17 +0100 Subject: [PATCH 125/199] Add help text for BPF MPTCP scheduler in MPTCP interface --- .../htdocs/luci-static/resources/view/mptcp/mptcp.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js index 9ad55e0da..80a7a5fcc 100644 --- a/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js +++ b/luci-app-mptcp/htdocs/luci-static/resources/view/mptcp/mptcp.js @@ -57,7 +57,13 @@ return L.view.extend({ o.value("netlink", _("Netlink")); } - o = s.option(form.ListValue, "mptcp_scheduler", _("Multipath TCP scheduler")); + o = s.option(form.ListValue, "mptcp_scheduler", _("Multipath TCP scheduler"), _('BPF schedulers (not available on all platforms):') + '
' + + _('bpf_burst => same as the default scheduler') + '
' + + _('bpf_red => sends all packets redundantly on all available subflows') + '
' + + _('bpf_first => always picks the first subflow to send data') + '
' + + _('bpf_rr => always picks the next available subflow to send data (round-robin)') + + ); o.value("default", _("default")); if (parseFloat(boardinfo.kernel.substring(0,4)) < 6) { o.value("roundrobin", "round-robin"); From 16972ab57403eabd409fb788378e3411a73b689e Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 27 Jan 2025 19:28:19 +0100 Subject: [PATCH 126/199] Add check link quality to server in omr-tracker interface --- .../view/omr-tracker/network/server.js | 52 +++++++++++++++++-- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js index a4359aad4..841095f28 100644 --- a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js +++ b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js @@ -70,12 +70,58 @@ return view.extend({ o.value('5'); o.modalonly = true; -/* o = s.option(form.Flag, 'check_quality', _('Check link quality')); - o.depends('track_method', 'ping'); + o.depends('type', 'ping'); + o.depends('type', 'apiping'); o.default = false; o.modalonly = true; -*/ + + o = s.option(form.Value, 'failure_latency', _('Failure latency [ms]')); + o.depends('check_quality', '1'); + o.default = '1000'; + o.value('25'); + o.value('50'); + o.value('75'); + o.value('100'); + o.value('150'); + o.value('200'); + o.value('250'); + o.value('300'); + o.modalonly = true; + + o = s.option(form.Value, 'failure_loss', _('Failure packet loss [%]')); + o.depends('check_quality', '1'); + o.default = '40'; + o.value('2'); + o.value('5'); + o.value('10'); + o.value('20'); + o.value('25'); + o.modalonly = true; + + o = s.option(form.Value, 'recovery_latency', _('Recovery latency [ms]')); + o.depends('check_quality', '1'); + o.default = '500'; + o.value('25'); + o.value('50'); + o.value('75'); + o.value('100'); + o.value('150'); + o.value('200'); + o.value('250'); + o.value('300'); + o.modalonly = true; + + o = s.option(form.Value, 'recovery_loss', _('Recovery packet loss [%]')); + o.depends('check_quality', '1'); + o.default = '10'; + o.value('2'); + o.value('5'); + o.value('10'); + o.value('20'); + o.value('25'); + o.modalonly = true; + o = s.option(form.ListValue, "timeout", _("Test timeout")); o.default = '4'; o.value('1', _('%d second').format('1')); From 6185ad638a2cb99bf3bb8f0942b5ac39ad4d5cc5 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 27 Jan 2025 19:29:25 +0100 Subject: [PATCH 127/199] Add whois timeout setting in openmptcprouter interface --- .../luasrc/controller/openmptcprouter.lua | 4 ++++ .../luasrc/view/openmptcprouter/settings.htm | 11 ++++++++++- .../root/etc/uci-defaults/openmptcprouter | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 3be909445..2c7713fa3 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -1463,6 +1463,10 @@ function settings_add() local status_getip_timeout = luci.http.formvalue("status_getip_timeout") or "1" ucic:set("openmptcprouter","settings","status_getip_timeout",status_getip_timeout) + -- Whois timeout + local status_whois_timeout = luci.http.formvalue("status_whois_timeout") or "2" + ucic:set("openmptcprouter","settings","status_whois_timeout",status_whois_timeout) + -- Enable/disable loop detection local disableloopdetection = luci.http.formvalue("disableloopdetection") or "0" ucic:set("openmptcprouter","settings","disableloopdetection",disableloopdetection) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index 285f62a4b..c858eac44 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -286,7 +286,16 @@
- +
+ +
+ "> +
+
+ <%:Timeout for retrieving Whois WANs IP on status pages%> +
+
+
diff --git a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter index 7d05eda2f..c30836b1d 100755 --- a/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter +++ b/luci-app-openmptcprouter/root/etc/uci-defaults/openmptcprouter @@ -98,6 +98,12 @@ if [ "$(uci -q get openmptcprouter.settings.status_getip_timeout)" = "" ]; then commit openmptcprouter EOF fi +if [ "$(uci -q get openmptcprouter.settings.status_whois_timeout)" = "" ]; then + uci -q batch <<-EOF >/dev/null + set openmptcprouter.settings.status_whois_timeout=2 + commit openmptcprouter + EOF +fi if [ "$(uci -q get openmptcprouter.settings.enable_nodelay)" = "" ]; then uci -q batch <<-EOF >/dev/null set openmptcprouter.settings.enable_nodelay=1 From 7000aa16b4099f89cbdadc84a8a88dc3d71bcba7 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 27 Jan 2025 19:30:11 +0100 Subject: [PATCH 128/199] Detect SQM & QoS installation using apk in openmptcprouter interface --- .../luasrc/view/openmptcprouter/wizard.htm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm index 1959140a2..cea83f0e1 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm @@ -11,7 +11,13 @@ local ifttyu = nixio.fs.glob("/dev/ttyUSB*") local ifttyc = nixio.fs.glob("/dev/cdc-wdm*") local sqm = luci.sys.exec("opkg list-installed | grep -q luci-app-sqm && echo -n '1' || echo -n '0'") + if sqm == "0" then + sqm = luci.sys.exec("apk list | grep installed | grep -q luci-app-sqm && echo -n '1' || echo -n '0'") + end local qos = luci.sys.exec("opkg list-installed | grep -q luci-app-qos && echo -n '1' || echo -n '0'") + if qos == "0" then + qos = luci.sys.exec("apk list | grep installed | grep -q luci-app-qos && echo -n '1' || echo -n '0'") + end menuentry = uci:get("openmptcprouter","settings","menu") or "openmptcprouter" function device_notvirtual(dev) if dev:match("^eth.*") or dev:match("^wwan.*") or dev:match("^tun.*") or dev:match("/") then From 32ad6d755c2d04d3b1192ec59a65a0ff8ad56367 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 27 Jan 2025 19:31:26 +0100 Subject: [PATCH 129/199] Remove opkg check in Shadowsocks-libev/rust interface --- .../htdocs/luci-static/resources/shadowsocks-libev.js | 2 ++ .../luci-static/resources/view/shadowsocks-libev/instances.js | 2 ++ .../htdocs/luci-static/resources/shadowsocks-rust.js | 2 ++ .../luci-static/resources/view/shadowsocks-rust/instances.js | 2 ++ 4 files changed, 8 insertions(+) diff --git a/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js b/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js index a6460f68d..e2b72a513 100644 --- a/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js +++ b/luci-app-shadowsocks-libev/htdocs/luci-static/resources/shadowsocks-libev.js @@ -230,6 +230,7 @@ return L.Class.extend({ } }); }, + /* option_install_package: function(s, tab) { var bin = s.sectiontype.replace('_', '-'), opkg_package = 'shadowsocks-libev-' + bin, o; @@ -246,6 +247,7 @@ return L.Class.extend({ '?query=' + opkg_package, '_blank', 'noopener'); }; }, + */ parse_uri: function(uri) { var scheme = 'ss://'; if (uri && uri.indexOf(scheme) === 0) { diff --git a/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js b/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js index 0e5d76317..b739d4dcd 100644 --- a/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js +++ b/luci-app-shadowsocks-libev/htdocs/luci-static/resources/view/shadowsocks-libev/instances.js @@ -76,9 +76,11 @@ return L.view.extend({ s.tab('advanced', _('Advanced Settings')); s.taboption('general', form.Value, 'label', _('Label')); s.taboption('general', form.Flag, 'disabled', _('Disable')); + /* if (!res[0]) { ss.option_install_package(s, 'general'); } + */ ss.options_common(s, 'advanced'); if (stype === 'ss_server') { diff --git a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js index 238cb10bb..76f6303a9 100644 --- a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js +++ b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js @@ -213,6 +213,7 @@ return L.Class.extend({ } }); }, + /* option_install_package: function(s, tab) { var bin = s.sectiontype.replace('_', '-'), opkg_package = 'shadowsocks-rust-' + bin, o; @@ -229,6 +230,7 @@ return L.Class.extend({ '?query=' + opkg_package, '_blank', 'noopener'); }; }, + */ parse_uri: function(uri) { var scheme = 'ss://'; if (uri && uri.indexOf(scheme) === 0) { diff --git a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js index 419eed46f..b4339bd1f 100644 --- a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js +++ b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js @@ -76,9 +76,11 @@ return L.view.extend({ s.tab('advanced', _('Advanced Settings')); s.taboption('general', form.Value, 'label', _('Label')); s.taboption('general', form.Flag, 'disabled', _('Disable')); + /* if (!res[0]) { ss.option_install_package(s, 'general'); } + */ ss.options_common(s, 'advanced'); if (stype === 'ss_server') { From 19aa4ac132f1072d2e551480e42ed346c7eb1b58 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 27 Jan 2025 19:32:44 +0100 Subject: [PATCH 130/199] Remove opkg references in luci-mod-network --- .../resources/view/network/interfaces.js | 15 +++++---------- .../usr/share/rpcd/acl.d/luci-mod-network.json | 1 - 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js index 1dc5c6bff..0c575c416 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js @@ -330,7 +330,7 @@ return view.extend({ var e = map.querySelector('[id="cbi-network-%s"] .cbi-button-edit'.format(ifc.getName())); if (e) e.disabled = true; - var link = L.url('admin/system/opkg') + '?query=luci-proto'; + var link = L.url('admin/system/package-manager') + '?query=luci-proto'; dom.content(dsc, [ E('em', _('Unsupported protocol type.')), E('br'), E('a', { href: link }, _('Install protocol extensions...')) @@ -371,7 +371,6 @@ return view.extend({ network.getDSLModemType(), network.getDevices(), fs.lines('/etc/iproute2/rt_tables'), - L.resolveDefault(fs.read('/usr/lib/opkg/info/netifd.control')), uci.changes() ]); }, @@ -471,14 +470,10 @@ return view.extend({ }, render: function(data) { - var netifdVersion = (data[3] || '').match(/Version: ([^\n]+)/); - - if (netifdVersion && netifdVersion[1] >= "2021-05-26") { - if (this.interfaceBridgeWithIfnameSections().length) - return this.renderBridgeMigration(); - else if (this.deviceWithIfnameSections().length || this.interfaceWithIfnameSections().length) - return this.renderIfnameMigration(); - } + if (this.interfaceBridgeWithIfnameSections().length) + return this.renderBridgeMigration(); + else if (this.deviceWithIfnameSections().length || this.interfaceWithIfnameSections().length) + return this.renderIfnameMigration(); var dslModemType = data[0], netDevs = data[1], diff --git a/luci-mod-network/root/usr/share/rpcd/acl.d/luci-mod-network.json b/luci-mod-network/root/usr/share/rpcd/acl.d/luci-mod-network.json index 40ad05bc8..96a0d5ccf 100644 --- a/luci-mod-network/root/usr/share/rpcd/acl.d/luci-mod-network.json +++ b/luci-mod-network/root/usr/share/rpcd/acl.d/luci-mod-network.json @@ -8,7 +8,6 @@ "/proc/sys/net/ipv6/conf/*/mtu": [ "read" ], "/proc/sys/net/ipv6/conf/*/hop_limit": [ "read" ], "/usr/libexec/luci-peeraddr": [ "exec" ], - "/usr/lib/opkg/info/netifd.control": [ "read" ], "/proc/sys/net/ipv[46]/conf/*": [ "read" ], "/sys/class/net/*/brport/*": [ "read" ] }, From ab3cbb9a48fa779c4a8f365fd6406486b1885670 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 27 Jan 2025 19:33:14 +0100 Subject: [PATCH 131/199] Adapt sysupgrade init script to apk --- openmptcprouter/files/etc/init.d/sysupgrade | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/openmptcprouter/files/etc/init.d/sysupgrade b/openmptcprouter/files/etc/init.d/sysupgrade index 44aac9fa8..d9ba5b6bb 100755 --- a/openmptcprouter/files/etc/init.d/sysupgrade +++ b/openmptcprouter/files/etc/init.d/sysupgrade @@ -1,5 +1,5 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2020-2024 Ycarus (Yannick Chabanois) +# Copyright (C) 2020-2025 Ycarus (Yannick Chabanois) # Released under GPL 3. See LICENSE for the full terms. { @@ -11,10 +11,16 @@ start_service() { if [ -f /etc/backup/installed_packages.txt ]; then - opkg -V0 update >/dev/null 2>&1 - if [ -z "$(grep '\toverlay' /etc/backup/installed_packages.txt | cut -f1 | xargs -r opkg -V0 install)" ]; then - rm /etc/backup/installed_packages.txt - fi + if [ -e /usr/bin/apk ]; then + apk update >/dev/null 2>&1 + if [ -z "$(grep '\toverlay' /etc/backup/installed_packages.txt | cut -f1 | xargs -r apk add)" ]; then + rm /etc/backup/installed_packages.txt + fi + else + opkg -V0 update >/dev/null 2>&1 + if [ -z "$(grep '\toverlay' /etc/backup/installed_packages.txt | cut -f1 | xargs -r opkg -V0 install)" ]; then + rm /etc/backup/installed_packages.txt + fi fi } From 0f0be7c8ca282f5a41dd3e3febdf1c973960d971 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 27 Jan 2025 19:33:47 +0100 Subject: [PATCH 132/199] Use whois timeout in omr-tracker post-tracking status script --- omr-tracker/files/usr/share/omr/post-tracking.d/020-status | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/020-status b/omr-tracker/files/usr/share/omr/post-tracking.d/020-status index a70ac623d..f0e0af08f 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/020-status +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/020-status @@ -50,7 +50,9 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && { [ "$(uci -q get openmptcprouter.$OMR_TRA if [ "$(uci -q get openmptcprouter.settings.external_check)" != "0" ]; then #asn="$(wget -4 -qO- -T 4 http://api.iptoasn.com/v1/as/ip/$ipaddr | jsonfilter -q -e '@.as_description')" #[ -z "$asn" ] && { - asn="$(timeout 2 whois $ipaddr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')" + whoistimeout=$(uci -q get openmptcprouter.settings.status_whois_timeout) + [ -z "$whoistimeout" ] && whoistimeout=2 + asn="$(timeout $whoistimeout whois $ipaddr 2>/dev/null | grep -m 1 -i 'netname' | awk '{print $2}')" #} fi [ -z "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE)" ] && { From e8536cb8394edd5670109128e0709f9fe33efd58 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 29 Jan 2025 18:14:35 +0100 Subject: [PATCH 133/199] Remove netifd fork --- netifd/Makefile | 53 ------- netifd/files/etc/hotplug.d/iface/00-netstate | 6 - netifd/files/etc/init.d/network | 144 ------------------ netifd/files/etc/init.d/packet_steering | 18 --- .../etc/uci-defaults/14_migrate-dhcp-release | 23 --- netifd/files/etc/udhcpc.user | 1 - netifd/files/lib/netifd/dhcp.script | 122 --------------- netifd/files/lib/netifd/proto/dhcp.sh | 89 ----------- netifd/files/lib/network/config.sh | 76 --------- netifd/files/sbin/devstatus | 12 -- netifd/files/sbin/ifdown | 1 - netifd/files/sbin/ifstatus | 13 -- netifd/files/sbin/ifup | 77 ---------- .../usr/libexec/network/packet-steering.sh | 70 --------- netifd/files/usr/share/udhcpc/default.script | 57 ------- .../patches/001-defin-RTN_POLICY_FAILED.patch | 12 -- 16 files changed, 774 deletions(-) delete mode 100644 netifd/Makefile delete mode 100644 netifd/files/etc/hotplug.d/iface/00-netstate delete mode 100755 netifd/files/etc/init.d/network delete mode 100755 netifd/files/etc/init.d/packet_steering delete mode 100644 netifd/files/etc/uci-defaults/14_migrate-dhcp-release delete mode 100644 netifd/files/etc/udhcpc.user delete mode 100755 netifd/files/lib/netifd/dhcp.script delete mode 100755 netifd/files/lib/netifd/proto/dhcp.sh delete mode 100755 netifd/files/lib/network/config.sh delete mode 100755 netifd/files/sbin/devstatus delete mode 120000 netifd/files/sbin/ifdown delete mode 100755 netifd/files/sbin/ifstatus delete mode 100755 netifd/files/sbin/ifup delete mode 100755 netifd/files/usr/libexec/network/packet-steering.sh delete mode 100755 netifd/files/usr/share/udhcpc/default.script delete mode 100644 netifd/patches/001-defin-RTN_POLICY_FAILED.patch diff --git a/netifd/Makefile b/netifd/Makefile deleted file mode 100644 index 2a9d4cc1b..000000000 --- a/netifd/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=netifd -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -#PKG_SOURCE_DATE:=2023-11-20 -#PKG_SOURCE_VERSION:=f3e06e81b347bbdec1c6c71603328b6e442728d4 -#PKG_MIRROR_HASH:=f16dd61aede5597fd7b5ee8e7752a916494281bc981b35c16e788ddb7409584a -PKG_SOURCE_DATE:=2023-11-14 -PKG_SOURCE_VERSION:=8587c074f1eb2064c42adb0a6aa5073f695ab89d -PKG_MIRROR_HASH:=f5ceb771badd7a23cceb53537299580d4b483e2b3ec5de09b9c3c54692893dd9 -PKG_MAINTAINER:=Felix Fietkau - -PKG_LICENSE:=GPL-2.0 -PKG_LICENSE_FILES:= - -PKG_BUILD_FLAGS:=lto - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -define Package/netifd - SECTION:=base - CATEGORY:=Base system -# DEPENDS:=+libuci +libnl-tiny +libubus +ubus +ubusd +jshn +libubox +libudebug - DEPENDS:=+libuci +libnl-tiny +libubus +ubus +ubusd +jshn +libubox - TITLE:=OpenWrt Network Interface Configuration Daemon -endef - -define Package/netifd/conffiles -/etc/udhcpc.user -/etc/udhcpc.user.d/ -endef - -TARGET_CFLAGS += \ - -I$(STAGING_DIR)/usr/include/libnl-tiny \ - -I$(STAGING_DIR)/usr/include - -CMAKE_OPTIONS += \ - -DLIBNL_LIBS=-lnl-tiny \ - -DDEBUG=1 - -define Package/netifd/install - $(INSTALL_DIR) $(1)/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/netifd $(1)/sbin/ - $(CP) ./files/* $(1)/ - $(INSTALL_DIR) $(1)/etc/udhcpc.user.d/ - $(CP) $(PKG_BUILD_DIR)/scripts/* $(1)/lib/netifd/ -endef - -$(eval $(call BuildPackage,netifd)) diff --git a/netifd/files/etc/hotplug.d/iface/00-netstate b/netifd/files/etc/hotplug.d/iface/00-netstate deleted file mode 100644 index 71ccb0191..000000000 --- a/netifd/files/etc/hotplug.d/iface/00-netstate +++ /dev/null @@ -1,6 +0,0 @@ -[ ifup = "$ACTION" ] && { - uci_toggle_state network "$INTERFACE" up 1 - [ -n "$DEVICE" ] && { - uci_toggle_state network "$INTERFACE" ifname "$DEVICE" - } -} diff --git a/netifd/files/etc/init.d/network b/netifd/files/etc/init.d/network deleted file mode 100755 index dc208c4ce..000000000 --- a/netifd/files/etc/init.d/network +++ /dev/null @@ -1,144 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=20 -STOP=90 - -USE_PROCD=1 - -init_switch() { - setup_switch() { return 0; } - - include /lib/network - setup_switch -} - -start_service() { - init_switch - - procd_open_instance - procd_set_param command /sbin/netifd - procd_set_param respawn - procd_set_param watch network.interface - [ -e /proc/sys/kernel/core_pattern ] && { - procd_set_param limits core="unlimited" - } - procd_close_instance -} - -reload_service() { - local rv=0 - - init_switch - ubus call network reload || rv=1 - /sbin/wifi reload_legacy - return $rv -} - -stop_service() { - /sbin/wifi down - ifdown -a - sleep 1 -} - -validate_atm_bridge_section() -{ - uci_validate_section network "atm-bridge" "${1}" \ - 'unit:uinteger:0' \ - 'vci:range(32, 65535):35' \ - 'vpi:range(0, 255):8' \ - 'atmdev:uinteger:0' \ - 'encaps:or("llc", "vc"):llc' \ - 'payload:or("bridged", "routed"):bridged' -} - -validate_route_section() -{ - uci_validate_section network route "${1}" \ - 'interface:string' \ - 'target:cidr4' \ - 'netmask:netmask4' \ - 'gateway:ip4addr' \ - 'metric:uinteger' \ - 'mtu:uinteger' \ - 'table:or(range(0,65535),string)' -} - -validate_route6_section() -{ - uci_validate_section network route6 "${1}" \ - 'interface:string' \ - 'target:cidr6' \ - 'gateway:ip6addr' \ - 'metric:uinteger' \ - 'mtu:uinteger' \ - 'table:or(range(0,65535),string)' -} - -validate_rule_section() -{ - uci_validate_section network rule "${1}" \ - 'in:string' \ - 'out:string' \ - 'src:cidr4' \ - 'dest:cidr4' \ - 'tos:range(0,31)' \ - 'mark:string' \ - 'invert:bool' \ - 'lookup:or(range(0,65535),string)' \ - 'goto:range(0,65535)' \ - 'action:or("prohibit", "unreachable", "blackhole", "throw")' -} - -validate_rule6_section() -{ - uci_validate_section network rule6 "${1}" \ - 'in:string' \ - 'out:string' \ - 'src:cidr6' \ - 'dest:cidr6' \ - 'tos:range(0,31)' \ - 'mark:string' \ - 'invert:bool' \ - 'lookup:or(range(0,65535),string)' \ - 'goto:range(0,65535)' \ - 'action:or("prohibit", "unreachable", "blackhole", "throw")' -} - -validate_switch_section() -{ - uci_validate_section network switch "${1}" \ - 'name:string' \ - 'enable:bool' \ - 'enable_vlan:bool' \ - 'reset:bool' \ - 'ar8xxx_mib_poll_interval:uinteger' \ - 'ar8xxx_mib_type:range(0,1)' -} - -validate_switch_vlan() -{ - uci_validate_section network switch_vlan "${1}" \ - 'device:string' \ - 'vlan:uinteger' \ - 'ports:list(ports)' -} - -service_triggers() -{ - procd_add_reload_trigger network wireless - - procd_open_validate - validate_atm_bridge_section - validate_route_section - [ -e /proc/sys/net/ipv6 ] && validate_route6_section - validate_rule_section - [ -e /proc/sys/net/ipv6 ] && validate_rule6_section - validate_switch_section - validate_switch_vlan - procd_close_validate -} - -shutdown() { - ifdown -a - sleep 1 -} diff --git a/netifd/files/etc/init.d/packet_steering b/netifd/files/etc/init.d/packet_steering deleted file mode 100755 index 9d8f791e2..000000000 --- a/netifd/files/etc/init.d/packet_steering +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=25 -USE_PROCD=1 - -start_service() { - reload_service -} - -service_triggers() { - procd_add_reload_trigger "network" - procd_add_reload_trigger "firewall" - procd_add_raw_trigger "interface.*" 1000 /etc/init.d/packet_steering reload -} - -reload_service() { - /usr/libexec/network/packet-steering.sh -} diff --git a/netifd/files/etc/uci-defaults/14_migrate-dhcp-release b/netifd/files/etc/uci-defaults/14_migrate-dhcp-release deleted file mode 100644 index f1b384eec..000000000 --- a/netifd/files/etc/uci-defaults/14_migrate-dhcp-release +++ /dev/null @@ -1,23 +0,0 @@ -. /lib/functions.sh - -migrate_release() { - local config="$1" - local proto - local release - - config_get proto "$config" proto - config_get release "$config" release - - [ "$proto" = "dhcp" ] && [ -n "$release" ] && { - norelease="$((!$release))" - uci_set network "$config" norelease "$norelease" - uci_remove network "$config" release - } - -} - -config_load network -config_foreach migrate_release interface -uci commit network - -exit 0 diff --git a/netifd/files/etc/udhcpc.user b/netifd/files/etc/udhcpc.user deleted file mode 100644 index 78e2ba5f1..000000000 --- a/netifd/files/etc/udhcpc.user +++ /dev/null @@ -1 +0,0 @@ -# This script is sourced by udhcpc's dhcp.script at every DHCP event. diff --git a/netifd/files/lib/netifd/dhcp.script b/netifd/files/lib/netifd/dhcp.script deleted file mode 100755 index 053dd75b6..000000000 --- a/netifd/files/lib/netifd/dhcp.script +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/sh -[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1 - -. /lib/functions.sh -. /lib/netifd/netifd-proto.sh - -set_classless_routes() { - local max=128 - while [ -n "$1" -a -n "$2" -a $max -gt 0 ]; do - proto_add_ipv4_route "${1%%/*}" "${1##*/}" "$2" "$ip" - max=$(($max-1)) - shift 2 - done -} - -setup_interface() { - proto_init_update "*" 1 - proto_add_ipv4_address "$ip" "${subnet:-255.255.255.0}" - # TODO: apply $broadcast - - local ip_net - local ip_net IP PREFIX NETWORK NETMASK BROADCAST - ipcalc "$ip/$mask" && ip_net="$NETWORK" - - local i - for i in $router; do - local gw_net - ipcalc "$i/$mask" && gw_net="$NETWORK" - - [ "$ip_net" != "$gw_net" ] && proto_add_ipv4_route "$i" 32 "" "$ip" - #[ "$DEFAULTROUTE" = 0 ] || proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip" - proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip" - - local r - for r in $CUSTOMROUTES; do - proto_add_ipv4_route "${r%%/*}" "${r##*/}" "$i" "$ip" - done - done - - # CIDR STATIC ROUTES (rfc3442) - [ -n "$staticroutes" ] && set_classless_routes $staticroutes - [ -n "$msstaticroutes" ] && set_classless_routes $msstaticroutes - - for i in $dns; do - proto_add_dns_server "$i" - done - for i in $domain; do - proto_add_dns_search "$i" - done - - # TODO: Deprecate timesvr in favor of timesrv - if [ -n "$timesvr" -a -z "$timesrv" ]; then - timesrv="$timesvr" - echo "Environment variable 'timesvr' will be deprecated; use 'timesrv' instead." - fi - - proto_add_data - [ -n "$ZONE" ] && json_add_string zone "$ZONE" - [ -n "$ntpsrv" ] && json_add_string ntpserver "$ntpsrv" - [ -n "$timesrv" ] && json_add_string timeserver "$timesrv" - [ -n "$hostname" ] && json_add_string hostname "$hostname" - [ -n "$message" ] && json_add_string message "$message" - [ -n "$timezone" ] && json_add_int timezone "$timezone" - [ -n "$lease" ] && json_add_int leasetime "$lease" - [ -n "$serverid" ] && json_add_string dhcpserver "$serverid" - proto_close_data - - proto_send_update "$INTERFACE" - - - if [ "$IFACE6RD" != 0 -a -n "$ip6rd" ]; then - local v4mask="${ip6rd%% *}" - ip6rd="${ip6rd#* }" - local ip6rdprefixlen="${ip6rd%% *}" - ip6rd="${ip6rd#* }" - local ip6rdprefix="${ip6rd%% *}" - ip6rd="${ip6rd#* }" - local ip6rdbr="${ip6rd%% *}" - - [ -n "$ZONE" ] || ZONE=$(fw3 -q network $INTERFACE 2>/dev/null) - [ -z "$IFACE6RD" -o "$IFACE6RD" = 1 ] && IFACE6RD=${INTERFACE}_6 - - json_init - json_add_string name "$IFACE6RD" - json_add_string ifname "@$INTERFACE" - json_add_string proto "6rd" - json_add_string peeraddr "$ip6rdbr" - json_add_int ip4prefixlen "$v4mask" - json_add_string ip6prefix "$ip6rdprefix" - json_add_int ip6prefixlen "$ip6rdprefixlen" - json_add_string tunlink "$INTERFACE" - [ -n "$IFACE6RD_DELEGATE" ] && json_add_boolean delegate "$IFACE6RD_DELEGATE" - [ -n "$ZONE6RD" ] || ZONE6RD=$ZONE - [ -n "$ZONE6RD" ] && json_add_string zone "$ZONE6RD" - [ -n "$MTU6RD" ] && json_add_string mtu "$MTU6RD" - json_close_object - - ubus call network add_dynamic "$(json_dump)" - fi -} - -deconfig_interface() { - proto_init_update "*" 0 - proto_send_update "$INTERFACE" -} - -case "$1" in - deconfig) - deconfig_interface - ;; - renew|bound) - setup_interface - ;; -esac - -# user rules -[ -f /etc/udhcpc.user ] && . /etc/udhcpc.user "$@" -for f in /etc/udhcpc.user.d/*; do - [ -f "$f" ] && (. "$f" "$@") -done - -exit 0 diff --git a/netifd/files/lib/netifd/proto/dhcp.sh b/netifd/files/lib/netifd/proto/dhcp.sh deleted file mode 100755 index 0771d8a05..000000000 --- a/netifd/files/lib/netifd/proto/dhcp.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh - -[ -x /sbin/udhcpc ] || exit 0 - -. /lib/functions.sh -. ../netifd-proto.sh -init_proto "$@" - -proto_dhcp_init_config() { - renew_handler=1 - - proto_config_add_string 'ipaddr:ipaddr' - proto_config_add_string 'hostname:hostname' - proto_config_add_string clientid - proto_config_add_string vendorid - proto_config_add_boolean 'broadcast:bool' - proto_config_add_boolean 'norelease:bool' - proto_config_add_string 'reqopts:list(string)' - proto_config_add_boolean 'defaultreqopts:bool' - proto_config_add_string iface6rd - proto_config_add_array 'sendopts:list(string)' - proto_config_add_boolean delegate - proto_config_add_string zone6rd - proto_config_add_string zone - proto_config_add_string mtu6rd - proto_config_add_string customroutes - proto_config_add_boolean classlessroute -} - -proto_dhcp_add_sendopts() { - [ -n "$1" ] && append "$3" "-x $1" -} - -proto_dhcp_setup() { - local config="$1" - local iface="$2" - - local ipaddr hostname clientid vendorid broadcast norelease reqopts defaultreqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes classlessroute defaultroute - json_get_vars ipaddr hostname clientid vendorid broadcast norelease reqopts defaultreqopts iface6rd delegate zone6rd zone mtu6rd customroutes classlessroute defaultroute - - local opt dhcpopts - for opt in $reqopts; do - append dhcpopts "-O $opt" - done - - json_for_each_item proto_dhcp_add_sendopts sendopts dhcpopts - - [ -z "$hostname" ] && hostname="$(cat /proc/sys/kernel/hostname)" - [ "$hostname" = "*" ] && hostname= - - [ "$defaultreqopts" = 0 ] && defaultreqopts="-o" || defaultreqopts= - [ "$broadcast" = 1 ] && broadcast="-B" || broadcast= - [ "$norelease" = 1 ] && norelease="" || norelease="-R" - [ -n "$clientid" ] && clientid="-x 0x3d:${clientid//:/}" || clientid="-C" - [ -n "$iface6rd" ] && proto_export "IFACE6RD=$iface6rd" - [ "$iface6rd" != 0 -a -f /lib/netifd/proto/6rd.sh ] && append dhcpopts "-O 212" - [ -n "$zone6rd" ] && proto_export "ZONE6RD=$zone6rd" - [ -n "$zone" ] && proto_export "ZONE=$zone" - [ -n "$mtu6rd" ] && proto_export "MTU6RD=$mtu6rd" - [ -n "$customroutes" ] && proto_export "CUSTOMROUTES=$customroutes" - [ -n "$defaultroute" ] && proto_export "DEFAULTROUTE=$defaultroute" - [ "$delegate" = "0" ] && proto_export "IFACE6RD_DELEGATE=0" - # Request classless route option (see RFC 3442) by default - [ "$classlessroute" = "0" ] || append dhcpopts "-O 121" - - proto_export "INTERFACE=$config" - proto_run_command "$config" udhcpc \ - -p /var/run/udhcpc-$iface.pid \ - -s /lib/netifd/dhcp.script \ - -f -t 0 -i "$iface" \ - ${ipaddr:+-r ${ipaddr/\/*/}} \ - ${hostname:+-x "hostname:$hostname"} \ - ${vendorid:+-V "$vendorid"} \ - $clientid $defaultreqopts $broadcast $norelease $dhcpopts -} - -proto_dhcp_renew() { - local interface="$1" - # SIGUSR1 forces udhcpc to renew its lease - local sigusr1="$(kill -l SIGUSR1)" - [ -n "$sigusr1" ] && proto_kill_command "$interface" $sigusr1 -} - -proto_dhcp_teardown() { - local interface="$1" - proto_kill_command "$interface" -} - -add_protocol dhcp diff --git a/netifd/files/lib/network/config.sh b/netifd/files/lib/network/config.sh deleted file mode 100755 index 4cd28e4ce..000000000 --- a/netifd/files/lib/network/config.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -# Copyright (C) 2011 OpenWrt.org - -. /usr/share/libubox/jshn.sh - -find_config() { - local device="$1" - local ifdev ifl3dev ifobj - for ifobj in $(ubus list network.interface.\*); do - interface="${ifobj##network.interface.}" - ( - json_load "$(ifstatus $interface)" - json_get_var ifdev device - json_get_var ifl3dev l3_device - if [ "$device" = "$ifdev" ] || [ "$device" = "$ifl3dev" ]; then - echo "$interface" - exit 0 - else - exit 1 - fi - ) && return - done -} - -unbridge() { - return -} - -ubus_call() { - json_init - local _data="$(ubus -S call "$1" "$2")" - [ -z "$_data" ] && return 1 - json_load "$_data" - return 0 -} - - -fixup_interface() { - local config="$1" - local ifname type device l3dev - - config_get type "$config" type - config_get ifname "$config" ifname - [ "bridge" = "$type" ] && ifname="br-$config" - ubus_call "network.interface.$config" status || return 0 - json_get_var l3dev l3_device - [ -n "$l3dev" ] && ifname="$l3dev" - json_init - config_set "$config" ifname "$ifname" -} - -scan_interfaces() { - config_load network - config_foreach fixup_interface interface -} - -prepare_interface_bridge() { - local config="$1" - - [ -n "$config" ] || return 0 - ubus call network.interface."$config" prepare -} - -setup_interface() { - local iface="$1" - local config="$2" - - [ -n "$config" ] || return 0 - ubus call network.interface."$config" add_device "{ \"name\": \"$iface\" }" -} - -do_sysctl() { - [ -n "$2" ] && \ - sysctl -n -e -w "$1=$2" >/dev/null || \ - sysctl -n -e "$1" -} diff --git a/netifd/files/sbin/devstatus b/netifd/files/sbin/devstatus deleted file mode 100755 index 3c35b26a4..000000000 --- a/netifd/files/sbin/devstatus +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -. /usr/share/libubox/jshn.sh -DEVICE="$1" - -[ -n "$DEVICE" ] || { - echo "Usage: $0 " - exit 1 -} - -json_init -json_add_string name "$DEVICE" -ubus call network.device status "$(json_dump)" diff --git a/netifd/files/sbin/ifdown b/netifd/files/sbin/ifdown deleted file mode 120000 index a0e5c176a..000000000 --- a/netifd/files/sbin/ifdown +++ /dev/null @@ -1 +0,0 @@ -ifup \ No newline at end of file diff --git a/netifd/files/sbin/ifstatus b/netifd/files/sbin/ifstatus deleted file mode 100755 index 8a951e6e1..000000000 --- a/netifd/files/sbin/ifstatus +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -INTERFACE="$1" - -[ -n "$INTERFACE" ] || { - echo "Usage: $0 " - exit 1 -} - -ubus -S list "network.interface.$INTERFACE" >/dev/null || { - echo "Interface $INTERFACE not found" - exit 1 -} -ubus call network.interface status "{ \"interface\" : \"$INTERFACE\" }" diff --git a/netifd/files/sbin/ifup b/netifd/files/sbin/ifup deleted file mode 100755 index 15be535bb..000000000 --- a/netifd/files/sbin/ifup +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -ifup_all= -setup_wifi= - -if_call() { - local interface="$1" - for mode in $modes; do - ubus call network.interface $mode "{ \"interface\" : \"$interface\" }" - done -} - -case "$0" in - *ifdown) modes=down;; - *ifup) - modes="down up" - setup_wifi=1 - ;; - *) echo "Invalid command: $0";; -esac - -while :; do - case "$1" in - -a) - ifup_all=1 - shift - ;; - -w) - setup_wifi= - shift - ;; - *) - break - ;; - esac -done - -[ "$modes" = "down up" ] && ubus call network reload -if [ -n "$ifup_all" ]; then - for interface in $(ubus -S list 'network.interface.*'); do - if_call "${interface##network.interface.}" - done - [ -n "$setup_wifi" ] && /sbin/wifi up - exit -else - ubus -S list "network.interface.$1" > /dev/null || { - echo "Interface $1 not found" - exit - } - if_call "$1" -fi - -if [ -n "$setup_wifi" ] && grep -sq config /etc/config/wireless; then - . /lib/functions.sh - - find_related_radios() { - local wdev wnet - config_get wdev "$1" device - config_get wnet "$1" network - - if [ -n "$wdev" ]; then - for wnet in $wnet; do - if [ "$wnet" = "$network" ]; then - append radio_devs "$wdev" "$N" - fi - done - fi - } - - network="$1" - config_load wireless - config_foreach find_related_radios wifi-iface - - for dev in $(echo "$radio_devs" | sort -u); do - /sbin/wifi up "$dev" - done -fi diff --git a/netifd/files/usr/libexec/network/packet-steering.sh b/netifd/files/usr/libexec/network/packet-steering.sh deleted file mode 100755 index 799c08080..000000000 --- a/netifd/files/usr/libexec/network/packet-steering.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/sh -NPROCS="$(grep -c "^processor.*:" /proc/cpuinfo)" -[ "$NPROCS" -gt 1 ] || exit - -PROC_MASK="$(( (1 << $NPROCS) - 1 ))" - -find_irq_cpu() { - local dev="$1" - local match="$(grep -m 1 "$dev\$" /proc/interrupts)" - local cpu=0 - - [ -n "$match" ] && { - set -- $match - shift - for cur in $(seq 1 $NPROCS); do - [ "$1" -gt 0 ] && { - cpu=$(($cur - 1)) - break - } - shift - done - } - - echo "$cpu" -} - -set_hex_val() { - local file="$1" - local val="$2" - val="$(printf %x "$val")" - [ -n "$DEBUG" ] && echo "$file = $val" - echo "$val" > "$file" -} - -packet_steering="$(uci get "network.@globals[0].packet_steering")" -[ "$packet_steering" != 1 ] && exit 0 - -exec 512>/var/lock/smp_tune.lock -flock 512 || exit 1 - -[ -e "/usr/libexec/platform/packet-steering.sh" ] && { - /usr/libexec/platform/packet-steering.sh - exit 0 -} - -for dev in /sys/class/net/*; do - [ -d "$dev" ] || continue - - # ignore virtual interfaces - [ -n "$(ls "${dev}/" | grep '^lower_')" ] && continue - [ -d "${dev}/device" ] || continue - - device="$(readlink "${dev}/device")" - device="$(basename "$device")" - irq_cpu="$(find_irq_cpu "$device")" - irq_cpu_mask="$((1 << $irq_cpu))" - - for q in ${dev}/queues/tx-*; do - set_hex_val "$q/xps_cpus" "$PROC_MASK" - done - - # ignore dsa slave ports for RPS - subsys="$(readlink "${dev}/device/subsystem")" - subsys="$(basename "$subsys")" - [ "$subsys" = "mdio_bus" ] && continue - - for q in ${dev}/queues/rx-*; do - set_hex_val "$q/rps_cpus" "$PROC_MASK" - done -done diff --git a/netifd/files/usr/share/udhcpc/default.script b/netifd/files/usr/share/udhcpc/default.script deleted file mode 100755 index 0a9eb0180..000000000 --- a/netifd/files/usr/share/udhcpc/default.script +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1 - -set_classless_routes() { - local max=128 - local type - while [ -n "$1" -a -n "$2" -a $max -gt 0 ]; do - [ ${1##*/} -eq 32 ] && type=host || type=net - echo "udhcpc: adding route for $type $1 via $2" - route add -$type "$1" gw "$2" dev "$interface" - max=$(($max-1)) - shift 2 - done -} - -setup_interface() { - echo "udhcpc: ip addr add $ip/${subnet:-255.255.255.0} broadcast ${broadcast:-+} dev $interface" - ip addr add $ip/${subnet:-255.255.255.0} broadcast ${broadcast:-+} dev $interface - - [ -n "$router" ] && [ "$router" != "0.0.0.0" ] && [ "$router" != "255.255.255.255" ] && { - echo "udhcpc: setting default routers: $router" - - local valid_gw="" - for i in $router ; do - route add default gw $i dev $interface - valid_gw="${valid_gw:+$valid_gw|}$i" - done - - eval $(route -n | awk ' - /^0.0.0.0\W{9}('$valid_gw')\W/ {next} - /^0.0.0.0/ {print "route del -net "$1" gw "$2";"} - ') - } - - # CIDR STATIC ROUTES (rfc3442) - [ -n "$staticroutes" ] && set_classless_routes $staticroutes - [ -n "$msstaticroutes" ] && set_classless_routes $msstaticroutes -} - - -applied= -case "$1" in - deconfig) - ip -4 addr flush dev "$interface" - ;; - renew) - setup_interface update - ;; - bound) - setup_interface ifup - ;; -esac - -# user rules -[ -f /etc/udhcpc.user ] && . /etc/udhcpc.user - -exit 0 diff --git a/netifd/patches/001-defin-RTN_POLICY_FAILED.patch b/netifd/patches/001-defin-RTN_POLICY_FAILED.patch deleted file mode 100644 index d7b530393..000000000 --- a/netifd/patches/001-defin-RTN_POLICY_FAILED.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/system-linux.c 2023-11-24 16:49:37.715537192 +0100 -+++ b/system-linux.c 2023-11-24 16:50:23.002742488 +0100 -@@ -53,6 +53,9 @@ - #ifndef RTN_FAILED_POLICY - #define RTN_FAILED_POLICY 12 - #endif -+#ifndef RTN_POLICY_FAILED -+#define RTN_POLICY_FAILED 12 -+#endif - - #ifndef IFA_F_NOPREFIXROUTE - #define IFA_F_NOPREFIXROUTE 0x200 From a435e2ebadc7e3a5cef595275907fa3a6d806be4 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 29 Jan 2025 21:07:58 +0100 Subject: [PATCH 134/199] Fix sysupgrade init script --- openmptcprouter/files/etc/init.d/sysupgrade | 1 + 1 file changed, 1 insertion(+) diff --git a/openmptcprouter/files/etc/init.d/sysupgrade b/openmptcprouter/files/etc/init.d/sysupgrade index d9ba5b6bb..85da0987a 100755 --- a/openmptcprouter/files/etc/init.d/sysupgrade +++ b/openmptcprouter/files/etc/init.d/sysupgrade @@ -21,6 +21,7 @@ start_service() if [ -z "$(grep '\toverlay' /etc/backup/installed_packages.txt | cut -f1 | xargs -r opkg -V0 install)" ]; then rm /etc/backup/installed_packages.txt fi + fi fi } From 0e066a37f87bd097a9f3f64b0bb57fca265a2e6e Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 29 Jan 2025 21:08:38 +0100 Subject: [PATCH 135/199] Doesn't apply upnp firewall if not installed --- openmptcprouter/files/etc/uci-defaults/1980-omr-firewall | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall b/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall index 46ee2cb7f..933d6c61d 100755 --- a/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall +++ b/openmptcprouter/files/etc/uci-defaults/1980-omr-firewall @@ -160,7 +160,7 @@ if [ "$(uci -q get firewall.ttl)" = "" ]; then commit firewall EOF fi -if [ "$(uci -q get firewall.upnp)" = "" ]; then +if [ "$(uci -q get firewall.upnp)" = "" ] && [ -e /etc/init.d/miniupnpd ]; then uci -q batch <<-EOF >/dev/null set firewall.upnp=include set firewall.upnp.path='/etc/firewall.upnp' From 8deaac50ef25b01edf45bd39e6a4bb971086484b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 30 Jan 2025 15:02:35 +0100 Subject: [PATCH 136/199] Add dbus tracking and fix a typo in omr-schedule services script --- omr-schedule/files/usr/share/omr/schedule.d/010-services | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/omr-schedule/files/usr/share/omr/schedule.d/010-services b/omr-schedule/files/usr/share/omr/schedule.d/010-services index 9b5ebe5e9..5ee1c8036 100755 --- a/omr-schedule/files/usr/share/omr/schedule.d/010-services +++ b/omr-schedule/files/usr/share/omr/schedule.d/010-services @@ -97,6 +97,11 @@ if [ "$(pgrep rpcd)" = "" ] && [ -f /etc/init.d/rpcd ]; then /etc/init.d/rpcd restart >/dev/null 2>&1 sleep 5 fi +if [ "$(pgrep dbus)" = "" ] && [ -f /etc/init.d/dbus ]; then + _log "Can't find dbus, restart it..." + /etc/init.d/dbus restart >/dev/null 2>&1 + sleep 5 +fi if [ "$(pgrep uhttpd)" = "" ] && [ -f /etc/init.d/uhttpd ]; then _log "Can't find uhttpd, restart it..." @@ -193,7 +198,7 @@ multipath_fix() { config_get multipath "$1" multipath [ "$multipath" != "off" ] && return config_get device "$1" device - { "$(echo $device | grep '@')" ] && return + [ "$(echo $device | grep '@')" ] && return interface="$(ifstatus $1 | jsonfilter -q -e '@.l3_device' | tr -d '\n')" [ -n "$interface" ] && [ -z "$(multipath $interface | grep deactivated)" ] && { _log "Fix Multipath status on $1 ($interface)" @@ -239,7 +244,7 @@ if [ -n "$(logread | tail -n 2 | grep 'Ring expansion failed')" ]; then echo 1 > /sys/bus/pci/rescan fi -if [ -f /etc/init.d/omr-bypass ] && (([ -e /usr/sbin/iptables-nft-save ] && [ "$(iptables-nft-save 2>/dev/null | grep omr-bypass)" = "" ]) || [ "$(iptables-save 2>/dev/null | grep omr-bypass)" = "" ]) && [ "$(pgrep -f omr-bypass)" = "" ]; then +if [ -f /etc/init.d/omr-bypass ] && [ -z "$(pgrep -f omr-bypass)" ] && (([ -e /usr/sbin/iptables-nft-save ] && [ "$(iptables-nft-save 2>/dev/null | grep omr-bypass)" = "" ]) || [ "$(iptables-save 2>/dev/null | grep omr-bypass)" = "" ]); then _log "Can't find omr-bypass rules, restart omr-bypass..." /etc/init.d/omr-bypass start >/dev/null 2>&1 sleep 5 From f83ffd5266f0facf41b2f7425c05710a3f63dec6 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 09:35:38 +0100 Subject: [PATCH 137/199] Update Golang --- golang/golang-build.sh | 2 +- golang/golang-compiler.mk | 9 +++------ golang/golang-values.mk | 2 ++ golang/golang/Makefile | 9 ++++----- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/golang/golang-build.sh b/golang/golang-build.sh index fe8718ee7..01df4aa42 100644 --- a/golang/golang-build.sh +++ b/golang/golang-build.sh @@ -120,7 +120,7 @@ build() { if [ "$GO_GO_GENERATE" = 1 ]; then log "Calling go generate" # shellcheck disable=SC2086 - GOOS='' GOARCH='' GO386='' GOARM='' GOMIPS='' GOMIPS64='' \ + GOOS='' GOARCH='' GO386='' GOARM='' GOARM64='' GOMIPS='' GOMIPS64='' GORISCV64=''\ go generate -v $targets log fi diff --git a/golang/golang-compiler.mk b/golang/golang-compiler.mk index 50cc44905..44defed7b 100644 --- a/golang/golang-compiler.mk +++ b/golang/golang-compiler.mk @@ -19,14 +19,11 @@ define GoCompiler/Default/CheckHost endef # $(1) source go root -# $(2) destination prefix -# $(3) go version id -# $(4) additional environment variables (optional) +# $(2) additional environment variables (optional) define GoCompiler/Default/Make ( \ cd "$(1)/src" ; \ - $(if $(2),GOROOT_FINAL="$(2)/lib/go-$(3)") \ - $(4) \ + $(2) \ $(BASH) make.bash \ $(if $(findstring s,$(OPENWRT_VERBOSE)),-v) \ --no-banner \ @@ -156,7 +153,7 @@ define GoCompiler/AddProfile # $$(1) additional environment variables (optional) define GoCompiler/$(1)/Make - $$(call GoCompiler/Default/Make,$(2),$(3),$(4),$$(1)) + $$(call GoCompiler/Default/Make,$(2),$$(1)) endef # $$(1) override install prefix (optional) diff --git a/golang/golang-values.mk b/golang/golang-values.mk index 1584d22fc..7ee00898a 100644 --- a/golang/golang-values.mk +++ b/golang/golang-values.mk @@ -59,11 +59,13 @@ unexport \ # Architecture-specific environment variables: unexport \ GOARM \ + GOARM64 \ GO386 \ GOAMD64 \ GOMIPS \ GOMIPS64 \ GOPPC64 \ + GORISCV64 \ GOWASM # Environment variables for use with code coverage: diff --git a/golang/golang/Makefile b/golang/golang/Makefile index 82bda52a0..593f6ed5a 100644 --- a/golang/golang/Makefile +++ b/golang/golang/Makefile @@ -7,8 +7,8 @@ include $(TOPDIR)/rules.mk -GO_VERSION_MAJOR_MINOR:=1.22 -GO_VERSION_PATCH:=0 +GO_VERSION_MAJOR_MINOR:=1.23 +GO_VERSION_PATCH:=4 PKG_NAME:=golang PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH)) @@ -20,7 +20,7 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \ PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz PKG_SOURCE_URL:=$(GO_SOURCE_URLS) -PKG_HASH:=4d196c3d41a0d6c1dfc64d04e3cc1f608b0c436bd87b7060ce3e23234e1f4d5c +PKG_HASH:=ad345ac421e90814293a9699cca19dd5238251c3f687980bbcae28495b263531 PKG_MAINTAINER:=Jeffery To PKG_LICENSE:=BSD-3-Clause @@ -34,7 +34,6 @@ PKG_BUILD_FLAGS:=no-mips16 PKG_GO_PREFIX:=/usr PKG_GO_VERSION_ID:=$(GO_VERSION_MAJOR_MINOR) -PKG_GO_ROOT:=$(PKG_GO_PREFIX)/lib/go-$(PKG_GO_VERSION_ID) HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/go-$(PKG_VERSION) HOST_BUILD_PARALLEL:=1 @@ -65,6 +64,7 @@ HOST_GO_VALID_OS_ARCH:= \ wasip1_wasm \ \ freebsd_riscv64 \ + openbsd_riscv64 \ \ linux_ppc64 linux_ppc64le \ linux_mips linux_mipsle linux_mips64 linux_mips64le \ @@ -394,7 +394,6 @@ define Build/Compile cd "$(PKG_BUILD_DIR)/bin" ; \ export $(GO_PKG_TARGET_VARS) ; \ $(CP) go go-host ; \ - GOROOT_FINAL="$(PKG_GO_ROOT)" \ GO_GCC_HELPER_CC="$(TARGET_CC)" \ GO_GCC_HELPER_CXX="$(TARGET_CXX)" \ $(PKG_GO_VARS) \ From fff6e52ed419f0d04a0270167e684c4da2d941d5 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 09:51:37 +0100 Subject: [PATCH 138/199] Update iperf3 with MPTCP and sock5 proxy support --- iperf3/Makefile | 46 +- iperf3/patches/010-big-endian.patch | 21 + iperf3/patches/add-MPTCP-support.patch | 107 ++-- .../patches/add-sock5-proxy-tcp-support.patch | 552 ++++++++++++++++++ openmptcprouter/files/bin/omr-iperf | 3 +- 5 files changed, 671 insertions(+), 58 deletions(-) create mode 100644 iperf3/patches/010-big-endian.patch create mode 100644 iperf3/patches/add-sock5-proxy-tcp-support.patch diff --git a/iperf3/Makefile b/iperf3/Makefile index e165cae70..a5fe60450 100644 --- a/iperf3/Makefile +++ b/iperf3/Makefile @@ -8,15 +8,16 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iperf -PKG_VERSION:=3.17.1 +PKG_VERSION:=3.18 PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/esnet/iperf/archive/refs/tags/ -PKG_HASH:=105b4fe7fbce31c9b94a3fec10c46e3b4b298adc076e1e3af52b990e1faf2db9 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf +PKG_HASH:=c0618175514331e766522500e20c94bfb293b4424eb27d7207fb427b88d20bab -PKG_MAINTAINER:=Yannick Chabanois +PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=BSD-3-Clause +PKG_CPE_ID:=cpe:/a:es:iperf3 PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 @@ -37,24 +38,36 @@ endef define Package/iperf3 $(call Package/iperf3/default) VARIANT:=nossl + DEPENDS:=+libiperf3 endef define Package/iperf3-ssl $(call Package/iperf3/default) TITLE+= with iperf_auth support VARIANT:=ssl - DEPENDS:= +libopenssl + DEPENDS:=+libopenssl +libatomic + CONFLICTS:=iperf3 +endef + +define Package/libiperf3 + SECTION:=libs + CATEGORY:=Libraries + TITLE:=Internet Protocol bandwidth measuring library + URL:=https://github.com/esnet/iperf + DEPENDS+=+libatomic endef TARGET_CFLAGS += -D_GNU_SOURCE -CONFIGURE_ARGS += --disable-shared +TARGET_LDFLAGS += -latomic ifeq ($(BUILD_VARIANT),ssl) - CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr" + CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr" --disable-shared else CONFIGURE_ARGS += --without-openssl endif +CONFIGURE_ARGS += --without-sctp + MAKE_FLAGS += noinst_PROGRAMS= define Package/iperf3/description @@ -63,6 +76,17 @@ define Package/iperf3/description characteristics. endef +define Package/libiperf3/description + Libiperf is a library providing an API for iperf3 functionality. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiperf.* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ +endef + # autoreconf fails if the README file isn't present define Build/Prepare $(call Build/Prepare/Default) @@ -79,5 +103,11 @@ define Package/iperf3-ssl/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/iperf3 $(1)/usr/bin/ endef +define Package/libiperf3/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiperf.so.* $(1)/usr/lib +endef + $(eval $(call BuildPackage,iperf3)) $(eval $(call BuildPackage,iperf3-ssl)) +$(eval $(call BuildPackage,libiperf3)) diff --git a/iperf3/patches/010-big-endian.patch b/iperf3/patches/010-big-endian.patch new file mode 100644 index 000000000..f57ef51a4 --- /dev/null +++ b/iperf3/patches/010-big-endian.patch @@ -0,0 +1,21 @@ +From fe09305eb6f907e4eb637b8edd0c8a986187d1dd Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Sat, 8 Jun 2024 15:23:51 -0700 +Subject: [PATCH] fix crash under big endian musl + +iperf_printf is using an int format here but an int64_t variable. The format only needs the first 3 digits. Cast to int to fix it. +--- + src/iperf_api.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/iperf_api.c ++++ b/src/iperf_api.c +@@ -4137,7 +4137,7 @@ iperf_print_results(struct iperf_test *t + iperf_printf(test, report_sender_not_available_summary_format, "SUM"); + } + else { +- iperf_printf(test, report_sum_bw_retrans_format, mbuf, start_time, sender_time, ubuf, nbuf, total_retransmits, report_sender); ++ iperf_printf(test, report_sum_bw_retrans_format, mbuf, start_time, sender_time, ubuf, nbuf, (int)total_retransmits, report_sender); + } + } else { + /* Summary sum, TCP without retransmits. */ diff --git a/iperf3/patches/add-MPTCP-support.patch b/iperf3/patches/add-MPTCP-support.patch index e6251d38b..fce1a388f 100644 --- a/iperf3/patches/add-MPTCP-support.patch +++ b/iperf3/patches/add-MPTCP-support.patch @@ -1,4 +1,4 @@ -From 5f71968be8e8809e4e7b876ff04b4ef3f22eb141 Mon Sep 17 00:00:00 2001 +From cf75cf46785871330717a6d2c889abeb7bbd7bfd Mon Sep 17 00:00:00 2001 From: Geliang Tang Date: Wed, 6 Mar 2024 11:23:33 +0800 Subject: [PATCH] add MPTCPv1 support @@ -17,10 +17,6 @@ be used like this: > iperf3 -m -s > iperf3 -m -c 127.0.0.1 -There is no need to check for IPPROTO_MPTCP support in configure.ac -at build time, it is at runtime we will see if the kernel being use -supports or not MPTCP. - If IPPROTO_MPTCP is not supported by the kernel being tested, it is normal to fail because the feature is not available and the user explicitly asked to use MPTCP. @@ -29,20 +25,44 @@ Closes: https://github.com/esnet/iperf/pull/1659 Co-developed-by: Paolo Abeni Signed-off-by: Geliang Tang --- + configure.ac | 12 ++++++++++++ src/iperf.h | 1 + src/iperf3.1 | 4 ++++ src/iperf_api.c | 19 ++++++++++++++++++- src/iperf_locale.c | 3 +++ - src/iperf_tcp.c | 22 +++++++++++++++++++--- + src/iperf_tcp.c | 18 +++++++++++++++--- src/net.c | 10 +++++----- src/net.h | 2 +- - 7 files changed, 51 insertions(+), 10 deletions(-) + 8 files changed, 59 insertions(+), 10 deletions(-) +diff --git a/configure.ac b/configure.ac +index 66c1e97a5..22c2a95cf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -337,6 +337,18 @@ if test "x$iperf3_cv_header_tcp_info_snd_wnd" = "xyes"; then + AC_DEFINE([HAVE_TCP_INFO_SND_WND], [1], [Have tcpi_snd_wnd field in tcp_info.]) + fi + ++# Check for IPPROTO_MPTCP (Linux) ++AC_CACHE_CHECK([MPTCP protocol], ++[iperf3_cv_header_ipproto_mptcp], ++AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([[#include ]], ++ [[int foo = IPPROTO_MPTCP;]])], ++ iperf3_cv_header_ipproto_mptcp=yes, ++ iperf3_cv_header_ipproto_mptcp=no)) ++if test "x$iperf3_cv_header_ipproto_mptcp" = "xyes"; then ++ AC_DEFINE([HAVE_IPPROTO_MPTCP], [1], [Have MPTCP protocol.]) ++fi ++ + # Check if we need -lrt for clock_gettime + AC_SEARCH_LIBS(clock_gettime, [rt posix4]) + # Check for clock_gettime support diff --git a/src/iperf.h b/src/iperf.h -index dc3c0d1df..cb821e1f7 100644 +index 202d3016f..4043031b3 100644 --- a/src/iperf.h +++ b/src/iperf.h -@@ -342,6 +342,7 @@ struct iperf_test +@@ -353,6 +353,7 @@ struct iperf_test int repeating_payload; /* --repeating-payload */ int timestamps; /* --timestamps */ char *timestamp_format; @@ -51,12 +71,12 @@ index dc3c0d1df..cb821e1f7 100644 char *json_output_string; /* rendered JSON output if json_output is set */ /* Select related parameters */ diff --git a/src/iperf3.1 b/src/iperf3.1 -index 2efd53dea..ebc603408 100644 +index f8eff48d2..9e425cabc 100644 --- a/src/iperf3.1 +++ b/src/iperf3.1 -@@ -193,6 +193,10 @@ parameter is specified in ms, and defaults to the system settings. - This functionality depends on the TCP_USER_TIMEOUT socket option, and - will not work on systems that do not support it. +@@ -202,6 +202,10 @@ iperf-3.17, OAEP padding is used, however this is a breaking change + that is not compatible with older iperf3 versions. Use this option to + preserve the less secure, but more compatible, behavior. .TP +.BR -m ", " --mptcp " " +use mptcp variant for the current protocol. This only applies to @@ -66,33 +86,33 @@ index 2efd53dea..ebc603408 100644 emit debugging output. Primarily (perhaps exclusively) of use to developers. diff --git a/src/iperf_api.c b/src/iperf_api.c -index 1dcfaabf5..f7f1fbfb8 100644 +index fa06dc830..419b48657 100644 --- a/src/iperf_api.c +++ b/src/iperf_api.c -@@ -1144,6 +1144,9 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) +@@ -1149,6 +1149,9 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) {"idle-timeout", required_argument, NULL, OPT_IDLE_TIMEOUT}, {"rcv-timeout", required_argument, NULL, OPT_RCV_TIMEOUT}, {"snd-timeout", required_argument, NULL, OPT_SND_TIMEOUT}, -+#if defined(linux) ++#if defined(HAVE_IPPROTO_MPTCP) + {"mptcp", no_argument, NULL, 'm'}, +#endif {"debug", optional_argument, NULL, 'd'}, {"help", no_argument, NULL, 'h'}, {NULL, 0, NULL, 0} -@@ -1169,7 +1172,7 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) +@@ -1174,7 +1177,7 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) FILE *ptr_file; #endif /* HAVE_SSL */ - while ((flag = getopt_long(argc, argv, "p:f:i:D1VJvsc:ub:t:n:k:l:P:Rw:B:M:N46S:L:ZO:F:A:T:C:dI:hX:", longopts, NULL)) != -1) { -+ while ((flag = getopt_long(argc, argv, "p:f:i:D1VJvsc:ub:t:n:k:l:P:Rw:B:mM:N46S:L:ZO:F:A:T:C:dI:hX:", longopts, NULL)) != -1) { ++ while ((flag = getopt_long(argc, argv, "p:f:i:D1VJvsc:ub:t:n:k:l:P:Rw:B:M:N46S:L:ZO:F:A:T:C:dI:mhX:", longopts, NULL)) != -1) { switch (flag) { case 'p': portno = atoi(optarg); -@@ -1639,6 +1642,12 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) +@@ -1647,6 +1650,12 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) test->settings->connect_timeout = unit_atoi(optarg); client_flag = 1; break; -+#if defined(linux) ++#if defined(HAVE_IPPROTO_MPTCP) + case 'm': + set_protocol(test, Ptcp); + test->mptcp = 1; @@ -101,58 +121,47 @@ index 1dcfaabf5..f7f1fbfb8 100644 case 'h': usage_long(stdout); exit(0); -@@ -2216,6 +2225,10 @@ send_parameters(struct iperf_test *test) +@@ -2259,6 +2268,10 @@ send_parameters(struct iperf_test *test) cJSON_AddTrueToObject(j, "reverse"); if (test->bidirectional) cJSON_AddTrueToObject(j, "bidirectional"); -+#if defined(linux) ++#if defined(HAVE_IPPROTO_MPTCP) + if (test->mptcp) + cJSON_AddTrueToObject(j, "mptcp"); +#endif if (test->settings->socket_bufsize) cJSON_AddNumberToObject(j, "window", test->settings->socket_bufsize); if (test->settings->blksize) -@@ -2332,6 +2345,10 @@ get_parameters(struct iperf_test *test) +@@ -2375,6 +2388,10 @@ get_parameters(struct iperf_test *test) iperf_set_test_reverse(test, 1); - if ((j_p = cJSON_GetObjectItem(j, "bidirectional")) != NULL) + if ((j_p = iperf_cJSON_GetObjectItemType(j, "bidirectional", cJSON_True)) != NULL) iperf_set_test_bidirectional(test, 1); -+#if defined(linux) -+ if ((j_p = cJSON_GetObjectItem(j, "mptcp")) != NULL) ++#if defined(HAVE_IPPROTO_MPTCP) ++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "mptcp", cJSON_True)) != NULL) + test->mptcp = 1; +#endif - if ((j_p = cJSON_GetObjectItem(j, "window")) != NULL) + if ((j_p = iperf_cJSON_GetObjectItemType(j, "window", cJSON_Number)) != NULL) test->settings->socket_bufsize = j_p->valueint; - if ((j_p = cJSON_GetObjectItem(j, "len")) != NULL) + if ((j_p = iperf_cJSON_GetObjectItemType(j, "len", cJSON_Number)) != NULL) diff --git a/src/iperf_locale.c b/src/iperf_locale.c -index ae0f63a41..d454af4f0 100644 +index 32883da84..f1d89e298 100644 --- a/src/iperf_locale.c +++ b/src/iperf_locale.c @@ -128,6 +128,9 @@ const char usage_longstr[] = "Usage: iperf3 [-s|-c host] [options]\n" " --snd-timeout # timeout for unacknowledged TCP data\n" " (in ms, default is system settings)\n" #endif /* HAVE_TCP_USER_TIMEOUT */ -+#if defined(linux) ++#if defined(HAVE_IPPROTO_MPTCP) + " -m, --mptcp use MPTCP rather than plain TCP\n" +#endif " -d, --debug[=#] emit debugging output\n" " (optional optional \"=\" and debug level: 1-4. Default is 4 - all messages)\n" " -v, --version show version information and quit\n" diff --git a/src/iperf_tcp.c b/src/iperf_tcp.c -index 184a1955e..a10322b75 100644 +index 481c09dc8..2c10d7df5 100644 --- a/src/iperf_tcp.c +++ b/src/iperf_tcp.c -@@ -44,6 +44,10 @@ - #include "net.h" - #include "cjson.h" - -+#ifndef IPPROTO_MPTCP -+#define IPPROTO_MPTCP 262 -+#endif -+ - #if defined(HAVE_FLOWLABEL) - #include "flowlabel.h" - #endif /* HAVE_FLOWLABEL */ -@@ -182,9 +186,10 @@ iperf_tcp_listen(struct iperf_test *test) +@@ -184,9 +184,10 @@ iperf_tcp_listen(struct iperf_test *test) * * It's not clear whether this is a requirement or a convenience. */ @@ -164,12 +173,12 @@ index 184a1955e..a10322b75 100644 FD_CLR(s, &test->read_set); close(s); -@@ -210,7 +215,12 @@ iperf_tcp_listen(struct iperf_test *test) +@@ -212,7 +213,12 @@ iperf_tcp_listen(struct iperf_test *test) return -1; } - if ((s = socket(res->ai_family, SOCK_STREAM, 0)) < 0) { -+#if defined(linux) ++#if defined(HAVE_IPPROTO_MPTCP) + if (test->mptcp) + proto = IPPROTO_MPTCP; +#endif @@ -178,13 +187,13 @@ index 184a1955e..a10322b75 100644 freeaddrinfo(res); i_errno = IESTREAMLISTEN; return -1; -@@ -375,8 +385,14 @@ iperf_tcp_connect(struct iperf_test *test) +@@ -380,8 +386,14 @@ iperf_tcp_connect(struct iperf_test *test) socklen_t optlen; int saved_errno; int rcvbuf_actual, sndbuf_actual; + int proto = 0; + -+#if defined(linux) ++#if defined(HAVE_IPPROTO_MPTCP) + if (test->mptcp) + proto = IPPROTO_MPTCP; +#endif @@ -195,7 +204,7 @@ index 184a1955e..a10322b75 100644 i_errno = IESTREAMCONNECT; return -1; diff --git a/src/net.c b/src/net.c -index c82caff1b..849e919f2 100644 +index b693ea7fb..febf20885 100644 --- a/src/net.c +++ b/src/net.c @@ -124,7 +124,7 @@ timeout_connect(int s, const struct sockaddr *name, socklen_t namelen, @@ -243,7 +252,7 @@ index c82caff1b..849e919f2 100644 return -1; } diff --git a/src/net.h b/src/net.h -index f0e1b4f98..1f5cc4d34 100644 +index 859c52cef..fb78d289b 100644 --- a/src/net.h +++ b/src/net.h @@ -28,7 +28,7 @@ diff --git a/iperf3/patches/add-sock5-proxy-tcp-support.patch b/iperf3/patches/add-sock5-proxy-tcp-support.patch new file mode 100644 index 000000000..4cb90879c --- /dev/null +++ b/iperf3/patches/add-sock5-proxy-tcp-support.patch @@ -0,0 +1,552 @@ +From 197d8ba733f0502985abb5b0a22bf9f71c2596a7 Mon Sep 17 00:00:00 2001 +From: David Bar-On +Date: Mon, 25 Mar 2024 22:11:49 +0200 +Subject: [PATCH] Add SOCKS5 Proxy support for TCP + +--- + src/iperf.h | 8 ++ + src/iperf_api.c | 250 ++++++++++++++++++++++++++++++++++++++++- + src/iperf_api.h | 13 ++- + src/iperf_client_api.c | 27 ++++- + src/iperf_error.c | 10 ++ + src/iperf_locale.c | 2 + + src/iperf_tcp.c | 22 +++- + 7 files changed, 323 insertions(+), 9 deletions(-) + +diff --git a/src/iperf.h b/src/iperf.h +index dc3c0d1df..9823dc180 100644 +--- a/src/iperf.h ++++ b/src/iperf.h +@@ -343,6 +343,14 @@ struct iperf_test + int timestamps; /* --timestamps */ + char *timestamp_format; + ++ char *socks5_host; /* --socks5 option */ ++ uint16_t socks5_port; /* --socks5 option optional value */ ++ char *socks5_username; /* --socks5 option optional value */ ++ char *socks5_password; /* --socks5 option optional value */ ++ char socks5_bind_atyp; /* from socks5 CONNECT response ATYP */ ++ char *socks5_bind_host; /* from socks5 CONNECT response BIND.ADDR*/ ++ uint16_t socks5_bind_port; /* from socks5 CONNECT response BIND.PORT */ ++ + char *json_output_string; /* rendered JSON output if json_output is set */ + /* Select related parameters */ + int max_fd; +diff --git a/src/iperf_api.c b/src/iperf_api.c +index 4765d4e97..ca47f708d 100644 +--- a/src/iperf_api.c ++++ b/src/iperf_api.c +@@ -115,7 +115,7 @@ usage() + void + usage_long(FILE *f) + { +- fprintf(f, usage_longstr, DEFAULT_NO_MSG_RCVD_TIMEOUT, UDP_RATE / (1024*1024), DEFAULT_PACING_TIMER, DURATION, DEFAULT_TCP_BLKSIZE / 1024, DEFAULT_UDP_BLKSIZE); ++ fprintf(f, usage_longstr, DEFAULT_NO_MSG_RCVD_TIMEOUT, UDP_RATE / (1024*1024), DEFAULT_PACING_TIMER, DURATION, DEFAULT_TCP_BLKSIZE / 1024, DEFAULT_UDP_BLKSIZE, SOCKS5_DEFAULT_PORT); + } + + +@@ -1100,6 +1100,7 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + {"version6", no_argument, NULL, '6'}, + {"tos", required_argument, NULL, 'S'}, + {"dscp", required_argument, NULL, OPT_DSCP}, ++ {"socks5", required_argument, NULL, OPT_SOCKS5}, + {"extra-data", required_argument, NULL, OPT_EXTRA_DATA}, + #if defined(HAVE_FLOWLABEL) + {"flowlabel", required_argument, NULL, 'L'}, +@@ -1157,7 +1158,7 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + char* comma; + #endif /* HAVE_CPU_AFFINITY */ + char* slash; +- char *p, *p1; ++ char *p, *p1, *p2; + struct xbind_entry *xbe; + double farg; + int rcv_timeout_in = 0; +@@ -1433,6 +1434,47 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + } + client_flag = 1; + break; ++ case OPT_SOCKS5: // Format: "[username:password@][:port]" ++ if (strlen(optarg) <= 0) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ p1 = strtok(optarg, "@"); // p1 -> user:password ++ if (p1 == NULL) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ p = strtok(NULL, "@"); // p -> host[:port] ++ if (p == NULL) { ++ p = p1; ++ p1 = NULL; ++ } ++ p2 = strtok(p, ":"); // parse host[:port] ++ if (strlen(p2) <= 0) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ test->socks5_host = strdup(p2); ++ p2 = strtok(NULL, ":"); ++ if (p2 && strlen(p2) > 0) { ++ test->socks5_port = atoi(p2); ++ } ++ if (p1) { // parse user:password ++ p2 = strtok(p1, ":"); ++ if (strlen(p2) <= 0 || strlen(p2) > 255) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ test->socks5_username = strdup(p2); ++ p2 = strtok(NULL, ":"); ++ if (!p2 || strlen(p2) <= 0 || strlen(p2) > 255) { ++ i_errno = IESOCKS5HOST; ++ return -1; ++ } ++ test->socks5_password = strdup(p2); ++ } ++ client_flag = 1; ++ break; + case OPT_EXTRA_DATA: + test->extra_data = strdup(optarg); + client_flag = 1; +@@ -1740,6 +1782,12 @@ iperf_parse_arguments(struct iperf_test *test, int argc, char **argv) + return -1; + } + ++ // SOCKS5 Proxy is supported only for TCP ++ if(test->role == 'c' && test->socks5_host && test->protocol->id != Ptcp) { ++ i_errno = IESOCKS5RTCPONLY; ++ return -1; ++ } ++ + if (blksize == 0) { + if (test->protocol->id == Pudp) + blksize = 0; /* try to dynamically determine from MSS */ +@@ -2943,6 +2991,12 @@ iperf_defaults(struct iperf_test *testp) + testp->stats_interval = testp->reporter_interval = 1; + testp->num_streams = 1; + ++ testp->socks5_host = NULL; ++ testp->socks5_port = SOCKS5_DEFAULT_PORT; ++ testp->socks5_username = NULL; ++ testp->socks5_password = NULL; ++ testp->socks5_bind_host = NULL; ++ + testp->settings->domain = AF_UNSPEC; + testp->settings->unit_format = 'a'; + testp->settings->socket_bufsize = 0; /* use autotuning */ +@@ -3100,6 +3154,14 @@ iperf_free_test(struct iperf_test *test) + free(test->remote_congestion_used); + if (test->timestamp_format) + free(test->timestamp_format); ++ if (test->socks5_host) ++ free(test->socks5_host); ++ if (test->socks5_username) ++ free(test->socks5_username); ++ if (test->socks5_password) ++ free(test->socks5_password); ++ if (test->socks5_bind_host) ++ free(test->socks5_bind_host); + if (test->omit_timer != NULL) + tmr_cancel(test->omit_timer); + if (test->timer != NULL) +@@ -3289,6 +3351,23 @@ iperf_reset_test(struct iperf_test *test) + free(test->extra_data); + test->extra_data = NULL; + } ++ if (test->socks5_host) { ++ free(test->socks5_host); ++ test->socks5_host = NULL; ++ } ++ test->socks5_port = SOCKS5_DEFAULT_PORT; ++ if (test->socks5_username) { ++ free(test->socks5_username); ++ test->socks5_username = NULL; ++ } ++ if (test->socks5_password) { ++ free(test->socks5_password); ++ test->socks5_password = NULL; ++ } ++ if (test->socks5_bind_host) { ++ free(test->socks5_bind_host); ++ test->socks5_bind_host = NULL; ++ } + + /* Free output line buffers, if any (on the server only) */ + struct iperf_textline *t; +@@ -4614,6 +4693,173 @@ iperf_add_stream(struct iperf_test *test, struct iperf_stream *sp) + } + } + ++/**************************************************************************/ ++ ++/* iperf_socks5_handshake ++ * ++ * Handshake with a SOCKS5 Proxy per RFC1928, RFC1929 ++ */ ++int ++iperf_socks5_handshake(struct iperf_test *test, int s) { ++ char req[1024]; ++ char res[1024]; ++ char selected_mthod; ++ char *p, *p1; ++ size_t len; ++ int ret; ++ uint16_t net_order_short; ++ ++ // Send method selection request [RFC1928] ++ p = req; ++ *p++ = 5; // VERSION ++ if (test->socks5_username) // Number of METHODs supported ++ *p++ = 2; ++ else ++ *p++ = 1; ++ *p++ = 0; // NO AUTHENTICATION REQUIRED ++ if (test->socks5_username) *p++ = 2; // USERNAME/PASSWORD ++ if (Nwrite(s, req, p - req, Ptcp) < 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Writing SOCKS5 auth methods message failed\n"); ++ return -1; ++ } ++ ++ // Receive selected method ++ if (Nread(s, res, 2, Ptcp) != 2) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Reading selected SOCKS5 method message failed\n"); ++ return -1; ++ } ++ ++ selected_mthod = res[1]; ++ if (res[0] != 5 || (selected_mthod != 0 && selected_mthod != 2)) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Ilegal SOCKS5 method selection response: version=%d, auth method=%d\n", res[0], selected_mthod); ++ return -1; ++ } ++ if (test->debug) { ++ iperf_printf(test, "SOCKS5 server selected authentication method %d\n", selected_mthod); ++ } ++ ++ // Send Username/Password request and receive the auth response [RFC1929] ++ if (selected_mthod == 2) { ++ p = req; ++ *p++ = 1; // VERSION ++ len = strlen(test->socks5_username); ++ *p++ = len; ++ memcpy(p, test->socks5_username, len); // USERNAME ++ p += len; ++ len = strlen(test->socks5_password); ++ *p++ = len; ++ memcpy(p, test->socks5_password, len); // PASSWORD ++ p += len; ++ ++ if (Nwrite(s, req, p - req, Ptcp) < 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Writing SOCKS5 Username/Password request message failed\n"); ++ return -1; ++ } ++ ++ if ((ret = Nread(s, res, 2, Ptcp)) != 2) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Reading SOCKS5 Username/Password response failed; Returned %d\n", ret); ++ return -1; ++ } ++ if (res[1] != 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "SOCKS5 Username/Password failed with error %d\n", res[1]); ++ return -1; ++ } ++ } ++ ++ // Send CONNECT request [RFC1928] ++ p = req; ++ *p++ = 5; // VERSION ++ *p++ = 1; // CMD = CONNECT ++ *p++ = 0; // RESERVED ++ *p++ = 3; // ATYPE = DOMAINNAME: ++ len = strlen(test->server_hostname); ++ if (len > 255) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "iperf3 host option length is limited to 255 chars when SOCKS5 is used\n"); ++ return -1; ++ } ++ *p++ = len; ++ memcpy(p, test->server_hostname, len); // ADDR ++ p += len; ++ net_order_short = htons(test->server_port); ++ p1 = (char *)&net_order_short; ++ *p++ = *p1++; // PORT ++ *p++ = *p1; ++ if (Nwrite(s, req, p - req, Ptcp) < 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Writing SOCKS5 CONNECT message failed\n"); ++ return -1; ++ } ++ ++ // Read CONNECT response [RFC1928] ++ if ((ret = Nread(s, res, 4, Ptcp)) != 4) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Reading SOCKS5 CONNECT response failed; Returned %d\n", ret); ++ return -1; ++ } ++ ++ if (res[0] != 5 || res[1] != 0 || res[2] != 0) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "SOCKS5 CONNECT failed with error %d\n", res[1]); ++ return -1; ++ } ++ ++ // Get BND.ADDR length ++ test->socks5_bind_atyp = res[3]; // ATYP ++ switch (test->socks5_bind_atyp) { ++ case 1: // IP V4 address ++ len = 4; ++ break; ++ case 3: // DOMAINNAME: ++ if ((ret = read(s, res, 1)) != 1) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Failed to read SOCKS5 CONNECT response BND.ADDR length; Returned %d\n", ret); ++ return -1; ++ } ++ len = (unsigned char)res[0]; ++ break; ++ case 4: // IP V6 address ++ len = 16; ++ break; ++ default: ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Illegal SOCKS5 CONNECT response ATYP %d\n", res[3]); ++ return -1; ++ } ++ // Read BND.ADDR ++ if ((ret = Nread(s, res, len, Ptcp)) != len) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Failed to read SOCKS5 detailes BND.ADDR; Returned %d\n", ret); ++ return -1; ++ } ++ res[len] = '\0'; ++ test->socks5_bind_host = strdup(res); ++ // Read BND.PORT ++ if ((ret = Nread(s, res, 2, Ptcp)) != 2) { ++ i_errno = IESOCKS5HANDSHAKE; ++ iperf_err(test, "Failed to read SOCKS5 detailes BND.PORT; Returned %d\n", ret); ++ return -1; ++ } ++ p1 = (char *)&net_order_short; ++ *p1++ = res[0]; ++ *p1 = res[1]; ++ test->socks5_bind_port = ntohs(net_order_short); ++ if (test->debug) { ++ iperf_printf(test, "SOCKS5 server BIND ADDR type=%d, PORT=%d\n", test->socks5_bind_atyp, test->socks5_bind_port); ++ } ++ ++ return 0; ++} ++ ++/**************************************************************************/ ++ ++ + /* This pair of routines gets inserted into the snd/rcv function pointers + ** when there's a -F flag. They handle the file stuff and call the real + ** snd/rcv functions, which have been saved in snd2/rcv2. +diff --git a/src/iperf_api.h b/src/iperf_api.h +index d2bbdfe96..01d63bf5e 100644 +--- a/src/iperf_api.h ++++ b/src/iperf_api.h +@@ -68,6 +68,7 @@ typedef atomic_uint_fast64_t atomic_iperf_size_t; + #define DEFAULT_PACING_TIMER 1000 + #define DEFAULT_NO_MSG_RCVD_TIMEOUT 120000 + #define MIN_NO_MSG_RCVD_TIMEOUT 100 ++#define SOCKS5_DEFAULT_PORT 1080 + + #define WARN_STR_LEN 128 + +@@ -100,7 +101,8 @@ typedef atomic_uint_fast64_t atomic_iperf_size_t; + #define OPT_RCV_TIMEOUT 27 + #define OPT_JSON_STREAM 28 + #define OPT_SND_TIMEOUT 29 + #define OPT_USE_PKCS1_PADDING 30 ++#define OPT_SOCKS5 31 + + /* states */ + #define TEST_START 1 +@@ -308,6 +310,12 @@ void iperf_free_stream(struct iperf_stream * sp); + */ + int iperf_common_sockopts(struct iperf_test *, int s); + ++/** ++ * iperf_socks5_handshake - handshake with a SOCKS5 Proxy per RFC1928, RFC1929 ++ * ++ */ ++int iperf_socks5_handshake(struct iperf_test *test, int s); ++ + int has_tcpinfo(void); + int has_tcpinfo_retransmits(void); + void save_tcpinfo(struct iperf_stream *sp, struct iperf_interval_results *irp); +@@ -419,6 +427,8 @@ enum { + IESNDTIMEOUT = 33, // Illegal message send timeout + IEUDPFILETRANSFER = 34, // Cannot transfer file using UDP + IESERVERAUTHUSERS = 35, // Cannot access authorized users file ++ IESOCKS5HOST = 36, // Illegal SOCKS5 host / creadentials ++ IESOCKS5RTCPONLY = 37, // SOCKS5 Proxy is supported only for TCP + /* Test errors */ + IENEWTEST = 100, // Unable to create a new test (check perror) + IEINITTEST = 101, // Test initialization failed (check perror) +@@ -473,8 +483,9 @@ enum { + IEPTHREADCANCEL=151, // Unable to cancel thread (check perror) + IEPTHREADJOIN=152, // Unable to join thread (check perror) + IEPTHREADATTRINIT=153, // Unable to initialize thread attribute (check perror) + IEPTHREADATTRDESTROY=154, // Unable to destroy thread attribute (check perror) + IEPTHREADSIGMASK=155, // Unable to initialize sub thread signal mask (check perror) ++ IESOCKS5HANDSHAKE = 156, // SOCKS5 Handshake with the server failed + /* Stream errors */ + IECREATESTREAM = 200, // Unable to create a new stream (check herror/perror) + IEINITSTREAM = 201, // Unable to initialize stream (check herror/perror) +diff --git a/src/iperf_client_api.c b/src/iperf_client_api.c +index 7ad4c939b..670e3521d 100644 +--- a/src/iperf_client_api.c ++++ b/src/iperf_client_api.c +@@ -385,6 +385,8 @@ iperf_connect(struct iperf_test *test) + { + int opt; + socklen_t len; ++ const char *connect_server; ++ int connect_port; + + if (NULL == test) + { +@@ -397,12 +399,20 @@ iperf_connect(struct iperf_test *test) + make_cookie(test->cookie); + + /* Create and connect the control channel */ +- if (test->ctrl_sck < 0) +- // Create the control channel using an ephemeral port +- test->ctrl_sck = netdial(test->settings->domain, Ptcp, test->bind_address, test->bind_dev, 0, test->server_hostname, test->server_port, test->settings->connect_timeout); + if (test->ctrl_sck < 0) { +- i_errno = IECONNECT; +- return -1; ++ if (test->socks5_host) { ++ connect_server = test->socks5_host; ++ connect_port = test->socks5_port; ++ } else { ++ connect_server = test->server_hostname; ++ connect_port = test->server_port; ++ } ++ // Create the control channel using an ephemeral port ++ test->ctrl_sck = netdial(test->settings->domain, Ptcp, test->bind_address, test->bind_dev, 0, connect_server, connect_port, test->settings->connect_timeout); ++ if (test->ctrl_sck < 0) { ++ i_errno = IECONNECT; ++ return -1; ++ } + } + + // set TCP_NODELAY for lower latency on control messages +@@ -421,6 +431,13 @@ iperf_connect(struct iperf_test *test) + } + #endif /* HAVE_TCP_USER_TIMEOUT */ + ++ /* socks5 proxy handshake */ ++ if (test->socks5_host) { ++ if (0 != iperf_socks5_handshake(test, test->ctrl_sck)) { ++ return -1; ++ } ++ } ++ + if (Nwrite(test->ctrl_sck, test->cookie, COOKIE_SIZE, Ptcp) < 0) { + i_errno = IESENDCOOKIE; + return -1; +diff --git a/src/iperf_error.c b/src/iperf_error.c +index 6426554cf..a0bbb6844 100644 +--- a/src/iperf_error.c ++++ b/src/iperf_error.c +@@ -216,6 +216,9 @@ iperf_strerror(int int_errno) + case IEUNIMP: + snprintf(errstr, len, "an option you are trying to set is not implemented yet"); + break; ++ case IESOCKS5HOST: ++ snprintf(errstr, len, "ilegal SOCKS5 host / creadentials"); ++ break; + case IEFILE: + snprintf(errstr, len, "unable to open -F file"); + perr = 1; +@@ -375,6 +378,9 @@ iperf_strerror(int int_errno) + case IEUDPFILETRANSFER: + snprintf(errstr, len, "cannot transfer file using UDP"); + break; ++ case IESOCKS5RTCPONLY: ++ snprintf(errstr, len, "SOCKS5 Proxy is supported only for TCP"); ++ break; + case IERVRSONLYRCVTIMEOUT: + snprintf(errstr, len, "client receive timeout is valid only in receiving mode"); + perr = 1; +@@ -507,6 +513,10 @@ iperf_strerror(int int_errno) + snprintf(errstr, len, "unable to destroy thread attributes"); + perr = 1; + break; ++ case IESOCKS5HANDSHAKE: ++ snprintf(errstr, len, "socks5 Handshake with the server failed"); ++ perr = 1; ++ break; + default: + snprintf(errstr, len, "int_errno=%d", int_errno); + perr = 1; +diff --git a/src/iperf_locale.c b/src/iperf_locale.c +index ae0f63a41..c8b9a71d1 100644 +--- a/src/iperf_locale.c ++++ b/src/iperf_locale.c +@@ -194,6 +194,8 @@ const char usage_longstr[] = "Usage: iperf3 [-s|-c host] [options]\n" + " --dscp N or --dscp val set the IP dscp value, either 0-63 or symbolic.\n" + " Numeric values can be specified in decimal,\n" + " octal and hex (see --tos above).\n" ++ " --socks5 [user:password@][:port] use SOCKS5 Proxy for TCP connections,\n" ++ " using no auth or user:password. Default Proxy port is %d \n" + #if defined(HAVE_FLOWLABEL) + " -L, --flowlabel N set the IPv6 flow label (only supported on Linux)\n" + #endif /* HAVE_FLOWLABEL */ +diff --git a/src/iperf_tcp.c b/src/iperf_tcp.c +index 184a1955e..515913581 100644 +--- a/src/iperf_tcp.c ++++ b/src/iperf_tcp.c +@@ -375,14 +375,24 @@ iperf_tcp_connect(struct iperf_test *test) + socklen_t optlen; + int saved_errno; + int rcvbuf_actual, sndbuf_actual; + int proto = 0; ++ const char *connect_server; ++ int connect_port; + + #if defined(HAVE_IPPROTO_MPTCP) + if (test->mptcp) + proto = IPPROTO_MPTCP; + #endif + +- s = create_socket(test->settings->domain, SOCK_STREAM, proto, test->bind_address, test->bind_dev, test->bind_port, test->server_hostname, test->server_port, &server_res); ++ if (test->socks5_host) { ++ connect_server = test->socks5_host; ++ connect_port = test->socks5_port; ++ } else { ++ connect_server = test->server_hostname; ++ connect_port = test->server_port; ++ } ++ ++ s = create_socket(test->settings->domain, SOCK_STREAM, proto, test->bind_address, test->bind_dev, test->bind_port, connect_server, connect_port, &server_res); + if (s < 0) { + i_errno = IESTREAMCONNECT; + return -1; +@@ -571,6 +581,16 @@ iperf_tcp_connect(struct iperf_test *test) + + freeaddrinfo(server_res); + ++ /* socks5 proxy handshake */ ++ if (test->socks5_host) { ++ if (0 != iperf_socks5_handshake(test, s)) { ++ saved_errno = errno; ++ close(s); ++ errno = saved_errno; ++ return -1; ++ } ++ } ++ + /* Send cookie for verification */ + if (Nwrite(s, test->cookie, COOKIE_SIZE, Ptcp) < 0) { + saved_errno = errno; diff --git a/openmptcprouter/files/bin/omr-iperf b/openmptcprouter/files/bin/omr-iperf index 6ab611328..5ee506a69 100755 --- a/openmptcprouter/files/bin/omr-iperf +++ b/openmptcprouter/files/bin/omr-iperf @@ -10,7 +10,8 @@ PORTS=$(uci -q get iperf.$SERVER.ports | sed 's/,/ /g') PORT="${PORTS%% *}" echo $KEY | base64 -d > /tmp/iperf.pem if [ -n "$PASSWORD" ] && [ -n "$USER" ] && [ -n "$KEY" ]; then - IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem --use-pkcs1-padding -c $HOST -p $PORT ${@} + #IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem --use-pkcs1-padding -c $HOST -p $PORT ${@} + IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $HOST -p $PORT ${@} else iperf3 -c $HOST -p $PORT ${@} fi From 8581dcfc194173ba9a4bd1f27c6fae1bf97bb500 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 09:51:59 +0100 Subject: [PATCH 139/199] Update mptcpd --- mptcpd/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mptcpd/Makefile b/mptcpd/Makefile index 81157622d..4aa786728 100644 --- a/mptcpd/Makefile +++ b/mptcpd/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter project +# Copyright (C) 2020-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter project # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mptcpd PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/multipath-tcp/mptcpd.git -PKG_SOURCE_VERSION:=0c36dbadb56586ad51b7945e3434c87c7f1b16f4 +PKG_SOURCE_VERSION:=68fd9a156669ca7029a101f32282706df069cb4f PKG_VERSION:=0.13 PKG_RELEASE:=1 PKG_MAINTAINER:=Ycarus (Yannick Chabanois) From 4a603485868a480860cf42a7eabadb67ecef17ee Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 11:56:19 +0100 Subject: [PATCH 140/199] Fix multipath Backup mode --- mptcp/files/usr/bin/multipath | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mptcp/files/usr/bin/multipath b/mptcp/files/usr/bin/multipath index 400517ac0..d6758b4e8 100755 --- a/mptcp/files/usr/bin/multipath +++ b/mptcp/files/usr/bin/multipath @@ -3,6 +3,7 @@ # Update the MP-TCP flags without the pached iproute2 # # Author: Mario Krueger +# Ycarus (Yannick Chabanois) for OpenMPTCProuter # Released under GPL 3 or later if [ -d "/proc/sys/net/mptcp" ]; then @@ -145,6 +146,7 @@ else if [ -n "$endpoint" ]; then ID=$(echo "${endpoint}" | sort | grep "dev $DEVICE " | awk '{print $3}') IFF=$(echo "${endpoint}" | sort | grep -m 1 -E "dev $DEVICE " | awk '{print $4; exit}') + IFF2=$(echo "${endpoint}" | sort | grep -m 1 -E "dev $DEVICE " | awk '{print $5; exit}') fi if [ -n "$TYPE" ]; then #IP=$(ip a show $DEVICE | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p') @@ -196,16 +198,20 @@ else done } for i in $IP; do - ip mptcp endpoint add $i dev $DEVICE backup fullmesh + ip mptcp endpoint add $i dev $DEVICE subflow backup fullmesh done exit 0;; "") case "$IFF" in "") echo $DEVICE is deactivated;; - "subflow") echo $DEVICE is in default mode;; - "backup") echo $DEVICE is in backup mode;; + "subflow") + case "$IFF2" in + "backup") echo $DEVICE is in backup mode;; + "fullmesh") echo $DEVICE is in default mode;; + "") echo $DEVICE is in subflow mode;; + esac + ;; "signal") echo $DEVICE is in signal mode;; - "fullmesh") echo $DEVICE is in fullmesh mode;; *) echo "$DEVICE Unkown state!" && exit 1;; esac exit 0;; From 74c8b1a285fde7c9999a530d807a814237747ad3 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 15:00:56 +0100 Subject: [PATCH 141/199] Update v2ray --- v2ray-core/Makefile | 8 +- v2ray-core/patches/add-mptcp-support.patch | 2923 -------------------- 2 files changed, 3 insertions(+), 2928 deletions(-) delete mode 100644 v2ray-core/patches/add-mptcp-support.patch diff --git a/v2ray-core/Makefile b/v2ray-core/Makefile index ebae7974c..2aa8ee411 100644 --- a/v2ray-core/Makefile +++ b/v2ray-core/Makefile @@ -1,19 +1,17 @@ # SPDX-License-Identifier: GPL-3.0-only # # Copyright (C) 2021-2022 ImmortalWrt.org +# Copyright (C) 2022-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter.com (contact@openmptcprouter.com) include $(TOPDIR)/rules.mk PKG_NAME:=v2ray-core -PKG_VERSION:=5.7.0 +PKG_VERSION:=5.26.0 PKG_RELEASE:=1 -#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -#PKG_SOURCE_URL:=https://codeload.github.com/v2fly/v2ray-core/tar.gz/v$(PKG_VERSION)? -#PKG_HASH:=599fcd264537e39178b6008a11af68816dfd1609e19a9cf8adc8b2a4240ee370 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/v2fly/v2ray-core.git -PKG_SOURCE_VERSION:=8de2f27043b00612986d96f37975cd4aa98b49c3 +PKG_SOURCE_VERSION:=1cf24f44b4f984a98616bf037a4555fc595cbb80 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/v2ray-core/patches/add-mptcp-support.patch b/v2ray-core/patches/add-mptcp-support.patch deleted file mode 100644 index deb0ac78d..000000000 --- a/v2ray-core/patches/add-mptcp-support.patch +++ /dev/null @@ -1,2923 +0,0 @@ -From 036cf19338137e3919b4c5d63b684ef3987ba253 Mon Sep 17 00:00:00 2001 -From: Luo Chongjun -Date: Sat, 29 Jul 2023 14:56:58 +0800 -Subject: [PATCH] support mptcp - ---- -diff --git a/transport/internet/system_dialer.go b/transport/internet/system_dialer.go -index 314664a78..96bb0eca1 100644 ---- a/transport/internet/system_dialer.go -+++ b/transport/internet/system_dialer.go -@@ -72,6 +72,12 @@ func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest ne - LocalAddr: resolveSrcAddr(dest.Network, src), - KeepAlive: goStdKeepAlive, - } -+ if dialer.MultipathTCP() { -+ newError("Outbound MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx)) -+ } else { -+ newError("Outbound MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx)) -+ dialer.SetMultipathTCP(true) // 主动启用mptcp -+ } - - if sockopt != nil || len(d.controllers) > 0 { - dialer.Control = func(network, address string, c syscall.RawConn) error { -diff --git a/transport/internet/system_listener.go b/transport/internet/system_listener.go -index 5ddb4814e..74e48130a 100644 ---- a/transport/internet/system_listener.go -+++ b/transport/internet/system_listener.go -@@ -45,6 +45,12 @@ func (dl *DefaultListener) Listen(ctx context.Context, addr net.Addr, sockopt *S - var l net.Listener - var err error - var network, address string -+ if lc.MultipathTCP() { -+ newError("MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx)) -+ } else { -+ newError("MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx)) -+ lc.SetMultipathTCP(true) // 主动启用mptcp -+ } - switch addr := addr.(type) { - case *net.TCPAddr: - network = addr.Network() -diff --git a/app/browserforwarder/config.pb.go b/app/browserforwarder/config.pb.go -index 912ba0f5c..f3b3ef659 100644 ---- a/app/browserforwarder/config.pb.go -+++ b/app/browserforwarder/config.pb.go -@@ -80,22 +80,22 @@ var file_app_browserforwarder_config_proto_rawDesc = []byte{ - 0x61, 0x70, 0x70, 0x2e, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x65, 0x72, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, -- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, -+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x6f, -- 0x72, 0x74, 0x3a, 0x1a, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, -- 0x65, 0x82, 0xb5, 0x18, 0x09, 0x12, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x42, 0x7e, -- 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -- 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x77, -- 0x61, 0x72, 0x64, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -- 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -- 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x72, 0x6f, 0x77, -- 0x73, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0xaa, 0x02, 0x1f, 0x56, -- 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x42, 0x72, -- 0x6f, 0x77, 0x73, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x62, 0x06, -- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x72, 0x74, 0x3a, 0x16, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, -+ 0x65, 0x12, 0x07, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, -+ 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -+ 0x2e, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, -+ 0x72, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, -+ 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, -+ 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x66, -+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0xaa, 0x02, 0x1f, 0x56, 0x32, 0x52, 0x61, 0x79, -+ 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, -+ 0x72, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, -+ 0x6f, 0x33, - } - - var ( -diff --git a/app/commander/config.pb.go b/app/commander/config.pb.go -index 221b42621..bac9fa6bf 100644 ---- a/app/commander/config.pb.go -+++ b/app/commander/config.pb.go -@@ -184,23 +184,22 @@ var file_app_commander_config_proto_rawDesc = []byte{ - 0x2e, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, -- 0x35, 0x0a, 0x10, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, -- 0x66, 0x69, 0x67, 0x3a, 0x21, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x73, -- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x0c, 0x12, 0x0a, 0x72, 0x65, 0x66, 0x6c, -- 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x56, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, -- 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, -- 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, -- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, -- 0x3a, 0x1c, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, -- 0xb5, 0x18, 0x0b, 0x12, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x69, -- 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -- 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x01, -- 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, -- 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, -- 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0xaa, 0x02, -- 0x18, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, -- 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, -- 0x33, -+ 0x31, 0x0a, 0x10, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, -+ 0x66, 0x69, 0x67, 0x3a, 0x1d, 0x82, 0xb5, 0x18, 0x19, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x73, -+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0a, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, -+ 0x6f, 0x6e, 0x22, 0x52, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, -+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, -+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, -+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x18, 0x82, 0xb5, -+ 0x18, 0x14, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x09, 0x63, 0x6f, 0x6d, -+ 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x69, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x63, 0x6f, 0x6d, -+ 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x63, 0x6f, 0x6d, -+ 0x6d, 0x61, 0x6e, 0x64, 0x65, 0x72, 0xaa, 0x02, 0x18, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, -+ 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x65, -+ 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/dns/config.pb.go b/app/dns/config.pb.go -index a32c3cd54..beae96661 100644 ---- a/app/dns/config.pb.go -+++ b/app/dns/config.pb.go -@@ -1332,7 +1326,7 @@ var file_app_dns_config_proto_rawDesc = []byte{ - 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x4f, 0x72, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, -- 0x08, 0x07, 0x10, 0x08, 0x22, 0xed, 0x05, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, -+ 0x08, 0x07, 0x10, 0x08, 0x22, 0xe9, 0x05, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -@@ -1376,102 +1370,102 @@ var file_app_dns_config_proto_rawDesc = []byte{ - 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, -- 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x16, 0x82, 0xb5, 0x18, 0x09, -- 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x05, 0x12, 0x03, 0x64, -- 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, -- 0x08, 0x07, 0x10, 0x08, 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, -- 0x69, 0x65, 0x64, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3a, -- 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, -- 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, -- 0x73, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, -- 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, -- 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, -- 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, -- 0x69, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x6f, -- 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, -- 0x69, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xc8, 0x07, 0x0a, 0x14, 0x53, 0x69, -- 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, -- 0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, -- 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -- 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, -- 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, -- 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, -- 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, -- 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x66, 0x0a, 0x12, -- 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, -- 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x53, 0x69, -- 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, -- 0x65, 0x72, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, -- 0x6e, 0x52, 0x11, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x6f, -- 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x03, 0x20, -- 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -- 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, -- 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, -- 0x67, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x5c, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, -- 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, -- 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, -- 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, -- 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, -- 0x6c, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, -- 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -- 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, -- 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x75, -- 0x6c, 0x74, 0x69, 0x52, 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, -- 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, -- 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 0x6c, 0x6c, -- 0x62, 0x61, 0x63, 0x6b, 0x12, 0x4d, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, -- 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, -- 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, -- 0x73, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, -- 0x00, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, -- 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, -- 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, -- 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x01, -- 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, -- 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, -- 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, -- 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, -- 0x65, 0x67, 0x79, 0x48, 0x02, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, -- 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0e, 0x50, 0x72, -- 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x04, -- 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, -- 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, -- 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, -- 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, -- 0x1a, 0x36, 0x0a, 0x0c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, -- 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, -- 0x72, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, -- 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x71, 0x75, 0x65, -- 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, -- 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x14, -- 0x0a, 0x12, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, -- 0x74, 0x65, 0x67, 0x79, 0x2a, 0x45, 0x0a, 0x12, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, -- 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x75, -- 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, -- 0x6e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x10, 0x02, -- 0x12, 0x09, 0x0a, 0x05, 0x52, 0x65, 0x67, 0x65, 0x78, 0x10, 0x03, 0x2a, 0x35, 0x0a, 0x0d, 0x51, -- 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0a, 0x0a, 0x06, -- 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, -- 0x49, 0x50, 0x34, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, -- 0x10, 0x02, 0x2a, 0x34, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, -- 0x65, 0x67, 0x79, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x61, 0x62, -- 0x6c, 0x65, 0x64, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, -- 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x01, 0x2a, 0x45, 0x0a, 0x10, 0x46, 0x61, 0x6c, 0x6c, -- 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0b, 0x0a, 0x07, -- 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x69, 0x73, -- 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, -- 0x6c, 0x65, 0x64, 0x49, 0x66, 0x41, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x42, -- 0x57, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -- 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x26, 0x67, 0x69, 0x74, -- 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, -- 0x64, 0x6e, 0x73, 0xaa, 0x02, 0x12, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, -- 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x44, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x12, 0x82, 0xb5, 0x18, 0x0e, -+ 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x03, 0x64, 0x6e, 0x73, 0x4a, 0x04, -+ 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, -+ 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x48, -+ 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, -+ 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x44, 0x6f, -+ 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, -+ 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, -+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, -+ 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x25, -+ 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, -+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x64, 0x44, -+ 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xc8, 0x07, 0x0a, 0x14, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, -+ 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x39, -+ 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, -+ 0x1f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, -+ 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, -+ 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, -+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, -+ 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, -+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x66, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6f, -+ 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, -+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -+ 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, -+ 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, -+ 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x11, 0x70, -+ 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, -+ 0x12, 0x3f, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, -+ 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -+ 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, -+ 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, 0x67, 0x65, 0x6f, 0x69, -+ 0x70, 0x12, 0x5c, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x75, -+ 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x53, -+ 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, -+ 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, -+ 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, -+ 0x47, 0x0a, 0x08, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, -+ 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, -+ 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, -+ 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x52, -+ 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x70, -+ 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, -+ 0x18, 0x01, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, -+ 0x12, 0x4d, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, -+ 0x67, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x51, 0x75, -+ 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x71, -+ 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x12, -+ 0x4d, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, -+ 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x43, 0x61, 0x63, -+ 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x01, 0x52, 0x0d, 0x63, 0x61, -+ 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, -+ 0x0a, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, -+ 0x65, 0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x46, -+ 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, -+ 0x02, 0x52, 0x10, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61, 0x74, -+ 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, -+ 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, -+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x44, 0x6f, 0x6d, 0x61, -+ 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, -+ 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, -+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x1a, 0x36, 0x0a, 0x0c, -+ 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, -+ 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, -+ 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, -+ 0x73, 0x69, 0x7a, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, -+ 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x63, 0x68, -+ 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, -+ 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, -+ 0x2a, 0x45, 0x0a, 0x12, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, -+ 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x00, -+ 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x10, 0x01, 0x12, -+ 0x0b, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, -+ 0x52, 0x65, 0x67, 0x65, 0x78, 0x10, 0x03, 0x2a, 0x35, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, -+ 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x53, 0x45, 0x5f, -+ 0x49, 0x50, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x34, 0x10, -+ 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x02, 0x2a, 0x34, -+ 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, -+ 0x10, 0x0a, 0x0c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x10, -+ 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, -+ 0x65, 0x64, 0x10, 0x01, 0x2a, 0x45, 0x0a, 0x10, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, -+ 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x6e, 0x61, 0x62, -+ 0x6c, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, -+ 0x64, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, -+ 0x66, 0x41, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x42, 0x57, 0x0a, 0x16, 0x63, -+ 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, -+ 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -+ 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0xaa, -+ 0x02, 0x12, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, -+ 0x2e, 0x44, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/dns/fakedns/fakedns.pb.go b/app/dns/fakedns/fakedns.pb.go -index 870a44fbd..759743ba1 100644 ---- a/app/dns/fakedns/fakedns.pb.go -+++ b/app/dns/fakedns/fakedns.pb.go -@@ -125,28 +125,27 @@ var file_app_dns_fakedns_fakedns_proto_rawDesc = []byte{ - 0x1a, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x1a, 0x20, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, -- 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, -+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, - 0x0b, 0x46, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x17, 0x0a, 0x07, - 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, - 0x70, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x72, 0x75, 0x53, 0x69, 0x7a, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6c, 0x72, 0x75, 0x53, 0x69, 0x7a, 0x65, 0x3a, -- 0x1a, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, -- 0x18, 0x09, 0x12, 0x07, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x22, 0x72, 0x0a, 0x10, 0x46, -- 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, -- 0x3d, 0x0a, 0x05, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, -- 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -- 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, -- 0x44, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x3a, 0x1f, -- 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, -- 0x0e, 0x12, 0x0c, 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x42, -- 0x6f, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -- 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, -- 0x73, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, -- 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, -- 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x64, 0x6e, 0x73, 0x2f, 0x66, 0x61, 0x6b, 0x65, -- 0x64, 0x6e, 0x73, 0xaa, 0x02, 0x1a, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, -- 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x44, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, -- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x16, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x07, -+ 0x66, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x22, 0x6e, 0x0a, 0x10, 0x46, 0x61, 0x6b, 0x65, 0x44, -+ 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x3d, 0x0a, 0x05, 0x70, -+ 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x32, 0x72, -+ 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, 0x73, 0x2e, -+ 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x50, -+ 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x3a, 0x1b, 0x82, 0xb5, 0x18, 0x17, -+ 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x0c, 0x66, 0x61, 0x6b, 0x65, 0x44, -+ 0x6e, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x42, 0x6f, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x76, -+ 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x6e, -+ 0x73, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, -+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, -+ 0x64, 0x6e, 0x73, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0xaa, 0x02, 0x1a, 0x56, 0x32, -+ 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x44, 0x6e, 0x73, -+ 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x64, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/instman/command/command.pb.go b/app/instman/command/command.pb.go -index 6c507470c..ecdb7dfe0 100644 ---- a/app/instman/command/command.pb.go -+++ b/app/instman/command/command.pb.go -@@ -349,41 +349,41 @@ var file_app_instman_command_command_proto_rawDesc = []byte{ - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x13, 0x0a, - 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, -- 0x73, 0x70, 0x22, 0x28, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1e, 0x82, 0xb5, -- 0x18, 0x0d, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, -- 0xb5, 0x18, 0x09, 0x12, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x32, 0xf4, 0x02, 0x0a, -- 0x19, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, -- 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, -- 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x76, 0x32, 0x72, -+ 0x73, 0x70, 0x22, 0x24, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1a, 0x82, 0xb5, -+ 0x18, 0x16, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, -+ 0x07, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x32, 0xf4, 0x02, 0x0a, 0x19, 0x49, 0x6e, 0x73, -+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, -+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, -+ 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, -+ 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x30, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, -+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6e, 0x0a, 0x0b, 0x41, 0x64, 0x64, -+ 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, -+ 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, -+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, -+ 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, -+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x74, 0x61, -+ 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x2e, 0x76, 0x32, 0x72, - 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, -- 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4c, 0x69, 0x73, 0x74, -- 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x30, 0x2e, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, 0x73, -- 0x74, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4c, 0x69, 0x73, -- 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6e, 0x0a, -- 0x0b, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x76, -+ 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x72, -+ 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x31, 0x2e, 0x76, - 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, -- 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, -- 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2f, 0x2e, 0x76, -- 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, -- 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, -- 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x74, 0x0a, -- 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x30, -- 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -- 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, -- 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, -- 0x1a, 0x31, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, -- 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, -- 0x64, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, -- 0x65, 0x73, 0x70, 0x42, 0x7f, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, -- 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x50, 0x01, 0x5a, -- 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, -- 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, -- 0x61, 0x70, 0x70, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, -- 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x1e, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, -- 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, -- 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x53, 0x74, -+ 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, -+ 0x7f, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -+ 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, -+ 0x79, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x69, 0x74, -+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, -+ 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, -+ 0x02, 0x1e, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, -+ 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, -+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/instman/command/command_grpc.pb.go b/app/instman/command/command_grpc.pb.go -index 5d6852f5b..9574a2826 100644 ---- a/app/instman/command/command_grpc.pb.go -+++ b/app/instman/command/command_grpc.pb.go -@@ -12,6 +12,12 @@ import ( - // Requires gRPC-Go v1.32.0 or later. - const _ = grpc.SupportPackageIsVersion7 - -+const ( -+ InstanceManagementService_ListInstance_FullMethodName = "/v2ray.core.app.instman.command.InstanceManagementService/ListInstance" -+ InstanceManagementService_AddInstance_FullMethodName = "/v2ray.core.app.instman.command.InstanceManagementService/AddInstance" -+ InstanceManagementService_StartInstance_FullMethodName = "/v2ray.core.app.instman.command.InstanceManagementService/StartInstance" -+) -+ - // InstanceManagementServiceClient is the client API for InstanceManagementService service. - // - // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -@@ -31,7 +37,7 @@ func NewInstanceManagementServiceClient(cc grpc.ClientConnInterface) InstanceMan - - func (c *instanceManagementServiceClient) ListInstance(ctx context.Context, in *ListInstanceReq, opts ...grpc.CallOption) (*ListInstanceResp, error) { - out := new(ListInstanceResp) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.instman.command.InstanceManagementService/ListInstance", in, out, opts...) -+ err := c.cc.Invoke(ctx, InstanceManagementService_ListInstance_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -40,7 +46,7 @@ func (c *instanceManagementServiceClient) ListInstance(ctx context.Context, in * - - func (c *instanceManagementServiceClient) AddInstance(ctx context.Context, in *AddInstanceReq, opts ...grpc.CallOption) (*AddInstanceResp, error) { - out := new(AddInstanceResp) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.instman.command.InstanceManagementService/AddInstance", in, out, opts...) -+ err := c.cc.Invoke(ctx, InstanceManagementService_AddInstance_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -49,7 +55,7 @@ func (c *instanceManagementServiceClient) AddInstance(ctx context.Context, in *A - - func (c *instanceManagementServiceClient) StartInstance(ctx context.Context, in *StartInstanceReq, opts ...grpc.CallOption) (*StartInstanceResp, error) { - out := new(StartInstanceResp) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.instman.command.InstanceManagementService/StartInstance", in, out, opts...) -+ err := c.cc.Invoke(ctx, InstanceManagementService_StartInstance_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -103,7 +109,7 @@ func _InstanceManagementService_ListInstance_Handler(srv interface{}, ctx contex - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.instman.command.InstanceManagementService/ListInstance", -+ FullMethod: InstanceManagementService_ListInstance_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(InstanceManagementServiceServer).ListInstance(ctx, req.(*ListInstanceReq)) -@@ -121,7 +127,7 @@ func _InstanceManagementService_AddInstance_Handler(srv interface{}, ctx context - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.instman.command.InstanceManagementService/AddInstance", -+ FullMethod: InstanceManagementService_AddInstance_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(InstanceManagementServiceServer).AddInstance(ctx, req.(*AddInstanceReq)) -@@ -139,7 +145,7 @@ func _InstanceManagementService_StartInstance_Handler(srv interface{}, ctx conte - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.instman.command.InstanceManagementService/StartInstance", -+ FullMethod: InstanceManagementService_StartInstance_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(InstanceManagementServiceServer).StartInstance(ctx, req.(*StartInstanceReq)) -diff --git a/app/instman/config.pb.go b/app/instman/config.pb.go -index 10451e44b..dccbc7a0d 100644 ---- a/app/instman/config.pb.go -+++ b/app/instman/config.pb.go -@@ -61,16 +61,16 @@ var file_app_instman_config_proto_rawDesc = []byte{ - 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, - 0x61, 0x6e, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, -- 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x24, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1a, -- 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, -- 0x09, 0x12, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x42, 0x63, 0x0a, 0x1a, 0x63, 0x6f, -- 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -- 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x50, 0x01, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, -- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x69, -- 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0xaa, 0x02, 0x16, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, -- 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x62, -- 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x16, -+ 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x07, 0x69, -+ 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x42, 0x63, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x69, 0x6e, 0x73, -+ 0x74, 0x6d, 0x61, 0x6e, 0x50, 0x01, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, -+ 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, -+ 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x6d, -+ 0x61, 0x6e, 0xaa, 0x02, 0x16, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, -+ 0x41, 0x70, 0x70, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x6d, 0x61, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, -+ 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/log/command/config_grpc.pb.go b/app/log/command/config_grpc.pb.go -index 24a0fe6ed..f1830f1ac 100644 ---- a/app/log/command/config_grpc.pb.go -+++ b/app/log/command/config_grpc.pb.go -@@ -12,6 +12,11 @@ import ( - // Requires gRPC-Go v1.32.0 or later. - const _ = grpc.SupportPackageIsVersion7 - -+const ( -+ LoggerService_RestartLogger_FullMethodName = "/v2ray.core.app.log.command.LoggerService/RestartLogger" -+ LoggerService_FollowLog_FullMethodName = "/v2ray.core.app.log.command.LoggerService/FollowLog" -+) -+ - // LoggerServiceClient is the client API for LoggerService service. - // - // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -@@ -31,7 +36,7 @@ func NewLoggerServiceClient(cc grpc.ClientConnInterface) LoggerServiceClient { - - func (c *loggerServiceClient) RestartLogger(ctx context.Context, in *RestartLoggerRequest, opts ...grpc.CallOption) (*RestartLoggerResponse, error) { - out := new(RestartLoggerResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.log.command.LoggerService/RestartLogger", in, out, opts...) -+ err := c.cc.Invoke(ctx, LoggerService_RestartLogger_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -39,7 +44,7 @@ func (c *loggerServiceClient) RestartLogger(ctx context.Context, in *RestartLogg - } - - func (c *loggerServiceClient) FollowLog(ctx context.Context, in *FollowLogRequest, opts ...grpc.CallOption) (LoggerService_FollowLogClient, error) { -- stream, err := c.cc.NewStream(ctx, &LoggerService_ServiceDesc.Streams[0], "/v2ray.core.app.log.command.LoggerService/FollowLog", opts...) -+ stream, err := c.cc.NewStream(ctx, &LoggerService_ServiceDesc.Streams[0], LoggerService_FollowLog_FullMethodName, opts...) - if err != nil { - return nil, err - } -@@ -113,7 +118,7 @@ func _LoggerService_RestartLogger_Handler(srv interface{}, ctx context.Context, - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.log.command.LoggerService/RestartLogger", -+ FullMethod: LoggerService_RestartLogger_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LoggerServiceServer).RestartLogger(ctx, req.(*RestartLoggerRequest)) -diff --git a/app/log/config.pb.go b/app/log/config.pb.go -index aac56a4f3..aab3a40dd 100644 ---- a/app/log/config.pb.go -+++ b/app/log/config.pb.go -@@ -204,7 +204,7 @@ var file_app_log_config_proto_rawDesc = []byte{ - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x67, 0x2e, - 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, -- 0x61, 0x74, 0x68, 0x22, 0xb8, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, -+ 0x61, 0x74, 0x68, 0x22, 0xb4, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6c, - 0x6f, 0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, -@@ -212,20 +212,20 @@ var file_app_log_config_proto_rawDesc = []byte{ - 0x63, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, - 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6c, 0x6f, 0x67, 0x2e, - 0x4c, 0x6f, 0x67, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, -- 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x16, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, -- 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x05, 0x12, 0x03, 0x6c, 0x6f, 0x67, -- 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, -- 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x2a, 0x35, -- 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, -- 0x65, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x10, 0x01, -- 0x12, 0x08, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x76, -- 0x65, 0x6e, 0x74, 0x10, 0x03, 0x42, 0x57, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6c, 0x6f, 0x67, 0x50, -- 0x01, 0x5a, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, -- 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, -- 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x6c, 0x6f, 0x67, 0xaa, 0x02, 0x12, 0x56, 0x32, 0x52, 0x61, -- 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x4c, 0x6f, 0x67, 0x62, 0x06, -- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x12, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x07, -+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x03, 0x6c, 0x6f, 0x67, 0x4a, 0x04, 0x08, 0x01, -+ 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, -+ 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x2a, 0x35, 0x0a, 0x07, 0x4c, 0x6f, -+ 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, -+ 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, -+ 0x46, 0x69, 0x6c, 0x65, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, -+ 0x03, 0x42, 0x57, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6c, 0x6f, 0x67, 0x50, 0x01, 0x5a, 0x26, 0x67, -+ 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, -+ 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, -+ 0x70, 0x2f, 0x6c, 0x6f, 0x67, 0xaa, 0x02, 0x12, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, -+ 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x4c, 0x6f, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, -+ 0x6f, 0x33, - } - - var ( -diff --git a/app/observatory/burst/config.pb.go b/app/observatory/burst/config.pb.go -index e6c988cdf..9a751fa95 100644 ---- a/app/observatory/burst/config.pb.go -+++ b/app/observatory/burst/config.pb.go -@@ -165,7 +165,7 @@ var file_app_observatory_burst_config_proto_rawDesc = []byte{ - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x62, 0x75, 0x72, 0x73, 0x74, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, -- 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, -+ 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, - 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x53, -@@ -174,29 +174,29 @@ var file_app_observatory_burst_config_proto_rawDesc = []byte{ - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x62, 0x75, 0x72, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, -- 0x66, 0x69, 0x67, 0x3a, 0x23, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, -- 0x63, 0x65, 0x82, 0xb5, 0x18, 0x12, 0x12, 0x10, 0x62, 0x75, 0x72, 0x73, 0x74, 0x4f, 0x62, 0x73, -- 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xb4, 0x01, 0x0a, 0x10, 0x48, 0x65, 0x61, -- 0x6c, 0x74, 0x68, 0x50, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, -- 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, -- 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, -- 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, -- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, -- 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, -- 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, -- 0x24, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, -- 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, -- 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, -- 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, -- 0x81, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -- 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, -- 0x72, 0x79, 0x2e, 0x62, 0x75, 0x72, 0x73, 0x74, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, -- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x6f, -- 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x62, 0x75, 0x72, 0x73, 0x74, -- 0xaa, 0x02, 0x20, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, -- 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, 0x75, -- 0x72, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x66, 0x69, 0x67, 0x3a, 0x1f, 0x82, 0xb5, 0x18, 0x1b, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, -+ 0x63, 0x65, 0x12, 0x10, 0x62, 0x75, 0x72, 0x73, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, -+ 0x74, 0x6f, 0x72, 0x79, 0x22, 0xb4, 0x01, 0x0a, 0x10, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x50, -+ 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, -+ 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, -+ 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x63, -+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, -+ 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, -+ 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, -+ 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x73, -+ 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, -+ 0x28, 0x05, 0x52, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, -+ 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, -+ 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x81, 0x01, 0x0a, 0x24, -+ 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, -+ 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x62, -+ 0x75, 0x72, 0x73, 0x74, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, -+ 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, -+ 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x6f, 0x62, 0x73, 0x65, 0x72, -+ 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x62, 0x75, 0x72, 0x73, 0x74, 0xaa, 0x02, 0x20, 0x56, -+ 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x4f, 0x62, -+ 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x42, 0x75, 0x72, 0x73, 0x74, 0x62, -+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/observatory/command/command_grpc.pb.go b/app/observatory/command/command_grpc.pb.go -index 58bd2b5df..d1262641c 100644 ---- a/app/observatory/command/command_grpc.pb.go -+++ b/app/observatory/command/command_grpc.pb.go -@@ -12,6 +12,10 @@ import ( - // Requires gRPC-Go v1.32.0 or later. - const _ = grpc.SupportPackageIsVersion7 - -+const ( -+ ObservatoryService_GetOutboundStatus_FullMethodName = "/v2ray.core.app.observatory.command.ObservatoryService/GetOutboundStatus" -+) -+ - // ObservatoryServiceClient is the client API for ObservatoryService service. - // - // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -@@ -29,7 +33,7 @@ func NewObservatoryServiceClient(cc grpc.ClientConnInterface) ObservatoryService - - func (c *observatoryServiceClient) GetOutboundStatus(ctx context.Context, in *GetOutboundStatusRequest, opts ...grpc.CallOption) (*GetOutboundStatusResponse, error) { - out := new(GetOutboundStatusResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.observatory.command.ObservatoryService/GetOutboundStatus", in, out, opts...) -+ err := c.cc.Invoke(ctx, ObservatoryService_GetOutboundStatus_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -74,7 +78,7 @@ func _ObservatoryService_GetOutboundStatus_Handler(srv interface{}, ctx context. - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.observatory.command.ObservatoryService/GetOutboundStatus", -+ FullMethod: ObservatoryService_GetOutboundStatus_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ObservatoryServiceServer).GetOutboundStatus(ctx, req.(*GetOutboundStatusRequest)) -diff --git a/app/observatory/config.pb.go b/app/observatory/config.pb.go -index f6b77557f..97683b55c 100644 ---- a/app/observatory/config.pb.go -+++ b/app/observatory/config.pb.go -@@ -493,25 +493,24 @@ var file_app_observatory_config_proto_rawDesc = []byte{ - 0x22, 0x32, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x12, 0x25, 0x0a, - 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x74, 0x65, -- 0x72, 0x76, 0x61, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, -+ 0x72, 0x76, 0x61, 0x6c, 0x22, 0x9d, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x29, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, - 0x6f, 0x62, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x62, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, -- 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x28, -- 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, -- 0x17, 0x12, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x62, 0x73, -- 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x6f, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, -- 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, -- 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, -- 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, -- 0x2f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0xaa, 0x02, 0x1a, 0x56, -- 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x4f, 0x62, -- 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, -- 0x33, -+ 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x24, -+ 0x82, 0xb5, 0x18, 0x20, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x15, 0x62, -+ 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, -+ 0x74, 0x6f, 0x72, 0x79, 0x42, 0x6f, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, -+ 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x6f, 0x62, 0x73, -+ 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0xaa, 0x02, 0x1a, 0x56, 0x32, 0x52, 0x61, 0x79, -+ 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, -+ 0x61, 0x74, 0x6f, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/observatory/multiobservatory/config.pb.go b/app/observatory/multiobservatory/config.pb.go -index 24ea73180..ded513f77 100644 ---- a/app/observatory/multiobservatory/config.pb.go -+++ b/app/observatory/multiobservatory/config.pb.go -@@ -76,25 +76,24 @@ var file_app_observatory_multiobservatory_config_proto_rawDesc = []byte{ - 0x72, 0x65, 0x73, 0x2f, 0x73, 0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, -- 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, -+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, - 0x0a, 0x07, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x67, 0x67, 0x65, 0x64, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x68, 0x6f, 0x6c, 0x64, 0x65, -- 0x72, 0x73, 0x3a, 0x23, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, -- 0x65, 0x82, 0xb5, 0x18, 0x12, 0x12, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6f, 0x62, 0x73, 0x65, -- 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x42, 0xa2, 0x01, 0x0a, 0x2f, 0x63, 0x6f, 0x6d, 0x2e, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, -- 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, -- 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x01, 0x5a, 0x3f, 0x67, -- 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, -- 0x70, 0x2f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6d, 0x75, -- 0x6c, 0x74, 0x69, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0xaa, 0x02, -- 0x2b, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, -- 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x75, 0x6c, 0x74, -- 0x69, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, -- 0x6f, 0x74, 0x6f, 0x33, -+ 0x72, 0x73, 0x3a, 0x1f, 0x82, 0xb5, 0x18, 0x1b, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, -+ 0x65, 0x12, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, -+ 0x6f, 0x72, 0x79, 0x42, 0xa2, 0x01, 0x0a, 0x2f, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x6f, 0x62, 0x73, 0x65, 0x72, -+ 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x73, 0x65, -+ 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, -+ 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x6f, 0x62, -+ 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6f, -+ 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0xaa, 0x02, 0x2b, 0x56, 0x32, 0x52, -+ 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x4f, 0x62, 0x73, 0x65, -+ 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x4f, 0x62, 0x73, -+ 0x65, 0x72, 0x76, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/policy/config.pb.go b/app/policy/config.pb.go -index a9908fac8..f78c6779b 100644 ---- a/app/policy/config.pb.go -+++ b/app/policy/config.pb.go -@@ -548,7 +548,7 @@ var file_app_policy_config_proto_rawDesc = []byte{ - 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x69, -- 0x6e, 0x6b, 0x22, 0xf9, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, -+ 0x6e, 0x6b, 0x22, 0xf5, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, - 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x76, - 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x65, 0x76, 0x65, -@@ -562,15 +562,15 @@ var file_app_policy_config_proto_rawDesc = []byte{ - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x32, 0x72, 0x61, - 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, -- 0x02, 0x38, 0x01, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, -- 0x63, 0x65, 0x82, 0xb5, 0x18, 0x08, 0x12, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x60, -- 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -- 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x01, 0x5a, 0x29, 0x67, -- 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, -- 0x70, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xaa, 0x02, 0x15, 0x56, 0x32, 0x52, 0x61, 0x79, -- 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, -- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x02, 0x38, 0x01, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, -+ 0x63, 0x65, 0x12, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x60, 0x0a, 0x19, 0x63, 0x6f, -+ 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -+ 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x01, 0x5a, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, -+ 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x70, 0x6f, -+ 0x6c, 0x69, 0x63, 0x79, 0xaa, 0x02, 0x15, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, -+ 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x62, 0x06, 0x70, 0x72, -+ 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/proxyman/command/command.pb.go b/app/proxyman/command/command.pb.go -index a6b14681c..4c7297ade 100644 ---- a/app/proxyman/command/command.pb.go -+++ b/app/proxyman/command/command.pb.go -@@ -733,67 +733,67 @@ var file_app_proxyman_command_command_proto_rawDesc = []byte{ - 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, -- 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x0a, 0x06, 0x43, 0x6f, -- 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1f, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, -- 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x0a, 0x12, 0x08, 0x70, 0x72, 0x6f, -- 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x32, 0x90, 0x06, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, -- 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x49, -- 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x32, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x0a, 0x06, 0x43, 0x6f, -+ 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1b, 0x82, 0xb5, 0x18, 0x17, 0x0a, 0x0b, 0x67, 0x72, 0x70, 0x63, -+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x08, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, -+ 0x6e, 0x32, 0x90, 0x06, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x53, 0x65, 0x72, -+ 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x62, 0x6f, 0x75, -+ 0x6e, 0x64, 0x12, 0x32, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -+ 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, -+ 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, -+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x62, 0x6f, -- 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, -- 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, -- 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, -- 0x00, 0x12, 0x80, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, -+ 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, -+ 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, -+ 0x35, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -+ 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, -+ 0x64, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, -+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, -+ 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, -+ 0x12, 0x7d, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, -+ 0x12, 0x34, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, -+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, -+ 0x6e, 0x64, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, -+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, -+ 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, -+ 0x7a, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x33, -+ 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -+ 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, -+ 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, -+ 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -+ 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, -+ 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, -+ 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x0e, -+ 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x36, -+ 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -+ 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, -+ 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, -+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, -+ 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, -+ 0x00, 0x12, 0x80, 0x01, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x12, 0x35, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, -- 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, -+ 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x76, 0x32, 0x72, - 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, -- 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, -- 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, -- 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x62, -- 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x34, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -- 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, -- 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x62, 0x6f, -- 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x6c, 0x74, -- 0x65, 0x72, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, -- 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, -- 0x6e, 0x64, 0x12, 0x33, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, -- 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, -- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, -- 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x75, 0x74, -- 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, -- 0x83, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, -- 0x6e, 0x64, 0x12, 0x36, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, -- 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x75, 0x74, 0x62, 0x6f, -- 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, -- 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x65, 0x6d, -- 0x6f, 0x76, 0x65, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, -- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, -- 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x35, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, -- 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, -- 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, -- 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -- 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, -- 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, -- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, -- 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, -- 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, -- 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, -- 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2f, 0x63, -- 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x1f, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, -- 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, -- 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x65, 0x72, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, -+ 0x73, 0x65, 0x22, 0x00, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, -+ 0x6d, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x33, 0x67, -+ 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, -+ 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, -+ 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, -+ 0x6e, 0x64, 0xaa, 0x02, 0x1f, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, -+ 0x41, 0x70, 0x70, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x6d, 0x61, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, -+ 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/proxyman/command/command_grpc.pb.go b/app/proxyman/command/command_grpc.pb.go -index 29b8146b9..60cab0575 100644 ---- a/app/proxyman/command/command_grpc.pb.go -+++ b/app/proxyman/command/command_grpc.pb.go -@@ -12,6 +12,15 @@ import ( - // Requires gRPC-Go v1.32.0 or later. - const _ = grpc.SupportPackageIsVersion7 - -+const ( -+ HandlerService_AddInbound_FullMethodName = "/v2ray.core.app.proxyman.command.HandlerService/AddInbound" -+ HandlerService_RemoveInbound_FullMethodName = "/v2ray.core.app.proxyman.command.HandlerService/RemoveInbound" -+ HandlerService_AlterInbound_FullMethodName = "/v2ray.core.app.proxyman.command.HandlerService/AlterInbound" -+ HandlerService_AddOutbound_FullMethodName = "/v2ray.core.app.proxyman.command.HandlerService/AddOutbound" -+ HandlerService_RemoveOutbound_FullMethodName = "/v2ray.core.app.proxyman.command.HandlerService/RemoveOutbound" -+ HandlerService_AlterOutbound_FullMethodName = "/v2ray.core.app.proxyman.command.HandlerService/AlterOutbound" -+) -+ - // HandlerServiceClient is the client API for HandlerService service. - // - // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -@@ -34,7 +43,7 @@ func NewHandlerServiceClient(cc grpc.ClientConnInterface) HandlerServiceClient { - - func (c *handlerServiceClient) AddInbound(ctx context.Context, in *AddInboundRequest, opts ...grpc.CallOption) (*AddInboundResponse, error) { - out := new(AddInboundResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.proxyman.command.HandlerService/AddInbound", in, out, opts...) -+ err := c.cc.Invoke(ctx, HandlerService_AddInbound_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -43,7 +52,7 @@ func (c *handlerServiceClient) AddInbound(ctx context.Context, in *AddInboundReq - - func (c *handlerServiceClient) RemoveInbound(ctx context.Context, in *RemoveInboundRequest, opts ...grpc.CallOption) (*RemoveInboundResponse, error) { - out := new(RemoveInboundResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.proxyman.command.HandlerService/RemoveInbound", in, out, opts...) -+ err := c.cc.Invoke(ctx, HandlerService_RemoveInbound_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -52,7 +61,7 @@ func (c *handlerServiceClient) RemoveInbound(ctx context.Context, in *RemoveInbo - - func (c *handlerServiceClient) AlterInbound(ctx context.Context, in *AlterInboundRequest, opts ...grpc.CallOption) (*AlterInboundResponse, error) { - out := new(AlterInboundResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.proxyman.command.HandlerService/AlterInbound", in, out, opts...) -+ err := c.cc.Invoke(ctx, HandlerService_AlterInbound_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -61,7 +70,7 @@ func (c *handlerServiceClient) AlterInbound(ctx context.Context, in *AlterInboun - - func (c *handlerServiceClient) AddOutbound(ctx context.Context, in *AddOutboundRequest, opts ...grpc.CallOption) (*AddOutboundResponse, error) { - out := new(AddOutboundResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.proxyman.command.HandlerService/AddOutbound", in, out, opts...) -+ err := c.cc.Invoke(ctx, HandlerService_AddOutbound_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -70,7 +79,7 @@ func (c *handlerServiceClient) AddOutbound(ctx context.Context, in *AddOutboundR - - func (c *handlerServiceClient) RemoveOutbound(ctx context.Context, in *RemoveOutboundRequest, opts ...grpc.CallOption) (*RemoveOutboundResponse, error) { - out := new(RemoveOutboundResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.proxyman.command.HandlerService/RemoveOutbound", in, out, opts...) -+ err := c.cc.Invoke(ctx, HandlerService_RemoveOutbound_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -79,7 +88,7 @@ func (c *handlerServiceClient) RemoveOutbound(ctx context.Context, in *RemoveOut - - func (c *handlerServiceClient) AlterOutbound(ctx context.Context, in *AlterOutboundRequest, opts ...grpc.CallOption) (*AlterOutboundResponse, error) { - out := new(AlterOutboundResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.proxyman.command.HandlerService/AlterOutbound", in, out, opts...) -+ err := c.cc.Invoke(ctx, HandlerService_AlterOutbound_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -144,7 +153,7 @@ func _HandlerService_AddInbound_Handler(srv interface{}, ctx context.Context, de - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.proxyman.command.HandlerService/AddInbound", -+ FullMethod: HandlerService_AddInbound_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(HandlerServiceServer).AddInbound(ctx, req.(*AddInboundRequest)) -@@ -162,7 +171,7 @@ func _HandlerService_RemoveInbound_Handler(srv interface{}, ctx context.Context, - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.proxyman.command.HandlerService/RemoveInbound", -+ FullMethod: HandlerService_RemoveInbound_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(HandlerServiceServer).RemoveInbound(ctx, req.(*RemoveInboundRequest)) -@@ -180,7 +189,7 @@ func _HandlerService_AlterInbound_Handler(srv interface{}, ctx context.Context, - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.proxyman.command.HandlerService/AlterInbound", -+ FullMethod: HandlerService_AlterInbound_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(HandlerServiceServer).AlterInbound(ctx, req.(*AlterInboundRequest)) -@@ -198,7 +207,7 @@ func _HandlerService_AddOutbound_Handler(srv interface{}, ctx context.Context, d - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.proxyman.command.HandlerService/AddOutbound", -+ FullMethod: HandlerService_AddOutbound_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(HandlerServiceServer).AddOutbound(ctx, req.(*AddOutboundRequest)) -@@ -216,7 +225,7 @@ func _HandlerService_RemoveOutbound_Handler(srv interface{}, ctx context.Context - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.proxyman.command.HandlerService/RemoveOutbound", -+ FullMethod: HandlerService_RemoveOutbound_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(HandlerServiceServer).RemoveOutbound(ctx, req.(*RemoveOutboundRequest)) -@@ -234,7 +243,7 @@ func _HandlerService_AlterOutbound_Handler(srv interface{}, ctx context.Context, - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.proxyman.command.HandlerService/AlterOutbound", -+ FullMethod: HandlerService_AlterOutbound_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(HandlerServiceServer).AlterOutbound(ctx, req.(*AlterOutboundRequest)) -diff --git a/app/restfulapi/config.pb.go b/app/restfulapi/config.pb.go -index 63ea2eeff..e7a29987c 100644 ---- a/app/restfulapi/config.pb.go -+++ b/app/restfulapi/config.pb.go -@@ -86,22 +86,22 @@ var file_app_restfulapi_config_proto_rawDesc = []byte{ - 0x32, 0x72, 0x61, 0x79, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x73, 0x74, 0x66, 0x75, 0x6c, - 0x61, 0x70, 0x69, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, -- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, -+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x6f, - 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, -- 0x6e, 0x3a, 0x1d, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, -- 0x82, 0xb5, 0x18, 0x0c, 0x12, 0x0a, 0x72, 0x65, 0x73, 0x74, 0x66, 0x75, 0x6c, 0x61, 0x70, 0x69, -- 0x42, 0x61, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -- 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x73, 0x74, 0x61, 0x70, 0x69, 0x50, 0x01, -- 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, -- 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, -- 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x65, 0x73, 0x74, 0x66, 0x75, 0x6c, 0x61, 0x70, 0x69, 0xaa, -- 0x02, 0x11, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x74, -- 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x6e, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, -+ 0x12, 0x0a, 0x72, 0x65, 0x73, 0x74, 0x66, 0x75, 0x6c, 0x61, 0x70, 0x69, 0x42, 0x61, 0x0a, 0x1a, -+ 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, -+ 0x70, 0x70, 0x2e, 0x72, 0x65, 0x73, 0x74, 0x61, 0x70, 0x69, 0x50, 0x01, 0x5a, 0x2d, 0x67, 0x69, -+ 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, -+ 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, -+ 0x2f, 0x72, 0x65, 0x73, 0x74, 0x66, 0x75, 0x6c, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x11, 0x56, 0x32, -+ 0x52, 0x61, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x70, 0x69, 0x62, -+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/reverse/config.pb.go b/app/reverse/config.pb.go -index 386aee560..763176225 100644 ---- a/app/reverse/config.pb.go -+++ b/app/reverse/config.pb.go -@@ -304,7 +304,7 @@ var file_app_reverse_config_proto_rawDesc = []byte{ - 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, - 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, - 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, -- 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xba, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, -+ 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x0d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, - 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x76, 0x65, -@@ -314,16 +314,16 @@ var file_app_reverse_config_proto_rawDesc = []byte{ - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x2e, 0x50, - 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x6f, 0x72, -- 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1a, 0x82, 0xb5, 0x18, 0x09, 0x0a, -- 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x09, 0x12, 0x07, 0x72, 0x65, -- 0x76, 0x65, 0x72, 0x73, 0x65, 0x42, 0x67, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x65, -- 0x76, 0x65, 0x72, 0x73, 0x65, 0x50, 0x01, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -- 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -- 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x65, 0x76, 0x65, -- 0x72, 0x73, 0x65, 0xaa, 0x02, 0x18, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, -- 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x62, 0x06, -- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x16, 0x82, 0xb5, 0x18, 0x12, 0x0a, -+ 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x07, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, -+ 0x65, 0x42, 0x67, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, -+ 0x65, 0x50, 0x01, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, -+ 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, -+ 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0xaa, -+ 0x02, 0x18, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, -+ 0x78, 0x79, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, -+ 0x6f, 0x33, - } - - var ( -diff --git a/app/router/command/command.pb.go b/app/router/command/command.pb.go -index 88d671a87..b0db9c2d2 100644 ---- a/app/router/command/command.pb.go -+++ b/app/router/command/command.pb.go -@@ -758,52 +758,52 @@ var file_app_router_command_command_proto_rawDesc = []byte{ - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x20, 0x0a, - 0x1e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, -- 0x27, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1d, 0x82, 0xb5, 0x18, 0x0d, 0x0a, -- 0x0b, 0x67, 0x72, 0x70, 0x63, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x08, -- 0x12, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x32, 0xa8, 0x04, 0x0a, 0x0e, 0x52, 0x6f, 0x75, -- 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x15, -- 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, -- 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -- 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, -- 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, -- 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, -- 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, -- 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, -- 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, -- 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, -- 0x6e, 0x64, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, -- 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -- 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, -- 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, -- 0x78, 0x74, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, -- 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, -- 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, -- 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, -- 0x36, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -+ 0x23, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x15, 0x0a, -+ 0x0b, 0x67, 0x72, 0x70, 0x63, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x06, 0x72, 0x6f, -+ 0x75, 0x74, 0x65, 0x72, 0x32, 0xa8, 0x04, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, -+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x73, -+ 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, -+ 0x73, 0x12, 0x3b, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, -+ 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, -+ 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x69, -+ 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, -+ 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x52, -+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, 0x30, -+ 0x01, 0x12, 0x6d, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x2f, -+ 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x54, -+ 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, -+ 0x2d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, -- 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, -- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x16, 0x4f, 0x76, -- 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, -- 0x72, 0x67, 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -+ 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x00, -+ 0x12, 0x82, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, -+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -+ 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, -+ 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, -+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, -+ 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x42, -+ 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, -+ 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x16, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, -+ 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, -+ 0x12, 0x3c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, -+ 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, -+ 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, -+ 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, -+ 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4f, -+ 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, -+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, -+ 0x78, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, -- 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, -- 0x61, 0x6e, 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, -- 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, -- 0x6e, 0x64, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, -- 0x63, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, -- 0x65, 0x22, 0x00, 0x42, 0x78, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, -- 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, -- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, -- 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x1d, -- 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, -- 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, -- 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, -+ 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, -+ 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, -+ 0x72, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x1d, 0x56, 0x32, 0x52, 0x61, -+ 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, -+ 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, -+ 0x33, - } - - var ( -diff --git a/app/router/command/command_grpc.pb.go b/app/router/command/command_grpc.pb.go -index bd359fbed..cae34f05f 100644 ---- a/app/router/command/command_grpc.pb.go -+++ b/app/router/command/command_grpc.pb.go -@@ -12,6 +12,13 @@ import ( - // Requires gRPC-Go v1.32.0 or later. - const _ = grpc.SupportPackageIsVersion7 - -+const ( -+ RoutingService_SubscribeRoutingStats_FullMethodName = "/v2ray.core.app.router.command.RoutingService/SubscribeRoutingStats" -+ RoutingService_TestRoute_FullMethodName = "/v2ray.core.app.router.command.RoutingService/TestRoute" -+ RoutingService_GetBalancerInfo_FullMethodName = "/v2ray.core.app.router.command.RoutingService/GetBalancerInfo" -+ RoutingService_OverrideBalancerTarget_FullMethodName = "/v2ray.core.app.router.command.RoutingService/OverrideBalancerTarget" -+) -+ - // RoutingServiceClient is the client API for RoutingService service. - // - // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -@@ -31,7 +38,7 @@ func NewRoutingServiceClient(cc grpc.ClientConnInterface) RoutingServiceClient { - } - - func (c *routingServiceClient) SubscribeRoutingStats(ctx context.Context, in *SubscribeRoutingStatsRequest, opts ...grpc.CallOption) (RoutingService_SubscribeRoutingStatsClient, error) { -- stream, err := c.cc.NewStream(ctx, &RoutingService_ServiceDesc.Streams[0], "/v2ray.core.app.router.command.RoutingService/SubscribeRoutingStats", opts...) -+ stream, err := c.cc.NewStream(ctx, &RoutingService_ServiceDesc.Streams[0], RoutingService_SubscribeRoutingStats_FullMethodName, opts...) - if err != nil { - return nil, err - } -@@ -64,7 +71,7 @@ func (x *routingServiceSubscribeRoutingStatsClient) Recv() (*RoutingContext, err - - func (c *routingServiceClient) TestRoute(ctx context.Context, in *TestRouteRequest, opts ...grpc.CallOption) (*RoutingContext, error) { - out := new(RoutingContext) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.router.command.RoutingService/TestRoute", in, out, opts...) -+ err := c.cc.Invoke(ctx, RoutingService_TestRoute_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -73,7 +80,7 @@ func (c *routingServiceClient) TestRoute(ctx context.Context, in *TestRouteReque - - func (c *routingServiceClient) GetBalancerInfo(ctx context.Context, in *GetBalancerInfoRequest, opts ...grpc.CallOption) (*GetBalancerInfoResponse, error) { - out := new(GetBalancerInfoResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.router.command.RoutingService/GetBalancerInfo", in, out, opts...) -+ err := c.cc.Invoke(ctx, RoutingService_GetBalancerInfo_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -82,7 +89,7 @@ func (c *routingServiceClient) GetBalancerInfo(ctx context.Context, in *GetBalan - - func (c *routingServiceClient) OverrideBalancerTarget(ctx context.Context, in *OverrideBalancerTargetRequest, opts ...grpc.CallOption) (*OverrideBalancerTargetResponse, error) { - out := new(OverrideBalancerTargetResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.router.command.RoutingService/OverrideBalancerTarget", in, out, opts...) -+ err := c.cc.Invoke(ctx, RoutingService_OverrideBalancerTarget_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -160,7 +167,7 @@ func _RoutingService_TestRoute_Handler(srv interface{}, ctx context.Context, dec - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.router.command.RoutingService/TestRoute", -+ FullMethod: RoutingService_TestRoute_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RoutingServiceServer).TestRoute(ctx, req.(*TestRouteRequest)) -@@ -178,7 +185,7 @@ func _RoutingService_GetBalancerInfo_Handler(srv interface{}, ctx context.Contex - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.router.command.RoutingService/GetBalancerInfo", -+ FullMethod: RoutingService_GetBalancerInfo_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RoutingServiceServer).GetBalancerInfo(ctx, req.(*GetBalancerInfoRequest)) -@@ -196,7 +203,7 @@ func _RoutingService_OverrideBalancerTarget_Handler(srv interface{}, ctx context - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.router.command.RoutingService/OverrideBalancerTarget", -+ FullMethod: RoutingService_OverrideBalancerTarget_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RoutingServiceServer).OverrideBalancerTarget(ctx, req.(*OverrideBalancerTargetRequest)) -diff --git a/app/router/config.pb.go b/app/router/config.pb.go -index c1b383bfe..7d077d468 100644 ---- a/app/router/config.pb.go -+++ b/app/router/config.pb.go -@@ -1047,106 +1047,105 @@ var file_app_router_config_proto_rawDesc = []byte{ - 0x67, 0x65, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, -- 0x22, 0x32, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x61, 0x6e, 0x64, -- 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1a, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, -- 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x82, 0xb5, 0x18, 0x08, 0x12, 0x06, 0x72, 0x61, -- 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x5b, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, -- 0x4c, 0x65, 0x61, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, -- 0x21, 0x0a, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x18, -- 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, -- 0x61, 0x67, 0x3a, 0x1d, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, -- 0x65, 0x72, 0x82, 0xb5, 0x18, 0x0b, 0x12, 0x09, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x70, 0x69, 0x6e, -- 0x67, 0x22, 0x88, 0x02, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x65, -- 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, -- 0x05, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, -- 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, -- 0x75, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x57, 0x65, 0x69, -- 0x67, 0x68, 0x74, 0x52, 0x05, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, -- 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x62, -- 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x65, -- 0x63, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x70, 0x65, -- 0x63, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x52, 0x54, 0x54, 0x18, 0x05, -- 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x52, 0x54, 0x54, 0x12, 0x1c, 0x0a, 0x09, -- 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, -- 0x09, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x62, -- 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, -- 0x52, 0x0b, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x61, 0x67, 0x3a, 0x1d, 0x82, -- 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x82, 0xb5, 0x18, -- 0x0b, 0x12, 0x09, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xdd, 0x01, 0x0a, -- 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, -- 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, -- 0x32, 0x25, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, -- 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, -- 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, -- 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, -- 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -- 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x6f, -- 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, -- 0x4b, 0x0a, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, -- 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, -- 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x62, -- 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x22, 0xab, 0x05, 0x0a, -- 0x15, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, -- 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, -- 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x61, -- 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, -- 0x09, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x54, 0x61, -- 0x67, 0x12, 0x42, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, -- 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, -- 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, -- 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x64, -- 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x0a, -- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -- 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, -- 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, -- 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, -- 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4c, -- 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, -- 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -- 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e, 0x65, -- 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, -- 0x72, 0x6b, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, -- 0x6f, 0x69, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, -+ 0x22, 0x2e, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x61, 0x6e, 0x64, -+ 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x16, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x08, -+ 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x12, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, -+ 0x22, 0x57, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x65, 0x61, 0x73, -+ 0x74, 0x50, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x6f, -+ 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, -+ 0x09, 0x52, 0x0b, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x61, 0x67, 0x3a, 0x19, -+ 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x12, 0x09, -+ 0x6c, 0x65, 0x61, 0x73, 0x74, 0x70, 0x69, 0x6e, 0x67, 0x22, 0x84, 0x02, 0x0a, 0x17, 0x53, 0x74, -+ 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x65, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x43, -+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x05, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x02, -+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -+ 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x72, -+ 0x61, 0x74, 0x65, 0x67, 0x79, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x05, 0x63, 0x6f, 0x73, -+ 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, -+ 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, -+ 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, -+ 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, -+ 0x6d, 0x61, 0x78, 0x52, 0x54, 0x54, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, -+ 0x78, 0x52, 0x54, 0x54, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, -+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, -+ 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, -+ 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, -+ 0x65, 0x72, 0x54, 0x61, 0x67, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x08, 0x62, 0x61, 0x6c, -+ 0x61, 0x6e, 0x63, 0x65, 0x72, 0x12, 0x09, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x6c, 0x6f, 0x61, 0x64, -+ 0x22, 0xdd, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x64, -+ 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, -+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -+ 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, -+ 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, -+ 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x36, 0x0a, 0x04, 0x72, -+ 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72, 0x61, - 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, -- 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, -- 0x65, 0x6f, 0x49, 0x50, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6f, 0x69, -- 0x70, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, -- 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, -- 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, -- 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, -- 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, -- 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, -- 0x0a, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, -- 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, -- 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, -- 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, -- 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, -- 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, -- 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x4c, -- 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0xa1, 0x93, 0x04, -- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -- 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, -- 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74, -- 0x65, 0x52, 0x09, 0x67, 0x65, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, -- 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x22, 0x8c, 0x02, 0x0a, 0x10, 0x53, -- 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, -- 0x4e, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, -- 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x72, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, -+ 0x75, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, -+ 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, -+ 0x74, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, -+ 0x65, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, -+ 0x22, 0xab, 0x05, 0x0a, 0x15, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, -+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x74, 0x61, -+ 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x25, -+ 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67, 0x18, -+ 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, -+ 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x42, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, -+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -+ 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, -+ 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, -+ 0x6e, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x67, 0x65, 0x6f, -+ 0x69, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, -- 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, -- 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, -- 0x40, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, -+ 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, -+ 0x6f, 0x49, 0x50, 0x52, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, -+ 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, -+ 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, -+ 0x72, 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, -+ 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x08, 0x6e, -+ 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, -+ 0x65, 0x5f, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, -- 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, -- 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, -- 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x72, -- 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72, 0x61, -- 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, -- 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, -- 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x3a, 0x19, -- 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, -- 0x08, 0x12, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2a, 0x47, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, -+ 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, -+ 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, -+ 0x47, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, -+ 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, -+ 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, -+ 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, -+ 0x03, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, -+ 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, -+ 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, -+ 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, -+ 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x61, -+ 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, -+ 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, -+ 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, -+ 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, -+ 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, -+ 0x18, 0xa1, 0x93, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, -+ 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x65, -+ 0x6f, 0x53, 0x69, 0x74, 0x65, 0x52, 0x09, 0x67, 0x65, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, -+ 0x42, 0x0c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x22, 0x88, -+ 0x02, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, -+ 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, -+ 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x76, -+ 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, -+ 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, -+ 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, -+ 0x65, 0x67, 0x79, 0x12, 0x40, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, -+ 0x0b, 0x32, 0x2c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, -+ 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, -+ 0x66, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, -+ 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, -+ 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, -+ 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, -+ 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, -+ 0x75, 0x6c, 0x65, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, -+ 0x6c, 0x65, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, -+ 0x65, 0x12, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2a, 0x47, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, - 0x73, 0x49, 0x73, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x73, 0x65, 0x49, 0x70, 0x10, 0x01, - 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x70, 0x49, 0x66, 0x4e, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, -diff --git a/app/stats/command/command.pb.go b/app/stats/command/command.pb.go -index 7deb254ca..73903d35b 100644 ---- a/app/stats/command/command.pb.go -+++ b/app/stats/command/command.pb.go -@@ -540,40 +540,39 @@ var file_app_stats_command_command_proto_rawDesc = []byte{ - 0x22, 0x0a, 0x0c, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x73, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x74, 0x61, - 0x6c, 0x4e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, -- 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x06, 0x43, -- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1c, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x67, 0x72, 0x70, -- 0x63, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x07, 0x12, 0x05, 0x73, 0x74, -- 0x61, 0x74, 0x73, 0x32, 0xde, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x65, 0x72, -- 0x76, 0x69, 0x63, 0x65, 0x12, 0x6b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, -- 0x12, 0x2d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, -- 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, -- 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, -- 0x2e, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -- 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x47, -- 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, -- 0x00, 0x12, 0x71, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, -- 0x2f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -- 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x51, -- 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, -- 0x1a, 0x30, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, -- 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, -- 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, -- 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x53, 0x74, -- 0x61, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -- 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, -- 0x6e, 0x64, 0x2e, 0x53, 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, -- 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, -- 0x64, 0x2e, 0x53, 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, -- 0x73, 0x65, 0x22, 0x00, 0x42, 0x75, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, -- 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, -- 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, -- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, -- 0x74, 0x61, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x1c, 0x56, -- 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x53, 0x74, -- 0x61, 0x74, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, -- 0x74, 0x6f, 0x33, -+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x22, 0x0a, 0x06, 0x43, -+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x18, 0x82, 0xb5, 0x18, 0x14, 0x0a, 0x0b, 0x67, 0x72, 0x70, -+ 0x63, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x32, -+ 0xde, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, -+ 0x12, 0x6b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x76, -+ 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, -+ 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x53, -+ 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, 0x61, -+ 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, -+ 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, -+ 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, 0x61, -+ 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, -+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x76, -+ 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, -+ 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x51, 0x75, 0x65, 0x72, -+ 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, -+ 0x12, 0x6e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, -+ 0x2d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, -+ 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x53, -+ 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, -+ 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, -+ 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x53, 0x79, -+ 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, -+ 0x42, 0x75, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -+ 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x63, 0x6f, 0x6d, -+ 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, -+ 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, -+ 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, -+ 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0xaa, 0x02, 0x1c, 0x56, 0x32, 0x52, 0x61, 0x79, -+ 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, -+ 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/app/stats/command/command_grpc.pb.go b/app/stats/command/command_grpc.pb.go -index a0fb52a27..3a301c2ae 100644 ---- a/app/stats/command/command_grpc.pb.go -+++ b/app/stats/command/command_grpc.pb.go -@@ -12,6 +12,12 @@ import ( - // Requires gRPC-Go v1.32.0 or later. - const _ = grpc.SupportPackageIsVersion7 - -+const ( -+ StatsService_GetStats_FullMethodName = "/v2ray.core.app.stats.command.StatsService/GetStats" -+ StatsService_QueryStats_FullMethodName = "/v2ray.core.app.stats.command.StatsService/QueryStats" -+ StatsService_GetSysStats_FullMethodName = "/v2ray.core.app.stats.command.StatsService/GetSysStats" -+) -+ - // StatsServiceClient is the client API for StatsService service. - // - // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -@@ -31,7 +37,7 @@ func NewStatsServiceClient(cc grpc.ClientConnInterface) StatsServiceClient { - - func (c *statsServiceClient) GetStats(ctx context.Context, in *GetStatsRequest, opts ...grpc.CallOption) (*GetStatsResponse, error) { - out := new(GetStatsResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.stats.command.StatsService/GetStats", in, out, opts...) -+ err := c.cc.Invoke(ctx, StatsService_GetStats_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -40,7 +46,7 @@ func (c *statsServiceClient) GetStats(ctx context.Context, in *GetStatsRequest, - - func (c *statsServiceClient) QueryStats(ctx context.Context, in *QueryStatsRequest, opts ...grpc.CallOption) (*QueryStatsResponse, error) { - out := new(QueryStatsResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.stats.command.StatsService/QueryStats", in, out, opts...) -+ err := c.cc.Invoke(ctx, StatsService_QueryStats_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -49,7 +55,7 @@ func (c *statsServiceClient) QueryStats(ctx context.Context, in *QueryStatsReque - - func (c *statsServiceClient) GetSysStats(ctx context.Context, in *SysStatsRequest, opts ...grpc.CallOption) (*SysStatsResponse, error) { - out := new(SysStatsResponse) -- err := c.cc.Invoke(ctx, "/v2ray.core.app.stats.command.StatsService/GetSysStats", in, out, opts...) -+ err := c.cc.Invoke(ctx, StatsService_GetSysStats_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } -@@ -102,7 +108,7 @@ func _StatsService_GetStats_Handler(srv interface{}, ctx context.Context, dec fu - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.stats.command.StatsService/GetStats", -+ FullMethod: StatsService_GetStats_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(StatsServiceServer).GetStats(ctx, req.(*GetStatsRequest)) -@@ -120,7 +126,7 @@ func _StatsService_QueryStats_Handler(srv interface{}, ctx context.Context, dec - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.stats.command.StatsService/QueryStats", -+ FullMethod: StatsService_QueryStats_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(StatsServiceServer).QueryStats(ctx, req.(*QueryStatsRequest)) -@@ -138,7 +144,7 @@ func _StatsService_GetSysStats_Handler(srv interface{}, ctx context.Context, dec - } - info := &grpc.UnaryServerInfo{ - Server: srv, -- FullMethod: "/v2ray.core.app.stats.command.StatsService/GetSysStats", -+ FullMethod: StatsService_GetSysStats_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(StatsServiceServer).GetSysStats(ctx, req.(*SysStatsRequest)) -diff --git a/app/stats/config.pb.go b/app/stats/config.pb.go -index e9eb82b92..d5ce1d97b 100644 ---- a/app/stats/config.pb.go -+++ b/app/stats/config.pb.go -@@ -124,23 +124,22 @@ var file_app_stats_config_proto_rawDesc = []byte{ - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x20, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, -- 0x22, 0x22, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x18, 0x82, 0xb5, 0x18, 0x09, -- 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xb5, 0x18, 0x07, 0x12, 0x05, 0x73, -- 0x74, 0x61, 0x74, 0x73, 0x22, 0x75, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, -- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, -- 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, -- 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4c, -- 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x53, 0x75, 0x62, 0x73, -- 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x42, -- 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, -- 0x0a, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x5d, 0x0a, 0x18, 0x63, -- 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, -- 0x70, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x50, 0x01, 0x5a, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, -- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, -- 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x74, -- 0x61, 0x74, 0x73, 0xaa, 0x02, 0x14, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, -- 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, -- 0x6f, 0x33, -+ 0x22, 0x1e, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x14, 0x82, 0xb5, 0x18, 0x10, -+ 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, -+ 0x22, 0x75, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, -+ 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, -+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, -+ 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, -+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, -+ 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x75, 0x66, 0x66, 0x65, -+ 0x72, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x42, 0x75, 0x66, -+ 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x5d, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x76, -+ 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x73, 0x74, -+ 0x61, 0x74, 0x73, 0x50, 0x01, 0x5a, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, -+ 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, -+ 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0xaa, -+ 0x02, 0x14, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x70, -+ 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/common/protoext/testing/test.pb.go b/common/protoext/testing/test.pb.go -index 84f577254..52fdc5c8a 100644 ---- a/common/protoext/testing/test.pb.go -+++ b/common/protoext/testing/test.pb.go -@@ -71,22 +71,21 @@ var file_common_protoext_testing_test_proto_rawDesc = []byte{ - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, - 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, -- 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x0e, 0x54, 0x65, -- 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x0a, -+ 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x0e, 0x54, 0x65, -+ 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x0a, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, -- 0x42, 0x15, 0x82, 0xb5, 0x18, 0x06, 0x12, 0x04, 0x74, 0x65, 0x73, 0x74, 0x82, 0xb5, 0x18, 0x07, -- 0x12, 0x05, 0x74, 0x65, 0x73, 0x74, 0x32, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, -- 0x6c, 0x64, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x06, 0x0a, 0x04, 0x64, 0x65, 0x6d, 0x6f, 0x82, 0xb5, -- 0x18, 0x07, 0x0a, 0x05, 0x64, 0x65, 0x6d, 0x6f, 0x32, 0x42, 0x84, 0x01, 0x0a, 0x26, 0x63, 0x6f, -- 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, -- 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2e, 0x74, 0x65, 0x73, -- 0x74, 0x69, 0x6e, 0x67, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, -- 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, -- 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, -- 0x65, 0x78, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0xaa, 0x02, 0x22, 0x56, 0x32, -- 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, -- 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x45, 0x78, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, -- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x42, 0x11, 0x82, 0xb5, 0x18, 0x0d, 0x12, 0x04, 0x74, 0x65, 0x73, 0x74, 0x12, 0x05, 0x74, 0x65, -+ 0x73, 0x74, 0x32, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x11, -+ 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x04, 0x64, 0x65, 0x6d, 0x6f, 0x0a, 0x05, 0x64, 0x65, 0x6d, 0x6f, -+ 0x32, 0x42, 0x84, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, -+ 0x6f, 0x65, 0x78, 0x74, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x01, 0x5a, 0x33, -+ 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, -+ 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, -+ 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, -+ 0x69, 0x6e, 0x67, 0xaa, 0x02, 0x22, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, -+ 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x45, 0x78, 0x74, -+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/infra/conf/cfgcommon/socketcfg/socket.go b/infra/conf/cfgcommon/socketcfg/socket.go -index ab6996f7d..b9ca6d83e 100644 ---- a/infra/conf/cfgcommon/socketcfg/socket.go -+++ b/infra/conf/cfgcommon/socketcfg/socket.go -@@ -18,6 +18,7 @@ type SocketConfig struct { - RxBufSize uint64 `json:"rxBufSize"` - TxBufSize uint64 `json:"txBufSize"` - ForceBufSize bool `json:"forceBufSize"` -+ Mptcp bool `json:"mptcp"` - } - - // Build implements Buildable. -@@ -58,5 +59,6 @@ func (c *SocketConfig) Build() (*internet.SocketConfig, error) { - TxBufSize: int64(c.TxBufSize), - ForceBufSize: c.ForceBufSize, - BindToDevice: c.BindToDevice, -+ Mptcp: c.Mptcp, - }, nil - } -diff --git a/proxy/blackhole/config.pb.go b/proxy/blackhole/config.pb.go -index 4121e61c9..222ef1063 100644 ---- a/proxy/blackhole/config.pb.go -+++ b/proxy/blackhole/config.pb.go -@@ -193,17 +193,17 @@ var file_proxy_blackhole_config_proto_rawDesc = []byte{ - 0x67, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, -- 0x6e, 0x73, 0x65, 0x22, 0x31, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, -- 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x1d, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, -- 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x0b, 0x12, 0x09, 0x62, 0x6c, 0x61, -- 0x63, 0x6b, 0x68, 0x6f, 0x6c, 0x65, 0x42, 0x6f, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x62, -- 0x6c, 0x61, 0x63, 0x6b, 0x68, 0x6f, 0x6c, 0x65, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, -- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, -- 0x2f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x68, 0x6f, 0x6c, 0x65, 0xaa, 0x02, 0x1a, 0x56, 0x32, 0x52, -- 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x42, 0x6c, -- 0x61, 0x63, 0x6b, 0x68, 0x6f, 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, -+ 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x08, 0x6f, -+ 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x09, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x68, 0x6f, -+ 0x6c, 0x65, 0x42, 0x6f, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x62, 0x6c, 0x61, 0x63, 0x6b, -+ 0x68, 0x6f, 0x6c, 0x65, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, -+ 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, -+ 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x62, 0x6c, 0x61, -+ 0x63, 0x6b, 0x68, 0x6f, 0x6c, 0x65, 0xaa, 0x02, 0x1a, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, -+ 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x68, -+ 0x6f, 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/dns/config.pb.go b/proxy/dns/config.pb.go -index de45d5d95..d3f0380e8 100644 ---- a/proxy/dns/config.pb.go -+++ b/proxy/dns/config.pb.go -@@ -127,16 +127,15 @@ var file_proxy_dns_config_proto_rawDesc = []byte{ - 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, -- 0x22, 0x2b, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, -- 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x17, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, -- 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x05, 0x12, 0x03, 0x64, 0x6e, 0x73, 0x42, 0x5d, 0x0a, -- 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x28, 0x67, 0x69, 0x74, -- 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, -- 0x79, 0x2f, 0x64, 0x6e, 0x73, 0xaa, 0x02, 0x14, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, -- 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x44, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, -- 0x6f, 0x74, 0x6f, 0x33, -+ 0x22, 0x27, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, -+ 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x13, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, -+ 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x03, 0x64, 0x6e, 0x73, 0x42, 0x5d, 0x0a, 0x18, 0x63, 0x6f, 0x6d, -+ 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, -+ 0x79, 0x2e, 0x64, 0x6e, 0x73, 0x50, 0x01, 0x5a, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -+ 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x64, 0x6e, -+ 0x73, 0xaa, 0x02, 0x14, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, -+ 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x44, 0x6e, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/dokodemo/config.pb.go b/proxy/dokodemo/config.pb.go -index fd68e7160..e7debc4ab 100644 ---- a/proxy/dokodemo/config.pb.go -+++ b/proxy/dokodemo/config.pb.go -@@ -222,7 +222,7 @@ var file_proxy_dokodemo_config_proto_rawDesc = []byte{ - 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, - 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x75, 0x73, -- 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xee, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, -+ 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xea, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, - 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, -@@ -235,16 +235,16 @@ var file_proxy_dokodemo_config_proto_rawDesc = []byte{ - 0x69, 0x73, 0x74, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, -- 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x3a, 0x20, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x69, 0x6e, -- 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x0f, 0x12, 0x0d, 0x64, 0x6f, 0x6b, 0x6f, 0x64, -- 0x65, 0x6d, 0x6f, 0x2d, 0x64, 0x6f, 0x6f, 0x72, 0x42, 0x6c, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, -- 0x2e, 0x64, 0x6f, 0x6b, 0x6f, 0x64, 0x65, 0x6d, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x67, 0x69, 0x74, -- 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, -- 0x79, 0x2f, 0x64, 0x6f, 0x6b, 0x6f, 0x64, 0x65, 0x6d, 0x6f, 0xaa, 0x02, 0x19, 0x56, 0x32, 0x52, -- 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x44, 0x6f, -- 0x6b, 0x6f, 0x64, 0x65, 0x6d, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x3a, 0x1c, 0x82, 0xb5, 0x18, 0x18, 0x0a, 0x07, 0x69, 0x6e, -+ 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0d, 0x64, 0x6f, 0x6b, 0x6f, 0x64, 0x65, 0x6d, 0x6f, 0x2d, -+ 0x64, 0x6f, 0x6f, 0x72, 0x42, 0x6c, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x64, 0x6f, 0x6b, -+ 0x6f, 0x64, 0x65, 0x6d, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -+ 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x64, 0x6f, -+ 0x6b, 0x6f, 0x64, 0x65, 0x6d, 0x6f, 0xaa, 0x02, 0x19, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, -+ 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x44, 0x6f, 0x6b, 0x6f, 0x64, 0x65, -+ 0x6d, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/freedom/config.pb.go b/proxy/freedom/config.pb.go -index b6c6d4561..0669c70fd 100644 ---- a/proxy/freedom/config.pb.go -+++ b/proxy/freedom/config.pb.go -@@ -262,18 +262,17 @@ var file_proxy_freedom_config_proto_rawDesc = []byte{ - 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x09, 0x0a, 0x05, - 0x41, 0x53, 0x5f, 0x49, 0x53, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x53, 0x45, 0x5f, 0x49, - 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x34, 0x10, 0x02, -- 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x03, 0x22, 0x2f, 0x0a, -+ 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x53, 0x45, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x03, 0x22, 0x2b, 0x0a, - 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, -- 0x67, 0x3a, 0x1b, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, -- 0x64, 0x82, 0xb5, 0x18, 0x09, 0x12, 0x07, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x42, 0x69, -- 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -- 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x50, 0x01, -- 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, -- 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, -- 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0xaa, 0x02, -- 0x18, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, -- 0x79, 0x2e, 0x46, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, -- 0x33, -+ 0x67, 0x3a, 0x17, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, -+ 0x64, 0x12, 0x07, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x42, 0x69, 0x0a, 0x1c, 0x63, 0x6f, -+ 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, -+ 0x78, 0x79, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x50, 0x01, 0x5a, 0x2c, 0x67, 0x69, -+ 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, -+ 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, -+ 0x78, 0x79, 0x2f, 0x66, 0x72, 0x65, 0x65, 0x64, 0x6f, 0x6d, 0xaa, 0x02, 0x18, 0x56, 0x32, 0x52, -+ 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x46, 0x72, -+ 0x65, 0x65, 0x64, 0x6f, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/loopback/config.pb.go b/proxy/loopback/config.pb.go -index 53876241f..c428b7fba 100644 ---- a/proxy/loopback/config.pb.go -+++ b/proxy/loopback/config.pb.go -@@ -70,19 +70,19 @@ var file_proxy_loopback_config_proto_rawDesc = []byte{ - 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, -- 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x06, 0x43, 0x6f, -+ 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x06, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, - 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x62, 0x6f, 0x75, -- 0x6e, 0x64, 0x54, 0x61, 0x67, 0x3a, 0x1c, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x75, 0x74, -- 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x0a, 0x12, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x62, -- 0x61, 0x63, 0x6b, 0x42, 0x6c, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, -- 0x62, 0x61, 0x63, 0x6b, 0x50, 0x01, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, -- 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, -- 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x6c, 0x6f, 0x6f, -- 0x70, 0x62, 0x61, 0x63, 0x6b, 0xaa, 0x02, 0x19, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, -- 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, -- 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x6e, 0x64, 0x54, 0x61, 0x67, 0x3a, 0x18, 0x82, 0xb5, 0x18, 0x14, 0x0a, 0x08, 0x6f, 0x75, 0x74, -+ 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x42, -+ 0x6c, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, -+ 0x50, 0x01, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, -+ 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, -+ 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, -+ 0x6b, 0xaa, 0x02, 0x19, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, -+ 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x62, 0x06, 0x70, -+ 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/socks/simplified/config.pb.go b/proxy/socks/simplified/config.pb.go -index cf0b16918..ccadf744e 100644 ---- a/proxy/socks/simplified/config.pb.go -+++ b/proxy/socks/simplified/config.pb.go -@@ -148,7 +148,7 @@ var file_proxy_socks_simplified_config_proto_rawDesc = []byte{ - 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, - 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, -- 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, -+ 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, - 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, -@@ -160,25 +160,25 @@ var file_proxy_socks_simplified_config_proto_rawDesc = []byte{ - 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x6e, 0x65, - 0x74, 0x2e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x2e, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x70, 0x61, 0x63, -- 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x18, 0x82, 0xb5, 0x18, -- 0x09, 0x0a, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x07, 0x12, 0x05, -- 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x7a, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, -- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, -- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -- 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, -- 0x50, 0x4f, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, -- 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, -- 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x75, -- 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x07, 0x12, 0x05, 0x73, 0x6f, 0x63, 0x6b, -- 0x73, 0x42, 0x84, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x73, 0x6f, 0x63, 0x6b, 0x73, -- 0x2e, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x50, 0x01, 0x5a, 0x35, 0x67, -- 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, -- 0x6f, 0x78, 0x79, 0x2f, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, -- 0x66, 0x69, 0x65, 0x64, 0xaa, 0x02, 0x21, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, -- 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x53, 0x69, -- 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x14, 0x82, 0xb5, 0x18, -+ 0x10, 0x0a, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x05, 0x73, 0x6f, 0x63, 0x6b, -+ 0x73, 0x22, 0x76, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, -+ 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, -+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x4f, 0x72, 0x44, -+ 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, -+ 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, -+ 0x72, 0x74, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, -+ 0x6e, 0x64, 0x12, 0x05, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x42, 0x84, 0x01, 0x0a, 0x25, 0x63, 0x6f, -+ 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, -+ 0x78, 0x79, 0x2e, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, -+ 0x69, 0x65, 0x64, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, -+ 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, -+ 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x73, 0x6f, 0x63, 0x6b, -+ 0x73, 0x2f, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0xaa, 0x02, 0x21, 0x56, -+ 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, -+ 0x53, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, -+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/trojan/simplified/config.pb.go b/proxy/trojan/simplified/config.pb.go -index 1e3e2f884..f066681cd 100644 ---- a/proxy/trojan/simplified/config.pb.go -+++ b/proxy/trojan/simplified/config.pb.go -@@ -154,7 +148,7 @@ var file_proxy_trojan_simplified_config_proto_rawDesc = []byte{ - 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, - 0x65, 0x74, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x2f, 0x63, 0x6f, -- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x0c, 0x53, -+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x0c, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x75, - 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, - 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, -@@ -162,27 +156,27 @@ var file_proxy_trojan_simplified_config_proto_rawDesc = []byte{ - 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x63, -- 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x69, 0x6e, 0x62, -- 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x08, 0x12, 0x06, 0x74, 0x72, 0x6f, 0x6a, 0x61, 0x6e, -- 0x22, 0x97, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, -- 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, -- 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x4f, 0x72, 0x44, -- 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, -- 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, -- 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, -- 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x1a, -- 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, -- 0x18, 0x08, 0x12, 0x06, 0x74, 0x72, 0x6f, 0x6a, 0x61, 0x6e, 0x42, 0x87, 0x01, 0x0a, 0x26, 0x63, -- 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, -- 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x6f, 0x6a, 0x61, 0x6e, 0x2e, 0x73, 0x69, 0x6d, 0x70, 0x6c, -- 0x69, 0x66, 0x69, 0x65, 0x64, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -- 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -- 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x74, 0x72, -- 0x6f, 0x6a, 0x61, 0x6e, 0x2f, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0xaa, -- 0x02, 0x22, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, -- 0x78, 0x79, 0x2e, 0x54, 0x72, 0x6f, 0x6a, 0x61, 0x6e, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, -- 0x66, 0x69, 0x65, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x07, 0x69, 0x6e, 0x62, -+ 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x06, 0x74, 0x72, 0x6f, 0x6a, 0x61, 0x6e, 0x22, 0x93, 0x01, 0x0a, -+ 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, -+ 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, -+ 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, -+ 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, 0x4f, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, -+ 0x6e, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, -+ 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, -+ 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, -+ 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x16, 0x82, 0xb5, 0x18, 0x12, -+ 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x06, 0x74, 0x72, 0x6f, 0x6a, -+ 0x61, 0x6e, 0x42, 0x87, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x74, 0x72, 0x6f, 0x6a, -+ 0x61, 0x6e, 0x2e, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x50, 0x01, 0x5a, -+ 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, -+ 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, -+ 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x74, 0x72, 0x6f, 0x6a, 0x61, 0x6e, 0x2f, 0x73, 0x69, 0x6d, -+ 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0xaa, 0x02, 0x22, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, -+ 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x54, 0x72, 0x6f, 0x6a, 0x61, -+ 0x6e, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x62, 0x06, 0x70, 0x72, -+ 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/vless/inbound/config.pb.go b/proxy/vless/inbound/config.pb.go -index 96b291316..95dfae868 100644 ---- a/proxy/vless/inbound/config.pb.go -+++ b/proxy/vless/inbound/config.pb.go -@@ -236,19 +236,19 @@ var file_proxy_vless_inbound_config_proto_rawDesc = []byte{ - 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, - 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x46, 0x61, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x52, 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x22, -- 0x42, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, -+ 0x3e, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, -- 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x3a, 0x18, 0x82, 0xb5, 0x18, 0x09, 0x0a, -- 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x07, 0x12, 0x05, 0x76, 0x6c, -- 0x65, 0x73, 0x73, 0x42, 0x7b, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, -- 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x65, 0x73, -- 0x73, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x69, 0x74, -- 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, -- 0x79, 0x2f, 0x76, 0x6c, 0x65, 0x73, 0x73, 0x2f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0xaa, -- 0x02, 0x1e, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, -- 0x78, 0x79, 0x2e, 0x56, 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, -- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x3a, 0x14, 0x82, 0xb5, 0x18, 0x10, 0x0a, -+ 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x05, 0x76, 0x6c, 0x65, 0x73, 0x73, 0x42, -+ 0x7b, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, -+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6e, -+ 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -+ 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x6c, -+ 0x65, 0x73, 0x73, 0x2f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0xaa, 0x02, 0x1e, 0x56, 0x32, -+ 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x56, -+ 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, -+ 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/vless/outbound/config.pb.go b/proxy/vless/outbound/config.pb.go -index e71df8bb6..3b5278990 100644 ---- a/proxy/vless/outbound/config.pb.go -+++ b/proxy/vless/outbound/config.pb.go -@@ -145,24 +145,24 @@ var file_proxy_vless_outbound_config_proto_rawDesc = []byte{ - 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x6e, 0x65, 0x78, 0x74, 0x22, -- 0x92, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, -+ 0x8e, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x49, 0x50, - 0x4f, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, -- 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x0a, 0x0a, -- 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x07, 0x12, 0x05, 0x76, -- 0x6c, 0x65, 0x73, 0x73, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, -- 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x65, -- 0x73, 0x73, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x33, 0x67, -- 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, -- 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, -- 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x6c, 0x65, 0x73, 0x73, 0x2f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, -- 0x6e, 0x64, 0xaa, 0x02, 0x1f, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, -- 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x56, 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x4f, 0x75, 0x74, 0x62, -- 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, -+ 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x05, 0x76, 0x6c, 0x65, 0x73, 0x73, -+ 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -+ 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x6f, -+ 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, -+ 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, -+ 0x76, 0x6c, 0x65, 0x73, 0x73, 0x2f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0xaa, 0x02, -+ 0x1f, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, -+ 0x79, 0x2e, 0x56, 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, -+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/vlite/inbound/config.pb.go b/proxy/vlite/inbound/config.pb.go -index 047a025b1..8643949a9 100644 ---- a/proxy/vlite/inbound/config.pb.go -+++ b/proxy/vlite/inbound/config.pb.go -@@ -111,7 +111,7 @@ var file_proxy_vlite_inbound_config_proto_rawDesc = []byte{ - 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x69, 0x74, 0x65, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, -- 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x02, 0x0a, 0x11, 0x55, 0x44, 0x50, 0x50, 0x72, 0x6f, 0x74, -+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x02, 0x0a, 0x11, 0x55, 0x44, 0x50, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x61, 0x6d, 0x62, -@@ -129,17 +129,17 @@ var file_proxy_vlite_inbound_config_proto_rawDesc = []byte{ - 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x68, 0x61, - 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x61, -- 0x64, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x09, 0x0a, -- 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x08, 0x12, 0x06, 0x76, 0x6c, -- 0x69, 0x74, 0x65, 0x75, 0x42, 0x7b, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, -- 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x69, -- 0x74, 0x65, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x69, -- 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, -- 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, -- 0x78, 0x79, 0x2f, 0x76, 0x6c, 0x69, 0x74, 0x65, 0x2f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, -- 0xaa, 0x02, 0x1e, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, -- 0x6f, 0x78, 0x79, 0x2e, 0x56, 0x6c, 0x69, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, -- 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x64, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, -+ 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x06, 0x76, 0x6c, 0x69, 0x74, 0x65, 0x75, -+ 0x42, 0x7b, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -+ 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x69, 0x74, 0x65, 0x2e, 0x69, -+ 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, -+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, -+ 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, -+ 0x6c, 0x69, 0x74, 0x65, 0x2f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0xaa, 0x02, 0x1e, 0x56, -+ 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, -+ 0x56, 0x6c, 0x69, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, -+ 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/vlite/outbound/config.pb.go b/proxy/vlite/outbound/config.pb.go -index b4e4e79cf..443e4f99c 100644 ---- a/proxy/vlite/outbound/config.pb.go -+++ b/proxy/vlite/outbound/config.pb.go -@@ -130,7 +130,7 @@ var file_proxy_vlite_outbound_config_proto_rawDesc = []byte{ - 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, -- 0x22, 0x8f, 0x03, 0x0a, 0x11, 0x55, 0x44, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, -+ 0x22, 0x8b, 0x03, 0x0a, 0x11, 0x55, 0x44, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, -@@ -153,17 +153,17 @@ var file_proxy_vlite_outbound_config_proto_rawDesc = []byte{ - 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x68, 0x61, 0x6e, 0x64, 0x73, - 0x68, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x64, 0x64, 0x69, -- 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x1a, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x75, -- 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, 0xb5, 0x18, 0x08, 0x12, 0x06, 0x76, 0x6c, 0x69, 0x74, -- 0x65, 0x75, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -- 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x69, 0x74, 0x65, -- 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, -- 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, -- 0x79, 0x2f, 0x76, 0x6c, 0x69, 0x74, 0x65, 0x2f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, -- 0xaa, 0x02, 0x1f, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, -- 0x6f, 0x78, 0x79, 0x2e, 0x56, 0x6c, 0x69, 0x74, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, -- 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x16, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x08, 0x6f, 0x75, -+ 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x06, 0x76, 0x6c, 0x69, 0x74, 0x65, 0x75, 0x42, 0x7e, -+ 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -+ 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6c, 0x69, 0x74, 0x65, 0x2e, 0x6f, 0x75, 0x74, -+ 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -+ 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -+ 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x6c, -+ 0x69, 0x74, 0x65, 0x2f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0xaa, 0x02, 0x1f, 0x56, -+ 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, -+ 0x56, 0x6c, 0x69, 0x74, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, -+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/vmess/inbound/config.pb.go b/proxy/vmess/inbound/config.pb.go -index e69ea4942..ab0b3b605 100644 ---- a/proxy/vmess/inbound/config.pb.go -+++ b/proxy/vmess/inbound/config.pb.go -@@ -269,20 +269,19 @@ var file_proxy_vmess_inbound_config_proto_rawDesc = []byte{ - 0x75, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x14, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, -- 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x42, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, -+ 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x3e, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, - 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, -- 0x72, 0x73, 0x3a, 0x18, 0x82, 0xb5, 0x18, 0x09, 0x0a, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, -- 0x64, 0x82, 0xb5, 0x18, 0x07, 0x12, 0x05, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x42, 0x7b, 0x0a, 0x22, -- 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, -- 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, -- 0x6e, 0x64, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, -- 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, -- 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x6d, 0x65, 0x73, 0x73, -- 0x2f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0xaa, 0x02, 0x1e, 0x56, 0x32, 0x52, 0x61, 0x79, -- 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x56, 0x6d, 0x65, 0x73, -- 0x73, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, -- 0x33, -+ 0x72, 0x73, 0x3a, 0x14, 0x82, 0xb5, 0x18, 0x10, 0x0a, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, -+ 0x64, 0x12, 0x05, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x42, 0x7b, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, -+ 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, -+ 0x2e, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, -+ 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, -+ 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, -+ 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x2f, 0x69, 0x6e, 0x62, -+ 0x6f, 0x75, 0x6e, 0x64, 0xaa, 0x02, 0x1e, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, -+ 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x56, 0x6d, 0x65, 0x73, 0x73, 0x2e, 0x49, 0x6e, -+ 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/proxy/vmess/outbound/config.pb.go b/proxy/vmess/outbound/config.pb.go -index 46c4d62ad..1ac3ba66c 100644 ---- a/proxy/vmess/outbound/config.pb.go -+++ b/proxy/vmess/outbound/config.pb.go -@@ -145,7 +145,7 @@ var file_proxy_vmess_outbound_config_proto_rawDesc = []byte{ - 0x2a, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x52, 0x65, 0x63, -- 0x65, 0x69, 0x76, 0x65, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, -+ 0x65, 0x69, 0x76, 0x65, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x32, - 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, -@@ -153,17 +153,16 @@ var file_proxy_vmess_outbound_config_proto_rawDesc = []byte{ - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x3a, -- 0x19, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x82, -- 0xb5, 0x18, 0x07, 0x12, 0x05, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, -- 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, -- 0x78, 0x79, 0x2e, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, -- 0x64, 0x50, 0x01, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, -- 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, -- 0x2f, 0x76, 0x35, 0x2f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x2f, -- 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0xaa, 0x02, 0x1f, 0x56, 0x32, 0x52, 0x61, 0x79, -- 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x56, 0x6d, 0x65, 0x73, -- 0x73, 0x2e, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, -- 0x6f, 0x33, -+ 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, -+ 0x05, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x42, 0x7e, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x76, -+ 0x6d, 0x65, 0x73, 0x73, 0x2e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x01, 0x5a, -+ 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, -+ 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, -+ 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x76, 0x6d, 0x65, 0x73, 0x73, 0x2f, 0x6f, 0x75, 0x74, 0x62, -+ 0x6f, 0x75, 0x6e, 0x64, 0xaa, 0x02, 0x1f, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, -+ 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x56, 0x6d, 0x65, 0x73, 0x73, 0x2e, 0x4f, 0x75, -+ 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/transport/internet/config.pb.go b/transport/internet/config.pb.go -index 729899015..41f70be7b 100644 ---- a/transport/internet/config.pb.go -+++ b/transport/internet/config.pb.go -@@ -421,6 +421,7 @@ type SocketConfig struct { - RxBufSize int64 `protobuf:"varint,12,opt,name=rx_buf_size,json=rxBufSize,proto3" json:"rx_buf_size,omitempty"` - TxBufSize int64 `protobuf:"varint,13,opt,name=tx_buf_size,json=txBufSize,proto3" json:"tx_buf_size,omitempty"` - ForceBufSize bool `protobuf:"varint,14,opt,name=force_buf_size,json=forceBufSize,proto3" json:"force_buf_size,omitempty"` -+ Mptcp bool `protobuf:"varint,15,opt,name=mptcp,proto3" json:"mptcp,omitempty"` - } - - func (x *SocketConfig) Reset() { -@@ -553,6 +554,13 @@ func (x *SocketConfig) GetForceBufSize() bool { - return false - } - -+func (x *SocketConfig) GetMptcp() bool { -+ if x != nil { -+ return x.Mptcp -+ } -+ return true -+} -+ - var File_transport_internet_config_proto protoreflect.FileDescriptor - - var file_transport_internet_config_proto_rawDesc = []byte{ -@@ -605,7 +613,7 @@ var file_transport_internet_config_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, -- 0x22, 0xfd, 0x05, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, -+ 0x22, 0x93, 0x06, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x4e, 0x0a, 0x03, 0x74, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -@@ -646,27 +654,29 @@ var file_transport_internet_config_proto_rawDesc = []byte{ - 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x78, 0x42, 0x75, 0x66, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x63, -- 0x65, 0x42, 0x75, 0x66, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x35, 0x0a, 0x10, 0x54, 0x43, 0x50, 0x46, -- 0x61, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, -- 0x41, 0x73, 0x49, 0x73, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, -- 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x02, 0x22, -- 0x2f, 0x0a, 0x0a, 0x54, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x07, 0x0a, -- 0x03, 0x4f, 0x66, 0x66, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x50, 0x72, 0x6f, 0x78, 0x79, -- 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x10, 0x02, -- 0x2a, 0x5a, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, -- 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x07, -- 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x4b, 0x43, 0x50, 0x10, -- 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x65, 0x62, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x03, -- 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x6f, -- 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x10, 0x05, 0x42, 0x78, 0x0a, 0x21, -- 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, -- 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, -- 0x74, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, -- 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, -- 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, -- 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0xaa, 0x02, 0x1d, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, -- 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, -- 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x65, 0x42, 0x75, 0x66, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x70, 0x74, 0x63, -+ 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x70, 0x74, 0x63, 0x70, 0x22, 0x35, -+ 0x0a, 0x10, 0x54, 0x43, 0x50, 0x46, 0x61, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, -+ 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x73, 0x49, 0x73, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, -+ 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x69, 0x73, 0x61, -+ 0x62, 0x6c, 0x65, 0x10, 0x02, 0x22, 0x2f, 0x0a, 0x0a, 0x54, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, -+ 0x6f, 0x64, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x66, 0x66, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, -+ 0x54, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x64, 0x69, -+ 0x72, 0x65, 0x63, 0x74, 0x10, 0x02, 0x2a, 0x5a, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, -+ 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54, -+ 0x43, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, -+ 0x04, 0x4d, 0x4b, 0x43, 0x50, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x65, 0x62, 0x53, 0x6f, -+ 0x63, 0x6b, 0x65, 0x74, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x04, -+ 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, -+ 0x10, 0x05, 0x42, 0x78, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -+ 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, -+ 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, -+ 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, -+ 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0xaa, 0x02, 0x1d, 0x56, -+ 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, -+ 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x62, 0x06, 0x70, 0x72, -+ 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/transport/internet/config.proto b/transport/internet/config.proto -index 2478c6f2e..fb0209413 100644 ---- a/transport/internet/config.proto -+++ b/transport/internet/config.proto -@@ -103,4 +103,5 @@ message SocketConfig { - int64 rx_buf_size = 12; - int64 tx_buf_size = 13; - bool force_buf_size = 14; -+ bool mptcp = 15; - } -diff --git a/transport/internet/grpc/config.pb.go b/transport/internet/grpc/config.pb.go -index b424476d9..14035c9db 100644 ---- a/transport/internet/grpc/config.pb.go -+++ b/transport/internet/grpc/config.pb.go -@@ -80,22 +80,22 @@ var file_transport_internet_grpc_config_proto_rawDesc = []byte{ - 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x65, 0x6e, 0x63, 0x6f, 0x64, - 0x69, 0x6e, 0x67, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, -- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, -+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, - 0x6f, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, -- 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x24, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x74, 0x72, -- 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x82, 0xb5, 0x18, 0x06, 0x12, 0x04, 0x67, 0x72, 0x70, -- 0x63, 0x82, 0xb5, 0x18, 0x07, 0x8a, 0xff, 0x29, 0x03, 0x67, 0x75, 0x6e, 0x42, 0x85, 0x01, 0x0a, -- 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, -- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, -- 0x65, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -- 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -- 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, -- 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0xaa, -- 0x02, 0x22, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, -- 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, -- 0x47, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x1c, 0x82, 0xb5, 0x18, 0x18, 0x0a, 0x09, 0x74, 0x72, -+ 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x04, 0x67, 0x72, 0x70, 0x63, 0x8a, 0xff, 0x29, -+ 0x03, 0x67, 0x75, 0x6e, 0x42, 0x85, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, -+ 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, -+ 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x5a, -+ 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, -+ 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, -+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, -+ 0x65, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0xaa, 0x02, 0x22, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, -+ 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, -+ 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, -+ 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/transport/internet/grpc/encoding/stream_grpc.pb.go b/transport/internet/grpc/encoding/stream_grpc.pb.go -index c4464eb7c..2859c424e 100644 ---- a/transport/internet/grpc/encoding/stream_grpc.pb.go -+++ b/transport/internet/grpc/encoding/stream_grpc.pb.go -@@ -12,6 +12,10 @@ import ( - // Requires gRPC-Go v1.32.0 or later. - const _ = grpc.SupportPackageIsVersion7 - -+const ( -+ GunService_Tun_FullMethodName = "/v2ray.core.transport.internet.grpc.encoding.GunService/Tun" -+) -+ - // GunServiceClient is the client API for GunService service. - // - // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -@@ -28,7 +32,7 @@ func NewGunServiceClient(cc grpc.ClientConnInterface) GunServiceClient { - } - - func (c *gunServiceClient) Tun(ctx context.Context, opts ...grpc.CallOption) (GunService_TunClient, error) { -- stream, err := c.cc.NewStream(ctx, &GunService_ServiceDesc.Streams[0], "/v2ray.core.transport.internet.grpc.encoding.GunService/Tun", opts...) -+ stream, err := c.cc.NewStream(ctx, &GunService_ServiceDesc.Streams[0], GunService_Tun_FullMethodName, opts...) - if err != nil { - return nil, err - } -diff --git a/transport/internet/kcp/config.pb.go b/transport/internet/kcp/config.pb.go -index 1f422e8f2..e9c171632 100644 ---- a/transport/internet/kcp/config.pb.go -+++ b/transport/internet/kcp/config.pb.go -@@ -539,7 +539,7 @@ var file_transport_internet_kcp_config_proto_rawDesc = []byte{ - 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x22, 0x24, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, -- 0x09, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x22, 0xab, 0x05, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, -+ 0x09, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x22, 0xa3, 0x05, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x38, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, -@@ -579,19 +579,18 @@ var file_transport_internet_kcp_config_proto_rawDesc = []byte{ - 0x32, 0x31, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, - 0x2e, 0x6b, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, -- 0x65, 0x65, 0x64, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x3a, 0x24, 0x82, 0xb5, 0x18, 0x0b, 0x0a, -- 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x82, 0xb5, 0x18, 0x05, 0x12, 0x03, -- 0x6b, 0x63, 0x70, 0x82, 0xb5, 0x18, 0x08, 0x8a, 0xff, 0x29, 0x04, 0x6d, 0x6b, 0x63, 0x70, 0x4a, -- 0x04, 0x08, 0x09, 0x10, 0x0a, 0x42, 0x84, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, -- 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x6b, 0x63, 0x70, 0x50, -- 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, -- 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, -- 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, -- 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x6b, 0x63, 0x70, 0xaa, 0x02, 0x21, 0x56, 0x32, 0x52, 0x61, 0x79, -- 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, -- 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x4b, 0x63, 0x70, 0x62, 0x06, 0x70, 0x72, -- 0x6f, 0x74, 0x6f, 0x33, -+ 0x65, 0x65, 0x64, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x3a, 0x1c, 0x82, 0xb5, 0x18, 0x18, 0x0a, -+ 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x03, 0x6b, 0x63, 0x70, 0x8a, -+ 0xff, 0x29, 0x04, 0x6d, 0x6b, 0x63, 0x70, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x42, 0x84, 0x01, -+ 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -+ 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, -+ 0x6e, 0x65, 0x74, 0x2e, 0x6b, 0x63, 0x70, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, -+ 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, -+ 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, -+ 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x6b, 0x63, 0x70, -+ 0xaa, 0x02, 0x21, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, -+ 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, -+ 0x2e, 0x4b, 0x63, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/transport/internet/quic/config.pb.go b/transport/internet/quic/config.pb.go -index 020769035..77d44ee36 100644 ---- a/transport/internet/quic/config.pb.go -+++ b/transport/internet/quic/config.pb.go -@@ -93,7 +93,7 @@ var file_transport_internet_quic_config_proto_rawDesc = []byte{ - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, -- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, -+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -@@ -102,18 +102,18 @@ var file_transport_internet_quic_config_proto_rawDesc = []byte{ - 0x67, 0x52, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, -- 0x79, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x19, 0x82, 0xb5, 0x18, 0x0b, 0x0a, -- 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x82, 0xb5, 0x18, 0x06, 0x12, 0x04, -- 0x71, 0x75, 0x69, 0x63, 0x42, 0x87, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, -- 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, -- 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x50, -- 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, -- 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, -- 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, -- 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x71, 0x75, 0x69, 0x63, 0xaa, 0x02, 0x22, 0x56, 0x32, 0x52, 0x61, -- 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, -- 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x62, 0x06, -- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x79, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x15, 0x82, 0xb5, 0x18, 0x11, 0x0a, -+ 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x04, 0x71, 0x75, 0x69, 0x63, -+ 0x42, 0x87, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, -+ 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, -+ 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x71, 0x75, 0x69, 0x63, 0x50, 0x01, 0x5a, 0x36, 0x67, -+ 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, -+ 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, -+ 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, -+ 0x2f, 0x71, 0x75, 0x69, 0x63, 0xaa, 0x02, 0x22, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, -+ 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, -+ 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, -+ 0x6f, 0x33, - } - - var ( -diff --git a/transport/internet/system_dialer.go b/transport/internet/system_dialer.go -index 96bb0eca1..6d1ef7392 100644 ---- a/transport/internet/system_dialer.go -+++ b/transport/internet/system_dialer.go -@@ -72,17 +72,19 @@ func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest ne - LocalAddr: resolveSrcAddr(dest.Network, src), - KeepAlive: goStdKeepAlive, - } -- if dialer.MultipathTCP() { -- newError("Outbound MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx)) -- } else { -- newError("Outbound MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx)) -- dialer.SetMultipathTCP(true) // 主动启用mptcp -- } - - if sockopt != nil || len(d.controllers) > 0 { - dialer.Control = func(network, address string, c syscall.RawConn) error { - return c.Control(func(fd uintptr) { - if sockopt != nil { -+ if dest.Network == net.Network_TCP && sockopt.Mptcp { -+ if dialer.MultipathTCP() { -+ newError("Dialer MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx)) -+ } else { -+ newError("Dialer MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx)) -+ dialer.SetMultipathTCP(true) // 主动启用mptcp -+ } -+ } - if err := applyOutboundSocketOptions(network, address, fd, sockopt); err != nil { - newError("failed to apply socket options").Base(err).WriteToLog(session.ExportIDToError(ctx)) - } -diff --git a/transport/internet/system_listener.go b/transport/internet/system_listener.go -index 74e48130a..d9d97647a 100644 ---- a/transport/internet/system_listener.go -+++ b/transport/internet/system_listener.go -@@ -45,12 +45,6 @@ func (dl *DefaultListener) Listen(ctx context.Context, addr net.Addr, sockopt *S - var l net.Listener - var err error - var network, address string -- if lc.MultipathTCP() { -- newError("MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx)) -- } else { -- newError("MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx)) -- lc.SetMultipathTCP(true) // 主动启用mptcp -- } - switch addr := addr.(type) { - case *net.TCPAddr: - network = addr.Network() -@@ -59,6 +53,14 @@ func (dl *DefaultListener) Listen(ctx context.Context, addr net.Addr, sockopt *S - if sockopt != nil && (sockopt.TcpKeepAliveInterval != 0 || sockopt.TcpKeepAliveIdle != 0) { - lc.KeepAlive = time.Duration(-1) - } -+ if sockopt != nil && sockopt.Mptcp { -+ if lc.MultipathTCP() { -+ newError("Listener MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx)) -+ } else { -+ newError("Listener MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx)) -+ lc.SetMultipathTCP(true) // 主动启用mptcp -+ } -+ } - case *net.UnixAddr: - lc.Control = nil - network = addr.Network() -diff --git a/transport/internet/tcp/config.pb.go b/transport/internet/tcp/config.pb.go -index 34fbfd43c..5d3da8994 100644 ---- a/transport/internet/tcp/config.pb.go -+++ b/transport/internet/tcp/config.pb.go -@@ -82,7 +82,7 @@ var file_transport_internet_tcp_config_proto_rawDesc = []byte{ - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, -- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, -+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x3d, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, -@@ -90,18 +90,17 @@ var file_transport_internet_tcp_config_proto_rawDesc = []byte{ - 0x32, 0x0a, 0x15, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, -- 0x63, 0x6f, 0x6c, 0x3a, 0x18, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, -- 0x70, 0x6f, 0x72, 0x74, 0x82, 0xb5, 0x18, 0x05, 0x12, 0x03, 0x74, 0x63, 0x70, 0x4a, 0x04, 0x08, -- 0x01, 0x10, 0x02, 0x42, 0x84, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, -- 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, -- 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x74, 0x63, 0x70, 0x50, 0x01, 0x5a, -- 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, -- 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, -- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, -- 0x65, 0x74, 0x2f, 0x74, 0x63, 0x70, 0xaa, 0x02, 0x21, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, -- 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, -- 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x63, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, -- 0x6f, 0x33, -+ 0x63, 0x6f, 0x6c, 0x3a, 0x14, 0x82, 0xb5, 0x18, 0x10, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, -+ 0x70, 0x6f, 0x72, 0x74, 0x12, 0x03, 0x74, 0x63, 0x70, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x42, -+ 0x84, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -+ 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, -+ 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x74, 0x63, 0x70, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, -+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, -+ 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, -+ 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x74, -+ 0x63, 0x70, 0xaa, 0x02, 0x21, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, -+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, -+ 0x65, 0x74, 0x2e, 0x54, 0x63, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/transport/internet/tls/config.pb.go b/transport/internet/tls/config.pb.go -index 09ca99b63..3c399854d 100644 ---- a/transport/internet/tls/config.pb.go -+++ b/transport/internet/tls/config.pb.go -@@ -294,7 +294,7 @@ var file_transport_internet_tls_config_proto_rawDesc = []byte{ - 0x59, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, - 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x55, 0x54, 0x48, - 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x5f, 0x43, 0x4c, 0x49, -- 0x45, 0x4e, 0x54, 0x10, 0x03, 0x22, 0xe0, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, -+ 0x45, 0x4e, 0x54, 0x10, 0x03, 0x22, 0xdc, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x2d, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, 0x82, 0xb5, 0x18, 0x02, 0x28, 0x01, - 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12, -@@ -323,17 +323,17 @@ var file_transport_internet_tls_config_proto_rawDesc = []byte{ - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3a, -- 0x17, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x82, -- 0xb5, 0x18, 0x05, 0x12, 0x03, 0x74, 0x6c, 0x73, 0x42, 0x84, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, -- 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, -- 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x74, -- 0x6c, 0x73, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, -- 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, -- 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, -- 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x74, 0x6c, 0x73, 0xaa, 0x02, 0x21, 0x56, 0x32, -- 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, -- 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x6c, 0x73, 0x62, -- 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x13, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, -+ 0x03, 0x74, 0x6c, 0x73, 0x42, 0x84, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, -+ 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, -+ 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x74, 0x6c, 0x73, 0x50, 0x01, -+ 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, -+ 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, -+ 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, -+ 0x6e, 0x65, 0x74, 0x2f, 0x74, 0x6c, 0x73, 0xaa, 0x02, 0x21, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, -+ 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, -+ 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, -+ 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/transport/internet/tls/utls/config.pb.go b/transport/internet/tls/utls/config.pb.go -index 295e2eadf..057eeb7d8 100644 ---- a/transport/internet/tls/utls/config.pb.go -+++ b/transport/internet/tls/utls/config.pb.go -@@ -148,7 +148,7 @@ var file_transport_internet_tls_utls_config_proto_rawDesc = []byte{ - 0x65, 0x78, 0x74, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x63, 0x6f, 0x6e, -- 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x01, 0x0a, 0x06, 0x43, 0x6f, -+ 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x01, 0x0a, 0x06, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0a, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, -@@ -162,23 +162,23 @@ var file_transport_internet_tls_utls_config_proto_rawDesc = []byte{ - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x65, 0x74, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x75, 0x74, 0x6c, 0x73, 0x2e, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x64, 0x41, 0x4c, 0x50, 0x4e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x6c, 0x70, -- 0x6e, 0x3a, 0x18, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, -- 0x79, 0x82, 0xb5, 0x18, 0x06, 0x12, 0x04, 0x75, 0x74, 0x6c, 0x73, 0x2a, 0x52, 0x0a, 0x0a, 0x46, -- 0x6f, 0x72, 0x63, 0x65, 0x64, 0x41, 0x4c, 0x50, 0x4e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, -- 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, -- 0x45, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, -- 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f, 0x41, 0x4c, 0x50, 0x4e, 0x10, 0x01, 0x12, 0x0f, -- 0x0a, 0x0b, 0x55, 0x54, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x02, 0x42, -- 0x93, 0x01, 0x0a, 0x2a, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, -- 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, -- 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x75, 0x74, 0x6c, 0x73, 0x50, 0x01, -- 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, -- 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, -- 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, -- 0x6e, 0x65, 0x74, 0x2f, 0x74, 0x6c, 0x73, 0x2f, 0x75, 0x74, 0x6c, 0x73, 0xaa, 0x02, 0x26, 0x56, -- 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, -- 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x6c, 0x73, -- 0x2e, 0x55, 0x54, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x6e, 0x3a, 0x14, 0x82, 0xb5, 0x18, 0x10, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, -+ 0x79, 0x12, 0x04, 0x75, 0x74, 0x6c, 0x73, 0x2a, 0x52, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x63, 0x65, -+ 0x64, 0x41, 0x4c, 0x50, 0x4e, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, -+ 0x52, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x54, 0x41, -+ 0x4b, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x00, 0x12, 0x0b, 0x0a, -+ 0x07, 0x4e, 0x4f, 0x5f, 0x41, 0x4c, 0x50, 0x4e, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x54, -+ 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x02, 0x42, 0x93, 0x01, 0x0a, 0x2a, -+ 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, -+ 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, -+ 0x74, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x75, 0x74, 0x6c, 0x73, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, -+ 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, -+ 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, 0x61, -+ 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, -+ 0x74, 0x6c, 0x73, 0x2f, 0x75, 0x74, 0x6c, 0x73, 0xaa, 0x02, 0x26, 0x56, 0x32, 0x52, 0x61, 0x79, -+ 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, -+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x54, 0x6c, 0x73, 0x2e, 0x55, 0x54, 0x6c, -+ 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -diff --git a/transport/internet/websocket/config.pb.go b/transport/internet/websocket/config.pb.go -index 5b03acb7e..ff62bc2fa 100644 ---- a/transport/internet/websocket/config.pb.go -+++ b/transport/internet/websocket/config.pb.go -@@ -171,7 +171,7 @@ var file_transport_internet_websocket_config_proto_rawDesc = []byte{ - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, -- 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xda, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, -+ 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd2, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, -@@ -190,20 +190,19 @@ var file_transport_internet_websocket_config_proto_rawDesc = []byte{ - 0x12, 0x33, 0x0a, 0x16, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x44, 0x61, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, -- 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x28, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x74, 0x72, 0x61, -- 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x82, 0xb5, 0x18, 0x04, 0x12, 0x02, 0x77, 0x73, 0x82, 0xb5, -- 0x18, 0x0d, 0x8a, 0xff, 0x29, 0x09, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4a, -- 0x04, 0x08, 0x01, 0x10, 0x02, 0x42, 0x96, 0x01, 0x0a, 0x2b, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, -- 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, -- 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, -- 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, -- 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, -- 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, -- 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x6f, -- 0x63, 0x6b, 0x65, 0x74, 0xaa, 0x02, 0x27, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, -- 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, -- 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x62, 0x06, -- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -+ 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x82, 0xb5, 0x18, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, -+ 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x02, 0x77, 0x73, 0x8a, 0xff, 0x29, 0x09, 0x77, 0x65, -+ 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x42, 0x96, 0x01, -+ 0x0a, 0x2b, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, -+ 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, -+ 0x6e, 0x65, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x01, 0x5a, -+ 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x32, 0x66, 0x6c, -+ 0x79, 0x2f, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x35, 0x2f, -+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, -+ 0x65, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0xaa, 0x02, 0x27, 0x56, -+ 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, -+ 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, -+ 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, - } - - var ( -From c9306fdb1886424f186680acbc5f889319f2dadd Mon Sep 17 00:00:00 2001 -From: Luo Chongjun -Date: Thu, 3 Aug 2023 17:09:55 +0800 -Subject: [PATCH] fix mptcp dial - ---- - transport/internet/system_dialer.go | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -diff --git a/transport/internet/system_dialer.go b/transport/internet/system_dialer.go -index 6d1ef739..a7ebf75c 100644 ---- a/transport/internet/system_dialer.go -+++ b/transport/internet/system_dialer.go -@@ -77,14 +77,6 @@ func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest ne - dialer.Control = func(network, address string, c syscall.RawConn) error { - return c.Control(func(fd uintptr) { - if sockopt != nil { -- if dest.Network == net.Network_TCP && sockopt.Mptcp { -- if dialer.MultipathTCP() { -- newError("Dialer MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx)) -- } else { -- newError("Dialer MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx)) -- dialer.SetMultipathTCP(true) // 主动启用mptcp -- } -- } - if err := applyOutboundSocketOptions(network, address, fd, sockopt); err != nil { - newError("failed to apply socket options").Base(err).WriteToLog(session.ExportIDToError(ctx)) - } -@@ -104,6 +96,15 @@ func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest ne - } - } - -+ if sockopt != nil && dest.Network == net.Network_TCP && sockopt.Mptcp { -+ if dialer.MultipathTCP() { -+ newError("Dialer MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx)) -+ } else { -+ newError("Dialer MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx)) -+ dialer.SetMultipathTCP(true) // 主动启用mptcp -+ } -+ } -+ - return dialer.DialContext(ctx, dest.Network.SystemString(), dest.NetAddr()) - } - From 8855058246065d2eccc3fa398e89debf5641a27b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 15:01:19 +0100 Subject: [PATCH 142/199] Update Xray --- xray-core/Makefile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/xray-core/Makefile b/xray-core/Makefile index 3a34c2cb9..bdf8ead8d 100644 --- a/xray-core/Makefile +++ b/xray-core/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2023-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2023-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,8 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xray -#PKG_VERSION:=1.8.24 -PKG_VERSION:=24.11.5 +PKG_VERSION:=25.1.30 PKG_RELEASE:=1 PKG_LICENSE:=MPLv2 @@ -17,8 +16,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Yannick Chabanois PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/XTLS/Xray-core.git -PKG_SOURCE_VERSION:=afc7ec55062c14ae69fc67b148155faae1c31548 -#PKG_SOURCE_VERSION:=6baad79f9881ee2cf75bdc825b3e2e92b289477a +PKG_SOURCE_VERSION:=0a8470cb14ebbf7ee4cbb6c601bb9db072ace985 PKG_BUILD_DEPENDS:=golang/host PKG_BUILD_PARALLEL:=1 From e8cda22282d25eec3b2c4e95859b92993ebe0afe Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 15:01:31 +0100 Subject: [PATCH 143/199] Update OpenVPN --- openvpn/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openvpn/Makefile b/openvpn/Makefile index 964b59c3f..e361693ce 100644 --- a/openvpn/Makefile +++ b/openvpn/Makefile @@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openvpn -PKG_VERSION:=2.6.12 +PKG_VERSION:=2.6.13 PKG_RELEASE:=10 PKG_SOURCE_URL:=\ https://build.openvpn.net/downloads/releases/ \ https://swupdate.openvpn.net/community/releases/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=1c610fddeb686e34f1367c347e027e418e07523a10f4d8ce4a2c2af2f61a1929 +PKG_HASH:=1af10b86922bd7c99827cc0f151dfe9684337b8e5ebdb397539172841ac24a6a PKG_MAINTAINER:=Magnus Kroken From 6ad8563f7aee1e27087ca0145fcb0fa824b8bf90 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 15:01:59 +0100 Subject: [PATCH 144/199] Update OpenVPN DCO --- ovpn-dco/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ovpn-dco/Makefile b/ovpn-dco/Makefile index f474495d5..0ed6b62de 100644 --- a/ovpn-dco/Makefile +++ b/ovpn-dco/Makefile @@ -1,6 +1,6 @@ # # Copyright (C) 2021 Jianhui Zhao -# Copyright (C) 2023-2024 Yannick Chabanois (Ycarus) for OpenMPTCProuter +# Copyright (C) 2023-2025 Yannick Chabanois (Ycarus) for OpenMPTCProuter # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,13 +10,13 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ovpn-dco -PKG_VERSION:=0.2.20240320 +PKG_VERSION:=0.2.20241216 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/OpenVPN/ovpn-dco.git -PKG_SOURCE_VERSION:=2aa7f931803f81d2745b0cefafb63654a35cc3d5 +PKG_SOURCE_VERSION:=a08b2fd1296035efdb81831f21e0c10a815ab1ad PKG_MAINTAINER:=Yannick Chabanois PKG_LICENSE:=GPL-2.0-only @@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/ovpn-dco-v2 SUBMENU:=Network Support TITLE:=OpenVPN data channel offload - DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6 @!LINUX_6_12 + DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6 FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2) endef From 78704ca9803974c62213d25f871c9f2b223b4b61 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 15:02:30 +0100 Subject: [PATCH 145/199] Remove 6.12 restriction on OpenVPN-DCO --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 10e887f7c..66e39d60c 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -93,7 +93,7 @@ MY_DEPENDS := \ (LINUX_5_4&&(TARGET_x86_64||TARGET_aarch64)):kmod-tcp-bbr2 \ TARGET_x86_64:kmod-atlantic \ !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-minrtt !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-bkup !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ - !(LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ovpn-dco-v2 lspci \ + kmod-ovpn-dco-v2 lspci \ TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware \ luci-app-smartdns From d047067c1f53f8941470b6d695ff0a78fa38c83d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 15:19:45 +0100 Subject: [PATCH 146/199] Fix apk check in openmptcprouter wizard interface --- .../luasrc/view/openmptcprouter/wizard.htm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm index cea83f0e1..3dd59b5a7 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm @@ -10,13 +10,15 @@ local ifaces = sys.net:devices() local ifttyu = nixio.fs.glob("/dev/ttyUSB*") local ifttyc = nixio.fs.glob("/dev/cdc-wdm*") - local sqm = luci.sys.exec("opkg list-installed | grep -q luci-app-sqm && echo -n '1' || echo -n '0'") - if sqm == "0" then - sqm = luci.sys.exec("apk list | grep installed | grep -q luci-app-sqm && echo -n '1' || echo -n '0'") + if nixio.fs.stat('/usr/bin/apk', 'type') == 'reg' then + sqm = luci.sys.exec("apk list 2>/dev/null | grep installed | grep -q luci-app-sqm && echo -n '1' || echo -n '0'") + else + sqm = luci.sys.exec("opkg list-installed | grep -q luci-app-sqm && echo -n '1' || echo -n '0'") end - local qos = luci.sys.exec("opkg list-installed | grep -q luci-app-qos && echo -n '1' || echo -n '0'") - if qos == "0" then - qos = luci.sys.exec("apk list | grep installed | grep -q luci-app-qos && echo -n '1' || echo -n '0'") + if nixio.fs.stat('/usr/bin/apk', 'type') == 'reg' then + qos = luci.sys.exec("apk list 2>/dev/null | grep installed | grep -q luci-app-qos && echo -n '1' || echo -n '0'") + else + qos = luci.sys.exec("opkg list-installed | grep -q luci-app-qos && echo -n '1' || echo -n '0'") end menuentry = uci:get("openmptcprouter","settings","menu") or "openmptcprouter" function device_notvirtual(dev) From 26fdd7d28bdcdc4607f9d499f8884418ba11838b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 18:22:06 +0100 Subject: [PATCH 147/199] Check in OMR-Tracker if server is reachable by a connection --- omr-tracker/files/bin/omr-tracker | 67 +++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 4 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index 6bf1573a9..c5b0075e1 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -127,6 +127,23 @@ _ping_server() { fi } +_ping_server_all() { + count_server() { + config_get disabled $1 disabled + config_get serverip $1 ip + if [ "$disabled" != "1" ] && [ -n "$serverip" ]; then + servers=true + fi + } + config_load openmptcprouter + config_foreach count_server server + if [ "$server" = true ]; then + for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }); do + config_foreach _ping_server server $intf + done + fi +} + _httping_server() { local servername="$1" [ -z "$servername" ] && return @@ -150,6 +167,24 @@ _httping_server() { fi } +_httping_server_all() { + count_server() { + config_get disabled $1 disabled + config_get serverip $1 ip + if [ "$disabled" != "1" ] && [ -n "$serverip" ]; then + servers=true + fi + } + config_load openmptcprouter + config_foreach count_server server + if [ "ŝervers" = true ]; then + for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }); do + config_foreach _httping_server server $intf + done + fi +} + + _ping() { local host="$1" [ -z "$host" ] && return @@ -445,7 +480,7 @@ while true; do fi [ -n "$(ip route show ${OMR_TRACKER_HOST} via ${OMR_TRACKER_DEVICE_GATEWAY} dev ${OMR_TRACKER_DEVICE} src ${OMR_TRACKER_DEVICE_IP})" ] && ip route del "$OMR_TRACKER_HOST" via "$OMR_TRACKER_DEVICE_GATEWAY" dev "$OMR_TRACKER_DEVICE" src "$OMR_TRACKER_DEVICE_IP" > /dev/null 2>&1 if $(exit $statusb); then - OMR_TRACKER_STATUS_MSG="" + #OMR_TRACKER_STATUS_MSG="" OMR_TRACKER_STATUS="OK" else if [ "$OMR_TRACKER_LIST_HOSTS" = "" ]; then @@ -456,11 +491,11 @@ while true; do OMR_TRACKER_STATUS_MSG="check error" fi else - OMR_TRACKER_STATUS_MSG="" + #OMR_TRACKER_STATUS_MSG="" OMR_TRACKER_STATUS="OK" fi else - OMR_TRACKER_STATUS_MSG="" + #OMR_TRACKER_STATUS_MSG="" OMR_TRACKER_STATUS="OK" fi if [ "$serverip_ping" != false ] && [ "$OMR_TRACKER_STATUS" = "OK" ] && [ "$OMR_TRACKER_TYPE" != "httping" ] && [ "$OMR_TRACKER_SERVER_HTTP_TEST" = "1" ]; then @@ -469,12 +504,24 @@ while true; do config_foreach _httping_server server $OMR_TRACKER_DEVICE_IP if [ "$serverip_ping" = false ]; then #OMR_TRACKER_STATUS="ERROR" - OMR_TRACKER_STATUS_MSG="No access to server API" + OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG No access to server API" else OMR_TRACKER_STATUS_MSG="" OMR_TRACKER_STATUS="OK" break fi + elif [ "$serverip_ping" = false ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then + if [ "$OMR_TRACKER_TYPE" = "ping" ]; then + _ping_server_all + fi + if [ "$OMR_TRACKER_TYPE" = "httping" ]; then + _httping_server_all + fi + if [ "$server_ping" != false ] && [ "$servers" = true ]; then + OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG No answer from server" + OMR_TRACKER_STATUS="ERROR" + break + fi fi [ "$OMR_TRACKER_STATUS" = "OK" ] && break elif ! $(exit $status); then @@ -580,6 +627,18 @@ while true; do OMR_TRACKER_STATUS="OK" break fi + elif [ "$serverip_ping" = false ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then + if [ "$OMR_TRACKER_TYPE" = "ping" ]; then + _ping_server_all + fi + if [ "$OMR_TRACKER_TYPE" = "httping" ]; then + _httping_server_all + fi + if [ "$server_ping" != false ] && [ "$servers" = true ]; then + OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG No answer from server" + OMR_TRACKER_STATUS="ERROR" + break + fi fi [ "$OMR_TRACKER_STATUS" = "OK" ] && break elif ! $(exit $status); then From 718db38efe85a1326454b6c81736c4ad8477149d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 18:24:41 +0100 Subject: [PATCH 148/199] In openmptcprouter-vps script, reach API over all MPTCP enabled connection if not reachable by default GW --- .../files/etc/init.d/openmptcprouter-vps | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index e0f4d2e63..761896bae 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -51,6 +51,16 @@ _login() { else auth=`curl --max-time 10 -s -k -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://[$server]:$serverport/token` fi + if [ -z "$auth" ]; then + for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do + if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then + auth=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` + else + auth=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://[$server]:$serverport/token` + fi + [ -n "$auth" ] && break + done + fi [ -z "$auth" ] && return token="$(echo "$auth" | jsonfilter -q -e '@.access_token')" uci -q set openmptcprouter.${servername}.token="$token" @@ -79,6 +89,16 @@ _get_json() { else result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://[$server]:$serverport/$route` fi + if [ -z "$result" ]; then + for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do + if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then + result=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` + else + result=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Authorization: Bearer $token" https://[$server]:$serverport/$route` + fi + [ -n "$result" ] && break + done + fi if [ "$(echo $result | grep 'Could not validate credentials')" ]; then result='' fi @@ -101,6 +121,16 @@ _set_json() { else result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://[$server]:$serverport/$route` fi + if [ -z "$result" ]; then + for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do + if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then + result=`curl --max-time 10 -s -k --interface $intf -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` + else + result=`curl --max-time 10 -s -k --interface $intf -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://[$server]:$serverport/$route` + fi + [ -n "$result" ] && break + done + fi if [ "$(echo $result | grep 'Could not validate credentials')" ]; then result='' fi From fe5aa58b3be3d54e465178abb71a0bfc7bea2571 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 31 Jan 2025 18:51:24 +0100 Subject: [PATCH 149/199] Fix typo in omr-tracker --- omr-tracker/files/bin/omr-tracker | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index c5b0075e1..22aeb267f 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -137,7 +137,7 @@ _ping_server_all() { } config_load openmptcprouter config_foreach count_server server - if [ "$server" = true ]; then + if [ "$servers" = true ]; then for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }); do config_foreach _ping_server server $intf done @@ -177,7 +177,7 @@ _httping_server_all() { } config_load openmptcprouter config_foreach count_server server - if [ "ŝervers" = true ]; then + if [ "$servers" = true ]; then for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }); do config_foreach _httping_server server $intf done From 863425d622f6e900e91807932d40ac2cdcfc2319 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 4 Feb 2025 20:05:12 +0100 Subject: [PATCH 150/199] Add r5c compilation --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 65f0931af..0c762aa01 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, r5c] OMR_KERNEL: [6.6, 6.12] runs-on: ubuntu-latest continue-on-error: true From 93ec83c111c54fbc49645edd779137cbf5645df8 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 6 Feb 2025 14:32:18 +0100 Subject: [PATCH 151/199] Add option enable/disable check of server is reachable by the connection --- .../resources/view/omr-tracker/network/interface.js | 7 ++++++- omr-tracker/files/bin/omr-tracker | 6 +++--- omr-tracker/files/etc/config/omr-tracker | 1 + omr-tracker/files/etc/init.d/omr-tracker | 8 +++++--- omr-tracker/files/etc/uci-defaults/omr-tracker | 7 +++++++ 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/interface.js b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/interface.js index 70e4d557a..2a0f428a3 100644 --- a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/interface.js +++ b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/interface.js @@ -95,7 +95,12 @@ return view.extend({ } */ o = s.option(form.Flag, 'server_http_test', _('Server http test'), - _('Check if connection work with http by sending a request to server')); + _('Check if connection work with http by sending a request to server API')); + o.rmempty = false; + o.modalonly = true; + + o = s.option(form.Flag, 'server_test', _('Server test'), + _('Check if connection work by sending a ping or http request to server over all interfaces, failed if only current interface is not able to.')); o.rmempty = false; o.modalonly = true; diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index 22aeb267f..93150e20d 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -510,7 +510,7 @@ while true; do OMR_TRACKER_STATUS="OK" break fi - elif [ "$serverip_ping" = false ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then + elif [ "$serverip_ping" = false ] && [ "$OMR_TRACKER_STATUS" = "OK" ] && [ "$OMR_TRACKER_SERVER_TEST" = "1" ]; then if [ "$OMR_TRACKER_TYPE" = "ping" ]; then _ping_server_all fi @@ -627,7 +627,7 @@ while true; do OMR_TRACKER_STATUS="OK" break fi - elif [ "$serverip_ping" = false ] && [ "$OMR_TRACKER_STATUS" = "OK" ]; then + elif [ "$serverip_ping" = false ] && [ "$OMR_TRACKER_STATUS" = "OK" ] && [ "$OMR_TRACKER_SERVER_TEST" = "1" ]; then if [ "$OMR_TRACKER_TYPE" = "ping" ]; then _ping_server_all fi @@ -637,7 +637,7 @@ while true; do if [ "$server_ping" != false ] && [ "$servers" = true ]; then OMR_TRACKER_STATUS_MSG="$OMR_TRACKER_STATUS_MSG No answer from server" OMR_TRACKER_STATUS="ERROR" - break + #break fi fi [ "$OMR_TRACKER_STATUS" = "OK" ] && break diff --git a/omr-tracker/files/etc/config/omr-tracker b/omr-tracker/files/etc/config/omr-tracker index b5e7606d1..f28a4b6ed 100644 --- a/omr-tracker/files/etc/config/omr-tracker +++ b/omr-tracker/files/etc/config/omr-tracker @@ -29,6 +29,7 @@ config defaults 'defaults' option type 'ping' option wait_test '0' option server_http_test '0' + option server_test '0' option restart_down '0' option mail_alert '0' option initial_state 'online' diff --git a/omr-tracker/files/etc/init.d/omr-tracker b/omr-tracker/files/etc/init.d/omr-tracker index 21006b989..aada129df 100755 --- a/omr-tracker/files/etc/init.d/omr-tracker +++ b/omr-tracker/files/etc/init.d/omr-tracker @@ -1,13 +1,12 @@ #!/bin/sh /etc/rc.common # shellcheck disable=SC2039 # vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 : -# Copyright (C) 2018-2021 Ycarus (Yannick Chabanois) +# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) # Released under GPL 3. See LICENSE for the full terms. # shellcheck disable=SC2034 { START=90 - STOP=10 USE_PROCD=1 EXTRA_COMMANDS="start_interface" } @@ -17,7 +16,7 @@ _validate_section() { local tmp_hosts=$hosts tmp_hosts6=$hosts6 tmp_timeout=$timeout tmp_count=$count tmp_tries=$tries tmp_size=$size tmp_max_ttl=$max_ttl tmp_failure_loss=$failure_loss tmp_failure_latency=$failure_latency tmp_recovery_loss=$recovery_loss tmp_recovery_latency=$recovery_latency tmp_reliability=$reliability - local tmp_interval=$interval tmp_interval_tries=$interval_tries tmp_options=$options tmp_type=$type tmp_enabled=$enabled tmp_wait_test=$wait_test tmp_server_http_test=$server_http_test tmp_check_quality=$check_quality tmp_failure_interval=$failure_interval tmp_tries_up=$tries_up tmp_family=$family + local tmp_interval=$interval tmp_interval_tries=$interval_tries tmp_options=$options tmp_type=$type tmp_enabled=$enabled tmp_wait_test=$wait_test tmp_server_http_test=$server_http_test tmp_server_test=$server_test tmp_check_quality=$check_quality tmp_failure_interval=$failure_interval tmp_tries_up=$tries_up tmp_family=$family uci_validate_section omr-tracker "$1" "$2" \ 'hosts:list(host)' \ @@ -41,6 +40,7 @@ _validate_section() { 'type:string:undef' \ 'enabled:bool:1' \ 'server_http_test:bool:0' \ + 'server_test:bool:0' \ 'family:string' \ 'options:string' @@ -65,6 +65,7 @@ _validate_section() { [ -z "$options" ] && options=$tmp_options [ "$type" = "undef" ] && type=${tmp_type:-ping} [ -z "$server_http_test" ] && server_http_test=$tmp_server_http_test + [ -z "$server_test" ] && server_test=$tmp_server_test [ -z "$family" ] && family=$tmp_family [ -z "$enabled" ] && enabled=$tmp_enabled } @@ -145,6 +146,7 @@ _launch_tracker() { procd_append_param env "OMR_TRACKER_PROTO=$proto" procd_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test" procd_append_param env "OMR_TRACKER_SERVER_HTTP_TEST=$server_http_test" + procd_append_param env "OMR_TRACKER_SERVER_TEST=$server_test" procd_set_param limits nofile="51200 51200" procd_set_param respawn 0 10 0 procd_set_param stderr 1 diff --git a/omr-tracker/files/etc/uci-defaults/omr-tracker b/omr-tracker/files/etc/uci-defaults/omr-tracker index 74df05a1f..b490c1cdf 100755 --- a/omr-tracker/files/etc/uci-defaults/omr-tracker +++ b/omr-tracker/files/etc/uci-defaults/omr-tracker @@ -115,6 +115,13 @@ if [ "$(uci -q get omr-tracker.defaults.server_http_test)" = "" ]; then EOF fi +if [ "$(uci -q get omr-tracker.defaults.server_test)" = "" ]; then + uci -q batch <<-EOF >/dev/null + set omr-tracker.defaults.server_test=0 + commit omr-tracker + EOF +fi + if [ -z "$(uci -q get omr-tracker.defaults.failure_interval)" ] || [ "$(uci -q get omr-tracker.defaults.failure_interval)" = "5" ]; then uci -q batch <<-EOF >/dev/null set omr-tracker.defaults.failure_interval=20 From d4e7a680f16d92c3993a495cd9aeb121cf6910ca Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 6 Feb 2025 14:33:53 +0100 Subject: [PATCH 152/199] Set services as enabled in omr-schedule services script --- omr-schedule/files/usr/share/omr/schedule.d/010-services | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/omr-schedule/files/usr/share/omr/schedule.d/010-services b/omr-schedule/files/usr/share/omr/schedule.d/010-services index 5ee1c8036..6e4628bfe 100755 --- a/omr-schedule/files/usr/share/omr/schedule.d/010-services +++ b/omr-schedule/files/usr/share/omr/schedule.d/010-services @@ -1,5 +1,6 @@ +#!/bin/sh # -# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -94,11 +95,13 @@ fi if [ "$(pgrep rpcd)" = "" ] && [ -f /etc/init.d/rpcd ]; then _log "Can't find rpcd, restart it..." + /etc/init.d/rpcd enable >/dev/null 2>&1 /etc/init.d/rpcd restart >/dev/null 2>&1 sleep 5 fi if [ "$(pgrep dbus)" = "" ] && [ -f /etc/init.d/dbus ]; then _log "Can't find dbus, restart it..." + /etc/init.d/dbus enable >/dev/null 2>&1 /etc/init.d/dbus restart >/dev/null 2>&1 sleep 5 fi @@ -123,6 +126,7 @@ if [ "$(uci -q get openmptcprouter.settings.disable_modemmanager)" != "1" ]; the # /etc/init.d/modemmanager stop >/dev/null 2>&1 # sleep 5 fi + /etc/init.d/modemmanager enable >/dev/null 2>&1 fi if [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ] && [ "$(pgrep -f omr-tracker-v2ray)" = "" ] && [ "$(pgrep -f '/etc/init.d/omr-tracker')" = "" ]; then _log "Can't find omr-tracker-v2ray, restart omr-tracker..." @@ -150,6 +154,7 @@ restart_omrtracker() { config_get ifenabled "$1" auto [ -z "$multipath" ] || [ "$multipath" = "off" ] && return [ "$ifenabled" = "0" ] && return + /etc/init.d/omr-tracker enable /etc/init.d/omr-tracker start_interface "$1" sleep 10 } @@ -244,7 +249,7 @@ if [ -n "$(logread | tail -n 2 | grep 'Ring expansion failed')" ]; then echo 1 > /sys/bus/pci/rescan fi -if [ -f /etc/init.d/omr-bypass ] && [ -z "$(pgrep -f omr-bypass)" ] && (([ -e /usr/sbin/iptables-nft-save ] && [ "$(iptables-nft-save 2>/dev/null | grep omr-bypass)" = "" ]) || [ "$(iptables-save 2>/dev/null | grep omr-bypass)" = "" ]); then +if [ -f /etc/init.d/omr-bypass ] && [ -z "$(pgrep -f omr-bypass)" ] && ( ([ -e /usr/sbin/iptables-nft-save ] && [ "$(iptables-nft-save 2>/dev/null | grep omr-bypass)" = "" ]) || [ "$(iptables-save 2>/dev/null | grep omr-bypass)" = "" ]); then _log "Can't find omr-bypass rules, restart omr-bypass..." /etc/init.d/omr-bypass start >/dev/null 2>&1 sleep 5 From dc18217c8e491384256bad95300be8d665970498 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 6 Feb 2025 14:38:04 +0100 Subject: [PATCH 153/199] Clean code --- omr-bypass/files/etc/init.d/omr-bypass | 1 - omr-bypass/files/etc/init.d/omr-bypass-nft | 1 - .../files/usr/share/omr/schedule.d/050-rutx | 1 + .../usr/share/omr/lib/common-post-tracking.sh | 6 +++--- openmptcprouter-api/files/bin/omr-ip-intf | 6 +++--- openmptcprouter-api/files/bin/omr-ip6-intf | 6 +++--- openmptcprouter-api/files/bin/omr-mptcp-intf | 5 +++-- .../files/etc/init.d/openmptcprouter-vps | 19 ++++++++++--------- .../files/etc/init.d/vnstat_backup | 5 ++--- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/omr-bypass/files/etc/init.d/omr-bypass b/omr-bypass/files/etc/init.d/omr-bypass index 1d292c55a..133a47529 100755 --- a/omr-bypass/files/etc/init.d/omr-bypass +++ b/omr-bypass/files/etc/init.d/omr-bypass @@ -2,7 +2,6 @@ # Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) START=98 -STOP=10 USE_PROCD=1 EXTRA_COMMANDS="reload_rules bypass_asn" diff --git a/omr-bypass/files/etc/init.d/omr-bypass-nft b/omr-bypass/files/etc/init.d/omr-bypass-nft index ec71b9e0c..b77b45b52 100755 --- a/omr-bypass/files/etc/init.d/omr-bypass-nft +++ b/omr-bypass/files/etc/init.d/omr-bypass-nft @@ -2,7 +2,6 @@ # Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter START=98 -STOP=10 USE_PROCD=1 EXTRA_COMMANDS="reload_rules bypass_asn" diff --git a/omr-schedule/files/usr/share/omr/schedule.d/050-rutx b/omr-schedule/files/usr/share/omr/schedule.d/050-rutx index c4a2bc2dc..c0479511b 100755 --- a/omr-schedule/files/usr/share/omr/schedule.d/050-rutx +++ b/omr-schedule/files/usr/share/omr/schedule.d/050-rutx @@ -1,3 +1,4 @@ +#!/bin/sh # # Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) for OpenMPTCProuter # diff --git a/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh b/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh index 7219e7d1c..ce39aac89 100755 --- a/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh +++ b/omr-tracker/files/usr/share/omr/lib/common-post-tracking.sh @@ -330,7 +330,7 @@ set_route_balancing() { local multipath_config_route interface_gw interface_if INTERFACE=$1 [ -z "$INTERFACE" ] && return - [ "$INTERFACE" = "omrvpn" ] && continue + [ "$INTERFACE" = "omrvpn" ] && return multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { @@ -390,8 +390,8 @@ set_route_balancing6() { local multipath_config_route interface_gw interface_if INTERFACE=$1 [ -z "$INTERFACE" ] && return - [ "$INTERFACE" = "omr6in4" ] && continue - [ "$INTERFACE" = "omrvpn" ] && continue + [ "$INTERFACE" = "omr6in4" ] && return + [ "$INTERFACE" = "omrvpn" ] && return multipath_config_route=$(uci -q get openmptcprouter.$INTERFACE.multipath) [ -z "$multipath_config_route" ] && multipath_config_route=$(uci -q get network.$INTERFACE.multipath || echo "off") [ "$(uci -q get openmptcprouter.$INTERFACE.multipathvpn)" = "1" ] && { diff --git a/openmptcprouter-api/files/bin/omr-ip-intf b/openmptcprouter-api/files/bin/omr-ip-intf index b5a707690..4a2b925b7 100755 --- a/openmptcprouter-api/files/bin/omr-ip-intf +++ b/openmptcprouter-api/files/bin/omr-ip-intf @@ -7,18 +7,19 @@ timeout=$(uci -q get openmptcprouter.settings.status_getip_timeout) [ -z "$timeout" ] && timeout="1" get_ip_from_server() { + [ -n "$ip" ] && return serverport=$(uci -q get openmptcprouter.$1.port) get_ip() { + [ -n "$ip" ] && return serverip=$1 getip="$(curl -s -k -4 -m ${timeout} --interface $intf https://$serverip:$serverport/clienthost)" [ -n "$getip" ] && getip=$(echo $getip | jsonfilter -e '@.client_host' | sed 's/::ffff://') if expr "$getip" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/dev/null; then ip=$getip - break + return fi } config_list_foreach $1 ip get_ip - [ -n "$ip" ] && break } get_ip_from_website() { @@ -30,7 +31,6 @@ get_ip_from_website() { ipset del ss_rules_dst_bypass_all $checkip > /dev/null 2>&1 if expr "$getip" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/dev/null; then ip=$getip - break fi } diff --git a/openmptcprouter-api/files/bin/omr-ip6-intf b/openmptcprouter-api/files/bin/omr-ip6-intf index 2166441d9..cf833ec85 100755 --- a/openmptcprouter-api/files/bin/omr-ip6-intf +++ b/openmptcprouter-api/files/bin/omr-ip6-intf @@ -7,17 +7,18 @@ timeout=$(uci -q get openmptcprouter.settings.status_getip_timeout) [ -z "$timeout" ] && timeout="1" get_ip_from_server() { + [ -n "$ip" ] && return serverport=$(uci -q get openmptcprouter.$1.port) get_ip() { + [ -n "$ip" ] && return getip="$(curl -s -k -6 -m ${timeout} --interface $intf https://$serverip:$serverport/clienthost)" [ -n "$getip" ] && getip=$(echo $getip | jsonfilter -e '@.client_host') if [ -n "$(echo "$getip" | grep :)" ]; then ip=$getip - break + return fi } config_list_foreach $1 ip get_ip - [ -n "$ip" ] && break } get_ip_from_website() { @@ -29,7 +30,6 @@ get_ip_from_website() { ipset del ss_rules6_dst_bypass_all $checkip > /dev/null 2>&1 if [ -n "$(echo "$getip" | grep :)" ]; then ip=$getip - break fi } diff --git a/openmptcprouter-api/files/bin/omr-mptcp-intf b/openmptcprouter-api/files/bin/omr-mptcp-intf index 4a69b5bcf..0f3233bd6 100755 --- a/openmptcprouter-api/files/bin/omr-mptcp-intf +++ b/openmptcprouter-api/files/bin/omr-mptcp-intf @@ -8,8 +8,10 @@ timeout="$(uci -q get openmptcprouter.settings.status_vps_timeout)" [ -z "$intf" ] && return get_mptcp_from_server() { + [ -n "$support" ] && return serverport=$(uci -q get openmptcprouter.$1.port) get_mptcp() { + [ -n "$support" ] && return serverip=$1 if [ "$(echo $serverip | grep :)" ]; then if [ -f /proc/sys/net/mptcp/enabled ]; then @@ -26,11 +28,10 @@ get_mptcp_from_server() { fi [ -n "$support" ] && { support=$(echo $support | jsonfilter -e '@.mptcp') - break + return } } config_list_foreach $1 ip get_mptcp - [ -n "$support" ] && break } get_mptcpv0_from_website() { diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 761896bae..95b943f11 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -43,6 +43,7 @@ _login() { if [ -z "$token" ]; then login_on_server() { server=$1 + [ -n "$token" ] && return #auth=`curl --max-time 10 -s -k -H "Content-Type: application/json" -X POST -d '{"username":"'$username'","password":"'$password'"}' https://$server:$serverport/login` resolve="$(resolveip -t 5 $server)" valid_ip6=$(valid_subnet6 $server) @@ -61,10 +62,10 @@ _login() { [ -n "$auth" ] && break done fi - [ -z "$auth" ] && return - token="$(echo "$auth" | jsonfilter -q -e '@.access_token')" - uci -q set openmptcprouter.${servername}.token="$token" - [ -n "$token" ] && break + [ -n "$auth" ] && { + token="$(echo "$auth" | jsonfilter -q -e '@.access_token')" + uci -q set openmptcprouter.${servername}.token="$token" + } } config_load openmptcprouter config_list_foreach ${servername} ip login_on_server @@ -1717,7 +1718,7 @@ _set_config_from_vps() { v2ray_key="$(echo "$vps_config" | jsonfilter -q -e '@.v2ray.config.key')" #v2ray_port="$(echo "$vps_config" | jsonfilter -q -e '@.v2ray.config.port')" v2ray_port="65228" - if [ -n "$(uci -q get v2ray.omr)" ] && (([ -n "$v2ray_key" ] && [ "$v2ray_key" != "$(uci -q get v2ray.omrout.s_vmess_user_id)" ]) || ([ -n "$v2ray_port" ] && [ "$v2ray_port" != "$(uci -q get v2ray.omrout.s_vmess.port)" ])); then + if [ -n "$(uci -q get v2ray.omr)" ] && ( ([ -n "$v2ray_key" ] && [ "$v2ray_key" != "$(uci -q get v2ray.omrout.s_vmess_user_id)" ]) || ([ -n "$v2ray_port" ] && [ "$v2ray_port" != "$(uci -q get v2ray.omrout.s_vmess.port)" ]) ); then uci -q batch <<-EOF >/dev/null set v2ray.omrout.s_socks_user_id="$v2ray_key" set v2ray.omrout.s_socks_port="$((v2ray_port+3))" @@ -1749,7 +1750,7 @@ _set_config_from_vps() { xray_vless_reality_key="$(echo "$vps_config" | jsonfilter -q -e '@.xray.config.vless_reality_key')" #v2ray_port="$(echo "$vps_config" | jsonfilter -q -e '@.v2ray.config.port')" xray_port="65248" - if [ -n "$(uci -q get xray.omr)" ] && (([ -n "$xray_key" ] && [ "$xray_key" != "$(uci -q get xray.omrout.s_vmess_user_id)" ]) || ([ -n "$xray_port" ] && [ "$xray_port" != "$(uci -q get xray.omrout.s_vmess.port)" ])); then + if [ -n "$(uci -q get xray.omr)" ] && ( ([ -n "$xray_key" ] && [ "$xray_key" != "$(uci -q get xray.omrout.s_vmess_user_id)" ]) || ([ -n "$xray_port" ] && [ "$xray_port" != "$(uci -q get xray.omrout.s_vmess.port)" ]) ); then uci -q batch <<-EOF >/dev/null set xray.omrout.s_shadowsocks_port="$((xray_port+4))" set xray.omrout.s_shadowsocks_password="$xray_sskey" @@ -1785,7 +1786,7 @@ _set_config_from_vps() { # Glorytun settings glorytun_key="$(echo "$vps_config" | jsonfilter -q -e '@.glorytun.key')" glorytun_port="$(echo "$vps_config" | jsonfilter -q -e '@.glorytun.port')" - if [ -n "$(uci -q get glorytun.vpn)" ] && (([ -n "$glorytun_key" ] && [ "$glorytun_key" != "$(uci -q get glorytun.vpn.key)" ]) || ([ -n "$glorytun_port" ] || [ "$glorytun_port" != "$(uci -q get glorytun.vpn.port)" ])); then + if [ -n "$(uci -q get glorytun.vpn)" ] && ( ([ -n "$glorytun_key" ] && [ "$glorytun_key" != "$(uci -q get glorytun.vpn.key)" ]) || ([ -n "$glorytun_port" ] || [ "$glorytun_port" != "$(uci -q get glorytun.vpn.port)" ]) ); then vpn="$(uci -q get openmptcprouter.settings.vpn)" glorytun_state=0 if [ "$vpn" = "glorytun_tcp" ]; then @@ -1810,7 +1811,7 @@ _set_config_from_vps() { /etc/init.d/glorytun restart >/dev/null 2>&1 fi fi - if [ -n "$(uci -q get glorytun.udp)" ] && (([ -n "$glorytun_key" ] && [ "$glorytun_key" != "$(uci -q get glorytun-udp.vpn.key)" ]) || ([ -n "$glorytun_port" ] || [ "$glorytun_port" != "$(uci -q get glorytun-udp.vpn.port)" ])); then + if [ -n "$(uci -q get glorytun.udp)" ] && ( ([ -n "$glorytun_key" ] && [ "$glorytun_key" != "$(uci -q get glorytun-udp.vpn.key)" ]) || ([ -n "$glorytun_port" ] || [ "$glorytun_port" != "$(uci -q get glorytun-udp.vpn.port)" ]) ); then vpn="$(uci -q get openmptcprouter.settings.vpn)" glorytun_state=0 if [ "$vpn" = "glorytun_udp" ]; then @@ -1964,7 +1965,7 @@ _set_config_from_vps() { # DSVPN settings dsvpn_key="$(echo "$vps_config" | jsonfilter -q -e '@.dsvpn.key')" dsvpn_port="$(echo "$vps_config" | jsonfilter -q -e '@.dsvpn.port')" - if [ -f /etc/init.d/dsvpn ] && [ -n "$(uci -q get dsvpn.vpn)" ] && (([ -n "$dsvpn_key" ] && [ "$dsvpn_key" != "$(uci -q get dsvpn.vpn.key)" ]) || ([ -n "$dsvpn_port" ] && [ "$dsvpn_port" != "$(uci -q get dsvpn.vpn.port)" ])); then + if [ -f /etc/init.d/dsvpn ] && [ -n "$(uci -q get dsvpn.vpn)" ] && ( ([ -n "$dsvpn_key" ] && [ "$dsvpn_key" != "$(uci -q get dsvpn.vpn.key)" ]) || ([ -n "$dsvpn_port" ] && [ "$dsvpn_port" != "$(uci -q get dsvpn.vpn.port)" ]) ); then dsvpn_state=0 if [ "$vpn" = "dsvpn" ]; then dsvpn_state=1 diff --git a/openmptcprouter/files/etc/init.d/vnstat_backup b/openmptcprouter/files/etc/init.d/vnstat_backup index 1434285d3..3c1e1bdba 100755 --- a/openmptcprouter/files/etc/init.d/vnstat_backup +++ b/openmptcprouter/files/etc/init.d/vnstat_backup @@ -1,10 +1,9 @@ #!/bin/sh /etc/rc.common EXTRA_COMMANDS="backup restore" -EXTRA_HELP=< Date: Fri, 7 Feb 2025 14:35:37 +0100 Subject: [PATCH 154/199] Add restart function to z8102 init script --- z8102/files/etc/init.d/z8102 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/z8102/files/etc/init.d/z8102 b/z8102/files/etc/init.d/z8102 index 7a7c9743d..f7afb900f 100755 --- a/z8102/files/etc/init.d/z8102 +++ b/z8102/files/etc/init.d/z8102 @@ -105,4 +105,9 @@ start_service() log "Enable SIM2 and reboot modem2..." modem2 fi +} + +restart() +{ + start_service "@" } \ No newline at end of file From 49a1c4eda4f5216229743f780000e52241f8fa6f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 7 Feb 2025 14:36:23 +0100 Subject: [PATCH 155/199] Add log info in omr-test-speed when server unreachable --- openmptcprouter/files/bin/omr-test-speed | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openmptcprouter/files/bin/omr-test-speed b/openmptcprouter/files/bin/omr-test-speed index 11b4f6d14..bd2adaced 100755 --- a/openmptcprouter/files/bin/omr-test-speed +++ b/openmptcprouter/files/bin/omr-test-speed @@ -188,6 +188,9 @@ while [ "$response" = "000" ] && [ "$try" -le 3 ]; do HOSTLST=$(echo $HOSTLST | tr ' ' '\n' | grep -v "$HOST" | xargs) fi try=$((try+1)) + if [ "$response" = "000" ]; then + echo "No answer from $HOST, retry..." + fi done [ -z "$HOST" ] && HOST="http://speedtest.milkywan.fr/files/10G.iso" From 4310806772127f5610e22701c491e3fee04970dc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 7 Feb 2025 17:39:58 +0100 Subject: [PATCH 156/199] Changes in default network configuration --- .../files/etc/uci-defaults/1920-omr-network | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index 9a9303c58..6d14aac13 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -2,8 +2,8 @@ . /lib/functions.sh _setup_macaddr() { - uci -q get "network.$1.macaddr" >/dev/null && return - uci -q set "network.$1.macaddr=$2" + uci -q get "network.${1}.macaddr" >/dev/null && return + uci -q set "network.${1}.macaddr=$2" } _setup_macvlan() { @@ -104,11 +104,13 @@ if [ "$(uci -q show network.lan | grep multipath)" != "" ]; then fi lanif="eth0" -if [ "$(grep rockchip /etc/os-release)" != "" ]; then +if [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "friendlyarm,nanopi-r5c" ]; then + lanif="eth0" +elif [ "$(grep rockchip /etc/os-release)" != "" ]; then lanif="eth1" elif [ "$(grep filogic /etc/os-release)" != "" ]; then lanif="eth1" -elif [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "bananapi_bpi-r3" ]; then +elif [ -n "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | grep bananapi_bpi-r3)" ]; then lanif="eth0" elif [ -d /sys/class/net/lan0 -o -n "$(ip link | grep ' lan0')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then lanif="wan" @@ -196,11 +198,23 @@ set network.lan.delegate=0 set network.lan.addlatency=0 set network.lan.txqueuelen=2000 set dhcp.lan.dhcpv4='server' -set network.lan_dev=device -set network.lan_dev.name=${lanif} - EOF +# Add Lan device if no device defined +if [ -z "$(uci -q show network | grep device)" ]; then + uci -q batch <<-EOF + set network.lan_dev=device + set network.lan_dev.name=${lanif} + EOF +fi + +# Delete all bridges +#if [ -n "$(uci -q show network | grep bridge)" ]; then +# for bridge in $(uci -q show network | awk -F. '/bridge/ { print $2}'); do +# uci -q delete network.${bridge} +# done +#fi + uci -q batch <<-EOF delete network.none delete network.wan @@ -245,6 +259,11 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get _setup_wan_interface wan2 eth1.2 on _setup_wan_interface wan3 eth1.3 on _setup_wan_interface wan4 eth1.4 on + elif [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "friendlyarm,nanopi-r5c" ]; then + _setup_wan_interface wan1 eth1 master macvlan + _setup_wan_interface wan2 eth1 on macvlan + _setup_macvlan wan1 + _setup_macvlan wan2 elif [ "$(grep rockchip /etc/os-release)" != "" ]; then _setup_wan_interface wan1 eth0 master macvlan _setup_wan_interface wan2 eth0 on macvlan From e48c9b5957ff105baebaeee754c42e2973f62ed7 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 10 Feb 2025 11:00:19 +0100 Subject: [PATCH 157/199] Add alpha support for z8109ax --- .github/workflows/main.yml | 2 +- z8102/files/etc/init.d/z8102 | 106 +++++++++++------------------------ 2 files changed, 34 insertions(+), 74 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0c762aa01..bcdc7579a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, r5c] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, r5c, z8109ax_128m] OMR_KERNEL: [6.6, 6.12] runs-on: ubuntu-latest continue-on-error: true diff --git a/z8102/files/etc/init.d/z8102 b/z8102/files/etc/init.d/z8102 index f7afb900f..8a2ca4113 100755 --- a/z8102/files/etc/init.d/z8102 +++ b/z8102/files/etc/init.d/z8102 @@ -9,85 +9,35 @@ log() { logger -t "z8102" "$@" } -modem1() +modem_reset() { - # sim 1 - #i=461 - #echo $i > /sys/class/gpio/export - #echo "out" > /sys/class/gpio/gpio${i}/direction - #echo "0" > /sys/class/gpio/gpio${i}/value - if [ -e /sys/class/gpio/sim1/value ]; then - echo "0" > /sys/class/gpio/sim1/value + modemnb=$1 + # sim + if [ -e /sys/class/gpio/sim${modemnb}/value ]; then + echo "0" > /sys/class/gpio/sim${modemnb}/value elif [ -f /usr/bin/gpiofind ]; then - gpioset `gpiofind "sim1"`=0 + gpioset `gpiofind "sim=${modemnb}"`=0 else - gpioset -t0 sim1=0 + gpioset -t0 sim${modemnb}=0 fi - # stop modem 1 - #i=459 - #echo $i > /sys/class/gpio/export - #echo "out" > /sys/class/gpio/gpio${i}/direction - #echo "0" > /sys/class/gpio/gpio${i}/value - if [ -e /sys/class/gpio/modem1/value ]; then - echo "0" > /sys/class/gpio/modem1/value + # stop modem + if [ -e /sys/class/gpio/modem${modemnb}/value ]; then + echo "0" > /sys/class/gpio/modem${modemnb}/value elif [ -f /usr/bin/gpiofind ]; then - gpioset `gpiofind "modem1"`=0 + gpioset `gpiofind "modem${modemnb}"`=0 else - gpioset -t0 modem1=0 + gpioset -t0 modem${modemnb}=0 fi sleep 1 - # run modem 1 - #i=459 - #echo "1" > /sys/class/gpio/gpio${i}/value - if [ -e /sys/class/gpio/modem1/value ]; then - echo "1" > /sys/class/gpio/modem1/value + # run modem + if [ -e /sys/class/gpio/modem${modemnb}/value ]; then + echo "1" > /sys/class/gpio/modem${modemnb}/value elif [ -f /usr/bin/gpiofind ]; then - gpioset `gpiofind "modem1"`=1 + gpioset `gpiofind "modem${modemnb}"`=1 else - gpioset -t0 modem1=1 - fi -} - -modem2() -{ - # sim 2 - #i=462 - #echo $i > /sys/class/gpio/export - #echo "out" > /sys/class/gpio/gpio${i}/direction - #echo "0" > /sys/class/gpio/gpio${i}/value - if [ -e /sys/class/gpio/sim2/value ]; then - echo "0" > /sys/class/gpio/sim2/value - elif [ -f /usr/bin/gpiofind ]; then - gpioset `gpiofind "sim2"`=0 - else - gpioset -t0 sim2=0 - fi - - # stop modem 2 - #i=460 - #echo $i > /sys/class/gpio/export - #echo "out" > /sys/class/gpio/gpio${i}/direction - #echo "0" > /sys/class/gpio/gpio${i}/value - if [ -e /sys/class/gpio/modem2/value ]; then - echo "0" > /sys/class/gpio/modem2/value - elif [ -f /usr/bin/gpiofind ]; then - gpioset `gpiofind "modem2"`=0 - else - gpioset -t0 modem2=0 - fi - - sleep 1 - # run modem 2 - #i=460 - #echo "1" > /sys/class/gpio/gpio${i}/value - if [ -e /sys/class/gpio/modem2/value ]; then - echo "1" > /sys/class/gpio/modem2/value - elif [ -f /usr/bin/gpiofind ]; then - gpioset `gpiofind "modem2"`=1 - else - gpioset -t0 modem2=1 + gpioset -t0 modem${modemnb}=1 fi } @@ -96,18 +46,28 @@ start_service() modem="$1" if [ -z "$modem" ]; then log "Enable SIMs and reboot modems..." - modem1 - modem2 + modem_reset 1 + modem_reset 2 + if [ -n "$(cat /etc/board.json | grep z8109)" ]; then + modem_reset 3 + modem_reset 4 + fi elif [ "$modem" = "modem1" ]; then log "Enable SIM1 and reboot modem1..." - modem1 + modem_reset 1 elif [ "$modem" = "modem2" ]; then log "Enable SIM2 and reboot modem2..." - modem2 + modem_reset 2 + elif [ "$modem" = "modem3" ]; then + log "Enable SIM3 and reboot modem3..." + modem_reset 3 + elif [ "$modem" = "modem4" ]; then + log "Enable SIM4 and reboot modem4..." + modem_reset 4 fi } restart() { - start_service "@" -} \ No newline at end of file + start_service "$@" +} From 4ec92e8cca8ce11e0dbc0eab2e854568b5bd6770 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 11 Feb 2025 17:05:35 +0100 Subject: [PATCH 158/199] Add modems support for ZBT z8109ax --- .../share/omr/post-tracking.d/001-initialize | 20 +++++- .../files/etc/uci-defaults/1920-omr-network | 69 +++++++++++++++++++ 2 files changed, 88 insertions(+), 1 deletion(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize b/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize index 06a8e6417..6ce92dd52 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize @@ -41,4 +41,22 @@ if [ -n "$(grep z8102ax /etc/board.json)" ]; then EOF fi [ -n "$(uci -q changes network)" ] && uci -q commit network -fi \ No newline at end of file +fi +if [ -n "$(grep z8109ax /etc/board.json)" ]; then + if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' + set network.modem3.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.3' + set network.modem4.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.4' + EOF + elif [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2' + set network.modem3.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.3' + set network.modem4.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.4' + EOF + fi + [ -n "$(uci -q changes network)" ] && uci -q commit network +fi diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index 6d14aac13..a24a88a0d 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -530,6 +530,75 @@ if [ "$board" = "z8102ax-128m" ] || [ "$board" = "z8102ax-64m" ] || [ "$board" = commit firewall EOF fi +if [ "$board" = "z8109ax-128m" ] || [ "$board" = "z8109ax-512" ] || [ "$board" = "z8109ax" ]; then + uci -q batch <<-EOF + set network.modem1=interface + set network.modem1.proto='modemmanager' + set network.modem1.apn='' + set network.modem1.auth='none' + set network.modem1.iptype='ipv4v6' + set network.modem1.addlatency='0' + set network.modem1.force_link='1' + set network.modem1.peerdns='0' + set network.modem1.delegate='0' + set network.modem1.multipath='on' + set network.modem1.defaultroute='0' + set network.modem2=interface + set network.modem2.proto='modemmanager' + set network.modem2.apn='' + set network.modem2.auth='none' + set network.modem2.iptype='ipv4v6' + set network.modem2.addlatency='0' + set network.modem2.force_link='1' + set network.modem2.peerdns='0' + set network.modem2.delegate='0' + set network.modem2.multipath='on' + set network.modem2.defaultroute='0' + set network.modem3=interface + set network.modem3.proto='modemmanager' + set network.modem3.apn='' + set network.modem3.auth='none' + set network.modem3.iptype='ipv4v6' + set network.modem3.addlatency='0' + set network.modem3.force_link='1' + set network.modem3.peerdns='0' + set network.modem3.delegate='0' + set network.modem3.multipath='on' + set network.modem3.defaultroute='0' + set network.modem4=interface + set network.modem4.proto='modemmanager' + set network.modem4.apn='' + set network.modem4.auth='none' + set network.modem4.iptype='ipv4v6' + set network.modem4.addlatency='0' + set network.modem4.force_link='1' + set network.modem4.peerdns='0' + set network.modem4.delegate='0' + set network.modem4.multipath='on' + set network.modem4.defaultroute='0' + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.2' + set network.modem3.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.3' + set network.modem4.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.4' + EOF + if [ -e /sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1 ]; then + uci -q batch <<-EOF + set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.1' + set network.modem2.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.2' + set network.modem3.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.3' + set network.modem4.device='/sys/devices/platform/soc/11200000.usb/usb2/2-1/2-1.4' + EOF + fi + + uci -q batch <<-EOF + commit network + add_list firewall.@zone[1].network='modem1' + add_list firewall.@zone[1].network='modem2' + add_list firewall.@zone[1].network='modem3' + add_list firewall.@zone[1].network='modem4' + commit firewall + EOF +fi # set network.lan.ipaddr='192.168.5.10' # set network.lan.gateway='192.168.5.1' From 97fbf89ca387df0a2382de49a674820b4dd7920f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 12 Feb 2025 16:56:21 +0100 Subject: [PATCH 159/199] Add more URL in omr-test-speed --- openmptcprouter/files/bin/omr-test-speed | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openmptcprouter/files/bin/omr-test-speed b/openmptcprouter/files/bin/omr-test-speed index bd2adaced..212990107 100755 --- a/openmptcprouter/files/bin/omr-test-speed +++ b/openmptcprouter/files/bin/omr-test-speed @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -30,8 +30,8 @@ fi exit 0 } -HOSTLST="http://scaleway.testdebit.info/10G.iso http://bordeaux.testdebit.info/10G.iso http://aix-marseille.testdebit.info/10G.iso http://lyon.testdebit.info/10G.iso http://lille.testdebit.info/10G.iso http://paris.testdebit.info/10G.iso http://appliwave.testdebit.info/10G/10G.iso http://speedtest.frankfurt.linode.com/garbage.php?ckSize=10000 http://speedtest.tokyo2.linode.com/garbage.php?ckSize=10000 http://speedtest.singapore.linode.com/garbage.php?ckSize=10000 http://speedtest.newark.linode.com/garbage.php?ckSize=10000 http://speedtest.atlanta.linode.com/garbage.php?ckSize=10000 http://speedtest.dallas.linode.com/garbage.php?ckSize=10000 http://speedtest.fremont.linode.com/garbage.php?ckSize=10000 http://ipv4.bouygues.testdebit.info/10G.iso http://par.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://ams.download.datapacket.com/10000mb.bin http://fra.download.datapacket.com/10000mb.bin http://lon.download.datapacket.com/10000mb.bin http://mad.download.datapacket.com/10000mb.bin http://prg.download.datapacket.com/10000mb.bin http://sto.download.datapacket.com/10000mb.bin http://vie.download.datapacket.com/10000mb.bin http://war.download.datapacket.com/10000mb.bin http://atl.download.datapacket.com/10000mb.bin http://chi.download.datapacket.com/10000mb.bin http://lax.download.datapacket.com/10000mb.bin http://mia.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://speedtest.milkywan.fr/files/10G.iso" -HOSTLST6="http://scaleway.testdebit.info/10G.iso http://bordeaux.testdebit.info/10G.iso http://aix-marseille.testdebit.info/10G.iso http://lyon.testdebit.info/10G.iso http://lille.testdebit.info/10G.iso http://paris.testdebit.info/10G.iso http://appliwave.testdebit.info/10G/10G.iso http://speedtest.frankfurt.linode.com/garbage.php?ckSize=10000 http://speedtest.tokyo2.linode.com/garbage.php?ckSize=10000 http://speedtest.singapore.linode.com/garbage.php?ckSize=10000 http://speedtest.newark.linode.com/garbage.php?ckSize=10000 http://speedtest.atlanta.linode.com/garbage.php?ckSize=10000 http://speedtest.dallas.linode.com/garbage.php?ckSize=10000 http://speedtest.fremont.linode.com/garbage.php?ckSize=10000 http://ipv6.bouygues.testdebit.info/10G.iso http://par.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://ams.download.datapacket.com/10000mb.bin http://fra.download.datapacket.com/10000mb.bin http://lon.download.datapacket.com/10000mb.bin http://mad.download.datapacket.com/10000mb.bin http://prg.download.datapacket.com/10000mb.bin http://sto.download.datapacket.com/10000mb.bin http://vie.download.datapacket.com/10000mb.bin http://war.download.datapacket.com/10000mb.bin http://atl.download.datapacket.com/10000mb.bin http://chi.download.datapacket.com/10000mb.bin http://lax.download.datapacket.com/10000mb.bin http://mia.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://speedtest.milkywan.fr/files/10G.iso" +HOSTLST="http://scaleway.testdebit.info/10G.iso http://bordeaux.testdebit.info/10G.iso http://aix-marseille.testdebit.info/10G.iso http://lyon.testdebit.info/10G.iso http://lille.testdebit.info/10G.iso http://paris.testdebit.info/10G.iso http://appliwave.testdebit.info/10G/10G.iso http://speedtest.frankfurt.linode.com/garbage.php?ckSize=10000 http://speedtest.tokyo2.linode.com/garbage.php?ckSize=10000 http://speedtest.singapore.linode.com/garbage.php?ckSize=10000 http://speedtest.newark.linode.com/garbage.php?ckSize=10000 http://speedtest.atlanta.linode.com/garbage.php?ckSize=10000 http://speedtest.dallas.linode.com/garbage.php?ckSize=10000 http://speedtest.fremont.linode.com/garbage.php?ckSize=10000 http://ipv4.bouygues.testdebit.info/10G.iso http://par.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://ams.download.datapacket.com/10000mb.bin http://fra.download.datapacket.com/10000mb.bin http://lon.download.datapacket.com/10000mb.bin http://mad.download.datapacket.com/10000mb.bin http://prg.download.datapacket.com/10000mb.bin http://sto.download.datapacket.com/10000mb.bin http://vie.download.datapacket.com/10000mb.bin http://war.download.datapacket.com/10000mb.bin http://atl.download.datapacket.com/10000mb.bin http://chi.download.datapacket.com/10000mb.bin http://lax.download.datapacket.com/10000mb.bin http://mia.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://speedtest.milkywan.fr/files/10G.iso https://rbx.proof.ovh.net/files/10Gb.dat https://gra.proof.ovh.net/files/10Gb.dat https://sbg.proof.ovh.net/files/10Gb.dat https://bhs.proof.ovh.ca/files/10Gb.dat https://vin.proof.ovh.us/files/10Gb.dat https://hil.proof.ovh.us/files/10Gb.dat http://speedtest.tele2.net/10GB.zip https://la.speedtest.clouvider.net/10g.bin https://atl.speedtest.clouvider.net/10g.bin https://nyc.speedtest.clouvider.net/10g.bin https://lon.speedtest.clouvider.net/10g.bin https://man.speedtest.clouvider.net/10g.bin https://ams.speedtest.clouvider.net/10g.bin https://fra.speedtest.clouvider.net/10g.bin https://dal.speedtest.clouvider.net/10g.bin https://ash.speedtest.clouvider.net/10g.bin https://phx.speedtest.clouvider.net/10g.bin https://chi.speedtest.clouvider.net/10g.bin" +HOSTLST6="http://scaleway.testdebit.info/10G.iso http://bordeaux.testdebit.info/10G.iso http://aix-marseille.testdebit.info/10G.iso http://lyon.testdebit.info/10G.iso http://lille.testdebit.info/10G.iso http://paris.testdebit.info/10G.iso http://appliwave.testdebit.info/10G/10G.iso http://speedtest.frankfurt.linode.com/garbage.php?ckSize=10000 http://speedtest.tokyo2.linode.com/garbage.php?ckSize=10000 http://speedtest.singapore.linode.com/garbage.php?ckSize=10000 http://speedtest.newark.linode.com/garbage.php?ckSize=10000 http://speedtest.atlanta.linode.com/garbage.php?ckSize=10000 http://speedtest.dallas.linode.com/garbage.php?ckSize=10000 http://speedtest.fremont.linode.com/garbage.php?ckSize=10000 http://ipv6.bouygues.testdebit.info/10G.iso http://par.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://ams.download.datapacket.com/10000mb.bin http://fra.download.datapacket.com/10000mb.bin http://lon.download.datapacket.com/10000mb.bin http://mad.download.datapacket.com/10000mb.bin http://prg.download.datapacket.com/10000mb.bin http://sto.download.datapacket.com/10000mb.bin http://vie.download.datapacket.com/10000mb.bin http://war.download.datapacket.com/10000mb.bin http://atl.download.datapacket.com/10000mb.bin http://chi.download.datapacket.com/10000mb.bin http://lax.download.datapacket.com/10000mb.bin http://mia.download.datapacket.com/10000mb.bin http://nyc.download.datapacket.com/10000mb.bin http://speedtest.milkywan.fr/files/10G.iso https://rbx.proof.ovh.net/files/10Gb.dat https://gra.proof.ovh.net/files/10Gb.dat https://sbg.proof.ovh.net/files/10Gb.dat https://bhs.proof.ovh.ca/files/10Gb.dat https://vin.proof.ovh.us/files/10Gb.dat https://hil.proof.ovh.us/files/10Gb.dat http://speedtest.tele2.net/10GB.zip https://la.speedtest.clouvider.net/10g.bin https://atl.speedtest.clouvider.net/10g.bin https://nyc.speedtest.clouvider.net/10g.bin https://lon.speedtest.clouvider.net/10g.bin https://man.speedtest.clouvider.net/10g.bin https://ams.speedtest.clouvider.net/10g.bin https://fra.speedtest.clouvider.net/10g.bin https://dal.speedtest.clouvider.net/10g.bin https://ash.speedtest.clouvider.net/10g.bin https://phx.speedtest.clouvider.net/10g.bin https://chi.speedtest.clouvider.net/10g.bin" select_server() { [ "$FASTTEST" = true ] || echo "Select best test server..." @@ -188,7 +188,7 @@ while [ "$response" = "000" ] && [ "$try" -le 3 ]; do HOSTLST=$(echo $HOSTLST | tr ' ' '\n' | grep -v "$HOST" | xargs) fi try=$((try+1)) - if [ "$response" = "000" ]; then + if [ "$response" = "000" ] && [ "$FASTTEST" != true ]; then echo "No answer from $HOST, retry..." fi done From 1b17e9c6545354bc5ddb77214d1e9a1082b1a915 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 13 Feb 2025 16:32:14 +0100 Subject: [PATCH 160/199] Disable autocomplete on luci-app-openmptcprouter wizard --- luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm index 3dd59b5a7..dd69b1293 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm @@ -79,7 +79,7 @@ } <% if stderr and #stderr > 0 then %>
<%=pcdata(stderr)%>
<% end %> -
+

<%:Wizard%>

From e94d8fa7755ed5fc1c4820fbdcef8d5b7cbfab62 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 13 Feb 2025 16:32:58 +0100 Subject: [PATCH 161/199] Fix ping issue in omr-tracker when it ouput errors --- omr-tracker/files/bin/omr-tracker | 35 ++++++++++++------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index 93150e20d..4b0554213 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -118,7 +118,7 @@ _ping_server() { statusp=$? if $(exit $statusp); then serverip_ping=true - return + return 0 fi fi } @@ -158,7 +158,7 @@ _httping_server() { statusp=$? if $(exit $statusp); then serverip_ping=true - return + return 0 fi fi } @@ -199,7 +199,7 @@ _ping() { -Q 184 \ "${host}" 2>&1 ) - loss=$(echo "$ret" | awk '/packet loss/ {gsub("%","");print $6}' | tr -d '\n') + loss=$(echo "$ret" | awk '/packet loss/ && !/errors/ {gsub("%","");print $6}' | tr -d '\n') if [ -n "$loss" ] && [ "$loss" != "100" ]; then if [ "$localip" = "yes" ]; then @@ -210,7 +210,7 @@ _ping() { } OMR_TRACKER_LOSS="$loss" fi - return + return 0 fi else ret=$(ping -B -I "${device}" \ @@ -223,9 +223,7 @@ _ping() { ) bindcheck=$(echo "$ret" | grep "Address not available") [ -n "$bindcheck" ] && OMR_TRACKER_NO_BIND=1 - #loss=$(echo "$ret" | grep 'packet loss' | sed -ne 's/.*\([0-9]\+\)% packet loss.*/\1/p') - #loss=$(echo "$ret" | grep 'packet loss' | cut -d " " -f6 | sed 's/%//' | tr -d '\n') - loss=$(echo "$ret" | awk '/packet loss/ {gsub("%","");print $6}' | tr -d '\n') + loss=$(echo "$ret" | awk '/packet loss/ && !/errors/ {gsub("%","");print $6}' | tr -d '\n') if [ -n "$loss" ] && [ "$loss" != "100" ]; then if [ "$localip" = "yes" ]; then #latency=$(echo "$ret" | grep rtt | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') @@ -236,11 +234,10 @@ _ping() { } OMR_TRACKER_LOSS="$loss" fi - return + return 0 fi - #) && echo "$ret" | grep -sq "bytes from" && { fi - false + return 1 } #' _httping() { @@ -266,7 +263,7 @@ _httping() { } OMR_TRACKER_LOSS="$loss" fi - return + return 0 fi else ret=$(httping -l "${host}" \ @@ -286,10 +283,10 @@ _httping() { } OMR_TRACKER_LOSS="$loss" fi - return + return 0 fi fi - false + return 1 } _dns() { @@ -303,13 +300,13 @@ _dns() { ) && echo "$ret" | grep -sq "1.1.1.1" && { OMR_TRACKER_LATENCY=$(echo "$ret" | awk '/Query time/{print $4}') #_update_rto "$OMR_TRACKER_LATENCY" - return + return 0 } - false + return 1 } _none() { - return + return 0 } _restart @@ -490,9 +487,6 @@ while true; do fi OMR_TRACKER_STATUS_MSG="check error" fi - else - #OMR_TRACKER_STATUS_MSG="" - OMR_TRACKER_STATUS="OK" fi else #OMR_TRACKER_STATUS_MSG="" @@ -607,9 +601,6 @@ while true; do fi OMR_TRACKER_STATUS_MSG="check error" fi - else - OMR_TRACKER_STATUS_MSG="" - OMR_TRACKER_STATUS="OK" fi else OMR_TRACKER_STATUS_MSG="" From 7688139d38e755cb9b207fb95b9283f7d567a743 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 13 Feb 2025 16:33:45 +0100 Subject: [PATCH 162/199] Fix openmptcprouter-api when no servers are reachable with dig --- openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter b/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter index 0d40b52a3..7b2f489ba 100755 --- a/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter +++ b/openmptcprouter-api/files/usr/libexec/rpcd/openmptcprouter @@ -814,7 +814,7 @@ function interfaces_status() local timeout = uci:get("openmptcprouter","settings","status_getip_timeout") or "1" local dns_test = "" if uci:get("openmptcprouter","settings","external_check") ~= "0" then - dns_test = sys.exec("dig +timeout=" .. timeout .. " +tries=1 openmptcprouter.com | grep 'ANSWER: 0'") + dns_test = sys.exec("dig +timeout=" .. timeout .. " +tries=1 openmptcprouter.com | grep -e 'ANSWER: 0' -e 'no servers could be reached'") end if dns_test == "" then mArray.openmptcprouter["dns"] = true From e3ff7ac7879aa3212026ef4ba43324f444fb81d9 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 10:49:45 +0100 Subject: [PATCH 163/199] Update omr-iperf script to automatically use current VPS and add omr-iperf-proxy and omr-iperf-vpn to check speed using VPN or Proxy --- openmptcprouter/files/bin/omr-iperf | 50 ++++++++++++++++++----- openmptcprouter/files/bin/omr-iperf-proxy | 1 + openmptcprouter/files/bin/omr-iperf-vpn | 1 + 3 files changed, 41 insertions(+), 11 deletions(-) create mode 120000 openmptcprouter/files/bin/omr-iperf-proxy create mode 120000 openmptcprouter/files/bin/omr-iperf-vpn diff --git a/openmptcprouter/files/bin/omr-iperf b/openmptcprouter/files/bin/omr-iperf index 5ee506a69..818b0385d 100755 --- a/openmptcprouter/files/bin/omr-iperf +++ b/openmptcprouter/files/bin/omr-iperf @@ -1,17 +1,45 @@ #!/bin/sh -SERVER=$1 -shift -[ -z "$SERVER" ] && SERVER="vps" -KEY=$(uci -q get iperf.$SERVER.key) -USER=$(uci -q get iperf.$SERVER.user) -PASSWORD=$(uci -q get iperf.$SERVER.password) -HOST=$(uci -q get iperf.$SERVER.host) -PORTS=$(uci -q get iperf.$SERVER.ports | sed 's/,/ /g') -PORT="${PORTS%% *}" -echo $KEY | base64 -d > /tmp/iperf.pem +# +# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +. /lib/functions.sh + +get_auth_data() { + SERVER="$1" + config_get current $SERVER current + if [ "$current" = "1" ]; then + KEY=$(uci -q get iperf.$SERVER.key) + USER=$(uci -q get iperf.$SERVER.user) + PASSWORD=$(uci -q get iperf.$SERVER.password) + HOST=$(uci -q get iperf.$SERVER.host) + PORTS=$(uci -q get iperf.$SERVER.ports | sed 's/,/ /g') + PORT="${PORTS%% *}" + fi +} + +config_load openmptcprouter +config_foreach get_auth_data server + if [ -n "$PASSWORD" ] && [ -n "$USER" ] && [ -n "$KEY" ]; then + echo $KEY | base64 -d > /tmp/iperf.pem #IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem --use-pkcs1-padding -c $HOST -p $PORT ${@} - IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $HOST -p $PORT ${@} + echo "machin: $0" + case "$0" in + *proxy) + IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $HOST -p $PORT --socks5 127.0.0.1:1111 ${@} + ;; + *vpn) + VPNIP=$(ip r show default metric 0 | awk '{ print $3 }' | tr -d '\n') + IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $VPNIP -p $PORT + ;; + *) + IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $HOST -p $PORT ${@} + ;; + esac else iperf3 -c $HOST -p $PORT ${@} fi diff --git a/openmptcprouter/files/bin/omr-iperf-proxy b/openmptcprouter/files/bin/omr-iperf-proxy new file mode 120000 index 000000000..9d54bfbd5 --- /dev/null +++ b/openmptcprouter/files/bin/omr-iperf-proxy @@ -0,0 +1 @@ +omr-iperf \ No newline at end of file diff --git a/openmptcprouter/files/bin/omr-iperf-vpn b/openmptcprouter/files/bin/omr-iperf-vpn new file mode 120000 index 000000000..9d54bfbd5 --- /dev/null +++ b/openmptcprouter/files/bin/omr-iperf-vpn @@ -0,0 +1 @@ +omr-iperf \ No newline at end of file From 5e94e170ed280c6b2ba6a405dfd3f56641022e49 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 12:42:55 +0100 Subject: [PATCH 164/199] Add a default smartdns configuration --- .../files/etc/uci-defaults/2094-smartdns | 133 ++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100755 openmptcprouter/files/etc/uci-defaults/2094-smartdns diff --git a/openmptcprouter/files/etc/uci-defaults/2094-smartdns b/openmptcprouter/files/etc/uci-defaults/2094-smartdns new file mode 100755 index 000000000..aa8a1b24d --- /dev/null +++ b/openmptcprouter/files/etc/uci-defaults/2094-smartdns @@ -0,0 +1,133 @@ +#!/bin/sh + +[ -n "$(uci -q get smartdns.@smartdns[0])" ] || exit 0 + +uci -q set smartdns.@smartdns[0].port='5355' +uci -q set smartdns.@smartdns[0].auto_set_dnsmasq='1' + +if [ -z "$(uci -q get smartdns.@server[0])" ]; then + uci -q batch <<-EOF >/dev/null + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='Cloudfare' + set smartdns.@server[-1].ip='1.1.1.1' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='Cloudfare' + set smartdns.@server[-1].ip='1.0.0.1' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='Cloudfare' + set smartdns.@server[-1].ip='2606:4700:4700::1111' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='Cloudfare' + set smartdns.@server[-1].ip='2606:4700:4700::1001' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='Google' + set smartdns.@server[-1].ip='8.8.8.8' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='Google' + set smartdns.@server[-1].ip='8.8.4.4' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='Google' + set smartdns.@server[-1].ip='2001:4860:4860::8888' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='Google' + set smartdns.@server[-1].ip='2001:4860:4860::8844' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='quad9' + set smartdns.@server[-1].ip='9.9.9.9' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='quad9' + set smartdns.@server[-1].ip='149.112.112.112' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='quad9' + set smartdns.@server[-1].ip='2620:fe::fe' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='quad9' + set smartdns.@server[-1].ip='2620:fe::9' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='quad9' + set smartdns.@server[-1].ip='https://dns.quad9.net/dns-query' + set smartdns.@server[-1].type='https' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='quad9' + set smartdns.@server[-1].ip='tls://dns.quad9.net' + set smartdns.@server[-1].type='tls' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='114dns' + set smartdns.@server[-1].ip='114.114.114.114' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='114dns' + set smartdns.@server[-1].ip='114.114.115.115' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='DNS.WATCH' + set smartdns.@server[-1].ip='84.200.69.80' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='DNS.WATCH' + set smartdns.@server[-1].ip='84.200.70.40' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='DNS.WATCH' + set smartdns.@server[-1].ip='2001:1608:10:25::1c04:b12f' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + add smartdns server + set smartdns.@server[-1].enabled='1' + set smartdns.@server[-1].name='DNS.WATCH' + set smartdns.@server[-1].ip='2001:1608:10:25::9249:d69b' + set smartdns.@server[-1].type='udp' + set smartdns.@server[-1].server_group='public' + EOF +fi +uci -q commit smartdns +exit 0 \ No newline at end of file From 3720e9b1a5c424ff667d7bb2997f6bec4110dc80 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 14:36:16 +0100 Subject: [PATCH 165/199] Disable smartdns by default --- openmptcprouter/files/etc/uci-defaults/2094-smartdns | 1 + 1 file changed, 1 insertion(+) diff --git a/openmptcprouter/files/etc/uci-defaults/2094-smartdns b/openmptcprouter/files/etc/uci-defaults/2094-smartdns index aa8a1b24d..d8c5d26e9 100755 --- a/openmptcprouter/files/etc/uci-defaults/2094-smartdns +++ b/openmptcprouter/files/etc/uci-defaults/2094-smartdns @@ -7,6 +7,7 @@ uci -q set smartdns.@smartdns[0].auto_set_dnsmasq='1' if [ -z "$(uci -q get smartdns.@server[0])" ]; then uci -q batch <<-EOF >/dev/null + set smartdns.@smartdns[0].enabled='1' add smartdns server set smartdns.@server[-1].enabled='1' set smartdns.@server[-1].name='Cloudfare' From c143a6bdc216ce05efccef1164623b09b008437a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 15:14:27 +0100 Subject: [PATCH 166/199] Set servers if empty in dnsmasq --- omr-schedule/files/usr/share/omr/schedule.d/010-services | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/omr-schedule/files/usr/share/omr/schedule.d/010-services b/omr-schedule/files/usr/share/omr/schedule.d/010-services index 6e4628bfe..b42f83f5e 100755 --- a/omr-schedule/files/usr/share/omr/schedule.d/010-services +++ b/omr-schedule/files/usr/share/omr/schedule.d/010-services @@ -53,6 +53,15 @@ if [ -f /etc/init.d/dnsmasq ]; then fi fi +if [ -f /etc/init.d/dnsmasq ] && [ -z "$(uci -q get dhcp.@dnsmasq[0].server)" ]; then + uci -q batch <<-EOF >/dev/null + add_list dhcp.dnsmasq1.server='127.0.0.1#5353' + add_list dhcp.dnsmasq1.server='/lan/' + add_list dhcp.dnsmasq1.server='/use-application-dns.net/' + commit dhcp + EOF +fi + if [ "$(pgrep openvpn)" = "" ] && [ -f /etc/init.d/openvpn ]; then openvpn_enable=0 openvpn_enabled() { From 6f54d07fcb66b1354296eb02afdd316896f306cf Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 15:15:12 +0100 Subject: [PATCH 167/199] Put correct interface state in omr-tracker post-tracking error and up scripts --- omr-tracker/files/usr/share/omr/post-tracking.d/002-error | 7 ++++++- omr-tracker/files/usr/share/omr/post-tracking.d/003-up | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error index c0cfbef11..e8f494d7f 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -12,6 +12,11 @@ interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e . /usr/share/omr/lib/common-post-tracking.sh +if [ "$OMR_TRACKER_STATUS" = "ERROR" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" != "down" ]; then + uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='down' + uci -q commit openmptcprouter +fi + # An interface in error will never be used in MPTCP if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$interface_up" != "true" ]; }; then #interface_autostart=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["autostart"]') diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up index 8c67bf96c..2279051a9 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2018-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -48,6 +48,12 @@ default_gw6=$(ip -6 route get 2606:4700:4700::1111 | grep via | awk '{print $3}' initcwrwnd="" interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]') +if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" != "up" ]; then + uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='up' + uci -q commit openmptcprouter +fi + + if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] || [ "$OMR_TRACKER_INTERFACE" = "omr6in4" ]; then if [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ]; then uci -q set openmptcprouter.omr.vpn='up' From 10677c82c595df417a28af5dc1a64b3bfdc647e8 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 15:15:27 +0100 Subject: [PATCH 168/199] Add syslog-ng package --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 66e39d60c..928b57808 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -95,7 +95,7 @@ MY_DEPENDS := \ !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-minrtt !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-bkup !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ kmod-ovpn-dco-v2 lspci \ TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware \ - luci-app-smartdns + luci-app-smartdns syslog-ng # !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax201 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax200 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax210 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax101 \ # !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware From 08e8f2ce44f2402e137d797bf5a936eb30f2bd09 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 15:54:09 +0100 Subject: [PATCH 169/199] Use logd --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 928b57808..eefdf3dc5 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -95,7 +95,7 @@ MY_DEPENDS := \ !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-minrtt !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-bkup !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ kmod-ovpn-dco-v2 lspci \ TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware \ - luci-app-smartdns syslog-ng + luci-app-smartdns logd # !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax201 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax200 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax210 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax101 \ # !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware From 5274b22d63f12b61cb38c3a123ab8731d359a681 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 16:46:01 +0100 Subject: [PATCH 170/199] Allow AT command without debug flag on ModemManager --- modemmanager/Config.in | 2 +- modemmanager/files/etc/init.d/modemmanager | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/modemmanager/Config.in b/modemmanager/Config.in index ebcb60dbc..345f39fd3 100644 --- a/modemmanager/Config.in +++ b/modemmanager/Config.in @@ -23,7 +23,7 @@ config MODEMMANAGER_WITH_QRTR config MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS bool "Allow AT commands via DBus" - default n + default y help Compile ModemManager allowing AT commands without debug flag diff --git a/modemmanager/files/etc/init.d/modemmanager b/modemmanager/files/etc/init.d/modemmanager index e34080837..8741aa6a1 100644 --- a/modemmanager/files/etc/init.d/modemmanager +++ b/modemmanager/files/etc/init.d/modemmanager @@ -25,8 +25,7 @@ start_service() { procd_open_instance "service" procd_set_param command /usr/sbin/ModemManager-wrapper procd_append_param command --log-level="$LOG_LEVEL" - #[ "$LOG_LEVEL" = "DEBUG" ] && procd_append_param command --debug - procd_append_param command --debug + [ "$LOG_LEVEL" = "DEBUG" ] && procd_append_param command --debug procd_set_param respawn "${respawn_threshold:-3600}" "${respawn_timeout:-5}" "${respawn_retry:-5}" procd_set_param pidfile "${MODEMMANAGER_PID_FILE}" procd_close_instance From 5e22d6484fb17e44058f4c041786d085babf4700 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 17:31:28 +0100 Subject: [PATCH 171/199] Workaround to be able to access VPS IP from local network --- shadowsocks-libev/files/nft-rules/chain.uc | 2 ++ shadowsocks-rust/files/nft-rules/chain.uc | 2 ++ v2ray-core/files/usr/share/v2ray-rules/chain.uc | 2 ++ xray-core/files/usr/share/xray-rules/chain.uc | 2 ++ 4 files changed, 8 insertions(+) diff --git a/shadowsocks-libev/files/nft-rules/chain.uc b/shadowsocks-libev/files/nft-rules/chain.uc index 9da09f27a..ce1faf783 100644 --- a/shadowsocks-libev/files/nft-rules/chain.uc +++ b/shadowsocks-libev/files/nft-rules/chain.uc @@ -72,6 +72,8 @@ if (proto == "tcp") { chain ss_rules_pre_{{ proto }} { type {{ type }} hook {{ hook }} priority {{ priority }}; + ip daddr @ss_rules_remote_servers accept; + ip6 daddr @ss_rules6_remote_servers accept; meta l4proto {{ proto }}{%- let ifnames=get_ifnames(); if (length(ifnames)): %} iifname { {{join(", ", ifnames)}} }{% endif %} goto ss_rules_pre_src_{{ proto }}; } diff --git a/shadowsocks-rust/files/nft-rules/chain.uc b/shadowsocks-rust/files/nft-rules/chain.uc index 9da09f27a..ce1faf783 100644 --- a/shadowsocks-rust/files/nft-rules/chain.uc +++ b/shadowsocks-rust/files/nft-rules/chain.uc @@ -72,6 +72,8 @@ if (proto == "tcp") { chain ss_rules_pre_{{ proto }} { type {{ type }} hook {{ hook }} priority {{ priority }}; + ip daddr @ss_rules_remote_servers accept; + ip6 daddr @ss_rules6_remote_servers accept; meta l4proto {{ proto }}{%- let ifnames=get_ifnames(); if (length(ifnames)): %} iifname { {{join(", ", ifnames)}} }{% endif %} goto ss_rules_pre_src_{{ proto }}; } diff --git a/v2ray-core/files/usr/share/v2ray-rules/chain.uc b/v2ray-core/files/usr/share/v2ray-rules/chain.uc index 34075d9c8..829768ab3 100644 --- a/v2ray-core/files/usr/share/v2ray-rules/chain.uc +++ b/v2ray-core/files/usr/share/v2ray-rules/chain.uc @@ -72,6 +72,8 @@ if (proto == "tcp") { chain v2r_rules_pre_{{ proto }} { type {{ type }} hook {{ hook }} priority {{ priority }}; + ip daddr @v2r_rules_remote_servers accept; + ip6 daddr @v2r_rules6_remote_servers accept; meta l4proto {{ proto }}{%- let ifnames=get_ifnames(); if (length(ifnames)): %} iifname { {{join(", ", ifnames)}} }{% endif %} goto v2r_rules_pre_src_{{ proto }}; } diff --git a/xray-core/files/usr/share/xray-rules/chain.uc b/xray-core/files/usr/share/xray-rules/chain.uc index be456b014..c0f8e3a25 100644 --- a/xray-core/files/usr/share/xray-rules/chain.uc +++ b/xray-core/files/usr/share/xray-rules/chain.uc @@ -72,6 +72,8 @@ if (proto == "tcp") { chain xr_rules_pre_{{ proto }} { type {{ type }} hook {{ hook }} priority {{ priority }}; + ip daddr @xr_rules_remote_servers accept; + ip6 daddr @xr_rules6_remote_servers accept; meta l4proto {{ proto }}{%- let ifnames=get_ifnames(); if (length(ifnames)): %} iifname { {{join(", ", ifnames)}} }{% endif %} goto xr_rules_pre_src_{{ proto }}; } From 8485e1a131b8809ae8cc6dab78ab03bbbdd287ef Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 14 Feb 2025 20:14:00 +0100 Subject: [PATCH 172/199] Add gl-mt2500 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bcdc7579a..bdae97318 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, r5c, z8109ax_128m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, gtl-mt2500, r5c, z8109ax_128m] OMR_KERNEL: [6.6, 6.12] runs-on: ubuntu-latest continue-on-error: true From a2a16e694797ed4954da0e782c332acd2ba8acdd Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 15 Feb 2025 07:10:22 +0100 Subject: [PATCH 173/199] Fix typo on compilation --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bdae97318..aadbc9774 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, gtl-mt2500, r5c, z8109ax_128m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, gl-mt2500, r5c, z8109ax_128m] OMR_KERNEL: [6.6, 6.12] runs-on: ubuntu-latest continue-on-error: true From 5f8fb6f1770b8a03e876d4f1ea1a3b00ae521ff8 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sun, 16 Feb 2025 16:00:45 +0100 Subject: [PATCH 174/199] Try to put back ethernet drivers --- openmptcprouter-full/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index eefdf3dc5..72dd8c976 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -95,7 +95,8 @@ MY_DEPENDS := \ !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-minrtt !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-bkup !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ kmod-ovpn-dco-v2 lspci \ TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware \ - luci-app-smartdns logd + luci-app-smartdns logd \ + !TARGET_ipq40xx:kmod-rt2800-usb !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware # !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax201 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax200 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax210 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax101 \ # !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware From 872f59b2377e9a61a4ecd4d6557a15036e944c6d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sun, 16 Feb 2025 16:02:19 +0100 Subject: [PATCH 175/199] Remove ndpi disable box as nDPI is not available anymore in luci-app-openmptcprouter --- .../luasrc/view/openmptcprouter/settings.htm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index c858eac44..0eb974a41 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -403,6 +403,7 @@
+
From bd4da820704bcd0a5872688de4a697f5fa25dae3 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 17 Feb 2025 14:53:19 +0100 Subject: [PATCH 176/199] Fix default gateway detection on multi VPN conf in omr-tracker post-tracking up script --- omr-tracker/files/usr/share/omr/post-tracking.d/003-up | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up index 2279051a9..995bc7ebd 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up @@ -187,7 +187,7 @@ if [ "$multipath_config" = "master" ]; then if { [ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; } && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then omrvpn_intf=$(uci -q get "network.omrvpn.device" || echo "tun0") [ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun0") - if [ -n "$omrvpn_intf" ] && [ "$(ip route show default metric 0 | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then + if [ -n "$omrvpn_intf" ] && [ "$(ip route show default metric 0 | grep $omrvpn_intf)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then _log "Master up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE" ip route replace default scope global metric 1 via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd >/dev/null 2>&1 fi From 47911635cf0bb2e29c75e3b4bd96d4bd65d64387 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 17 Feb 2025 14:53:54 +0100 Subject: [PATCH 177/199] Add more drivers in openmptcprouter-full --- openmptcprouter-full/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 72dd8c976..4e85be0bf 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -96,8 +96,9 @@ MY_DEPENDS := \ kmod-ovpn-dco-v2 lspci \ TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware \ luci-app-smartdns logd \ - !TARGET_ipq40xx:kmod-rt2800-usb !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware - + !TARGET_ipq40xx:kmod-rt2800-usb !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware \ + !TARGET_ipq40xx:kmod-usb-net-rtl8152 + # !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax201 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax200 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax210 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax101 \ # !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware From e262441c40ebeca2a29e34ff0dc387b7d80bd0a8 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 17 Feb 2025 14:59:23 +0100 Subject: [PATCH 178/199] Fix VPN IP detection in omr-iperf --- openmptcprouter/files/bin/omr-iperf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openmptcprouter/files/bin/omr-iperf b/openmptcprouter/files/bin/omr-iperf index 818b0385d..1b1eae790 100755 --- a/openmptcprouter/files/bin/omr-iperf +++ b/openmptcprouter/files/bin/omr-iperf @@ -27,13 +27,12 @@ config_foreach get_auth_data server if [ -n "$PASSWORD" ] && [ -n "$USER" ] && [ -n "$KEY" ]; then echo $KEY | base64 -d > /tmp/iperf.pem #IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem --use-pkcs1-padding -c $HOST -p $PORT ${@} - echo "machin: $0" case "$0" in *proxy) IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $HOST -p $PORT --socks5 127.0.0.1:1111 ${@} ;; *vpn) - VPNIP=$(ip r show default metric 0 | awk '{ print $3 }' | tr -d '\n') + VPNIP=$(ip r show default metric 0 | awk '{ if (length($3) != 0) { print $3; exit; } }' | tr -d '\n') IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $VPNIP -p $PORT ;; *) From ffe9f680648852344c565b27120c01c39a4c6e90 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 17 Feb 2025 18:22:26 +0100 Subject: [PATCH 179/199] Delete bridge created at boot in openmptcprouter uci-defaults omr-network script --- .../files/etc/uci-defaults/1920-omr-network | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index a24a88a0d..19cfe313e 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -209,11 +209,11 @@ if [ -z "$(uci -q show network | grep device)" ]; then fi # Delete all bridges -#if [ -n "$(uci -q show network | grep bridge)" ]; then -# for bridge in $(uci -q show network | awk -F. '/bridge/ { print $2}'); do -# uci -q delete network.${bridge} -# done -#fi +if [ -n "$(uci -q show network | grep bridge)" ]; then + for bridge in $(uci -q show network | awk -F. '/bridge/ { print $2}'); do + uci -q delete network.${bridge} + done +fi uci -q batch <<-EOF delete network.none From 4904bf3f83c55275debf1cbcd1fcbc9e6cdc1c15 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 18 Feb 2025 14:06:57 +0100 Subject: [PATCH 180/199] Add BPI-R4 network config --- .../files/etc/uci-defaults/1920-omr-network | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index 19cfe313e..e897371d0 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -106,6 +106,8 @@ fi lanif="eth0" if [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "friendlyarm,nanopi-r5c" ]; then lanif="eth0" +elif [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "bananapi,bpi-r4" ] || [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "bananapi,bpi-r4-poe" ]; then + lanif="wan" elif [ "$(grep rockchip /etc/os-release)" != "" ]; then lanif="eth1" elif [ "$(grep filogic /etc/os-release)" != "" ]; then @@ -259,6 +261,10 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get _setup_wan_interface wan2 eth1.2 on _setup_wan_interface wan3 eth1.3 on _setup_wan_interface wan4 eth1.4 on + elif [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "bananapi,bpi-r4" ] || [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "bananapi,bpi-r4-poe" ]; then + _setup_wan_interface wan1 lan1 master + _setup_wan_interface wan2 lan2 on + _setup_wan_interface wan3 lan3 on elif [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "friendlyarm,nanopi-r5c" ]; then _setup_wan_interface wan1 eth1 master macvlan _setup_wan_interface wan2 eth1 on macvlan @@ -402,8 +408,8 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get _setup_wan_interface wan2 lan3 on _setup_wan_interface wan3 lan4 on if [ -d /sys/class/net/10g-1 ] && [ -d /sys/class/net/10g-2 ]; then - _setup_wan_interface wan3 10g-1 on - _setup_wan_interface wan3 10g-2 on + _setup_wan_interface wan4 10g-1 on + _setup_wan_interface wan5 10g-2 on fi else _setup_wan_interface wan1 eth0 master macvlan From 25ed9291916c8b96fb574feffbe2bc99ec7fc17f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 18 Feb 2025 19:59:42 +0100 Subject: [PATCH 181/199] Set modem path on z810* only if modems use ModemManager --- .../files/usr/share/omr/post-tracking.d/001-initialize | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize b/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize index 6ce92dd52..c9ae16e11 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize @@ -28,7 +28,7 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$OMR_TR fi fi -if [ -n "$(grep z8102ax /etc/board.json)" ]; then +if [ -n "$(grep z8102ax /etc/board.json)" ] && [ "$(uci -q get network.modem1.proto)" = "modemmanager" ]; then if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1 ]; then uci -q batch <<-EOF set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' @@ -42,7 +42,7 @@ if [ -n "$(grep z8102ax /etc/board.json)" ]; then fi [ -n "$(uci -q changes network)" ] && uci -q commit network fi -if [ -n "$(grep z8109ax /etc/board.json)" ]; then +if [ -n "$(grep z8109ax /etc/board.json)" ] && [ "$(uci -q get network.modem1.proto)" = "modemmanager" ]; then if [ -e /sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1 ]; then uci -q batch <<-EOF set network.modem1.device='/sys/devices/platform/soc/11200000.usb/usb1/1-1/1-1.1' From 4fbed72689fabc977e1f8d4f4454726de5bfe190 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 18 Feb 2025 20:00:23 +0100 Subject: [PATCH 182/199] Add lan5 in omr-network default script --- openmptcprouter/files/etc/uci-defaults/1920-omr-network | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index e897371d0..6572e6158 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -346,6 +346,10 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get _setup_wan_interface wan4 lan4 on _macaddr=$(uci -q get "network.lan4.macaddr") _setup_macaddr "wan4" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" + if [ -d /sys/class/net/lan5 -o -n "$(ip link | grep ' lan5')" ]; then + _macaddr=$(uci -q get "network.lan5.macaddr") + _setup_macaddr "wan5" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" + fi elif [ -d /sys/class/net/wan1 ] || [ -n "$(ip link | grep ' wan1')" ]; then if [ -d /sys/class/net/wan2 ] || [ -n "$(ip link | grep ' wan2')" ]; then _setup_wan_interface wan1 wan1 master From 6b1c634a9fc33da53de160feded1149b3b4c4edd Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 18 Feb 2025 20:00:58 +0100 Subject: [PATCH 183/199] Add proper exit in firewall.*ray-rules --- v2ray-core/files/etc/firewall.v2ray-rules | 1 + xray-core/files/etc/firewall.xray-rules | 1 + 2 files changed, 2 insertions(+) diff --git a/v2ray-core/files/etc/firewall.v2ray-rules b/v2ray-core/files/etc/firewall.v2ray-rules index a76fa56c0..c31714bae 100644 --- a/v2ray-core/files/etc/firewall.v2ray-rules +++ b/v2ray-core/files/etc/firewall.v2ray-rules @@ -1,2 +1,3 @@ #!/bin/sh [ "$(uci -q get v2ray.main_dns.enabled)" = "1" ] && /etc/init.d/v2ray rules_up +exit 0 \ No newline at end of file diff --git a/xray-core/files/etc/firewall.xray-rules b/xray-core/files/etc/firewall.xray-rules index 2a82fba79..2d12daae6 100644 --- a/xray-core/files/etc/firewall.xray-rules +++ b/xray-core/files/etc/firewall.xray-rules @@ -1,2 +1,3 @@ #!/bin/sh [ "$(uci -q get xray.main_dns.enabled)" = "1" ] && /etc/init.d/xray rules_up +exit 0 \ No newline at end of file From 663eb52af939194175432a131378460ead667699 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 19 Feb 2025 20:10:32 +0100 Subject: [PATCH 184/199] Remove FW rules for shadowsocks* if down in all cases --- omr-tracker/files/bin/omr-tracker-ss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index c98ae7f08..298ed45c6 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -164,10 +164,10 @@ while true; do OMR_TRACKER_STATUS_MSG="Shadowsocks $type ${server} is down (can't contact via http ${nocontact})" uci -q set openmptcprouter.omr.ss_${server}="down" uci -q commit openmptcprouter.omr - if [ "$(uci show openmptcprouter.omr | grep ss_ | grep up)" = "" ]; then + #if [ -z "$(uci show openmptcprouter.omr | grep ss_ | grep up)" ]; then [ "$type" = "libev" ] && /etc/init.d/shadowsocks-libev rules_down 2> /dev/null [ "$type" = "rust" ] && /etc/init.d/shadowsocks-rust rules_down 2> /dev/null - fi + #fi _get_ip server_ping=false if [ "$type" = "libev" ]; then From 0fe39c99f30af91ee56d70ae4c75574887851255 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 20 Feb 2025 16:41:50 +0100 Subject: [PATCH 185/199] Add glinet mt3000 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aadbc9774..0f1fe5ec1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, gl-mt2500, r5c, z8109ax_128m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, gl-mt3000, gl-mt2500, r5c, z8109ax_128m] OMR_KERNEL: [6.6, 6.12] runs-on: ubuntu-latest continue-on-error: true From ef81670d8329d2aebe1e50d0b312ae767229d269 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 20 Feb 2025 16:43:00 +0100 Subject: [PATCH 186/199] Change function to check is mbim/modemmanager is installed in luci-proto-mbim and luci-proto-modemmanager --- luci-proto-mbim/htdocs/luci-static/resources/protocol/mbim.js | 2 +- .../htdocs/luci-static/resources/protocol/modemmanager.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/luci-proto-mbim/htdocs/luci-static/resources/protocol/mbim.js b/luci-proto-mbim/htdocs/luci-static/resources/protocol/mbim.js index 72bb9f7ba..85b101ec2 100644 --- a/luci-proto-mbim/htdocs/luci-static/resources/protocol/mbim.js +++ b/luci-proto-mbim/htdocs/luci-static/resources/protocol/mbim.js @@ -28,7 +28,7 @@ return network.registerProtocol('mbim', { return this._ubus('l3_device') || 'mbim-%s'.format(this.sid); }, - getOpkgPackage: function() { + getPackageName: function() { return 'umbim'; }, diff --git a/luci-proto-modemmanager/htdocs/luci-static/resources/protocol/modemmanager.js b/luci-proto-modemmanager/htdocs/luci-static/resources/protocol/modemmanager.js index c918a1d74..b7a0d44b8 100644 --- a/luci-proto-modemmanager/htdocs/luci-static/resources/protocol/modemmanager.js +++ b/luci-proto-modemmanager/htdocs/luci-static/resources/protocol/modemmanager.js @@ -25,7 +25,7 @@ return network.registerProtocol('modemmanager', { return this._ubus('l3_device') || 'modemmanager-%s'.format(this.sid); }, - getOpkgPackage: function() { + getPackageName: function() { return 'modemmanager'; }, From 75f131b6483e4da6025d9b52239e35f08f160069 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 20 Feb 2025 16:43:46 +0100 Subject: [PATCH 187/199] Fix send VPN IPs to VPS in openmptcprouter-vps init script --- openmptcprouter/files/etc/init.d/openmptcprouter-vps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 95b943f11..34006ddb0 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -1015,7 +1015,7 @@ _set_vpn_ip() { vpnip_local_current="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.remoteip')" vpnip_local=$(ip -4 -br addr ls dev ${vpnifname} | awk -F'[ /]+' '{print $3}') vpnip_remote_current="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.localip')" - vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep via | grep -v default | grep -v / | grep -v metric | awk '{print $1}' | tr -d "\n") + vpnip_remote=$(ip -4 r show default dev ${vpnifname} | awk '{print $3}' | tr -d "\n") [ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep kernel | awk '{print $1}' | tr -d "\n") [ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep "proto static src" | awk '{print $3}' | tr -d "\n") [ -z "$vpnip_remote" ] && vpnip_remote=$(ifstatus omrvpn | jsonfilter -e '@.route[0].nexthop') From c96a4d823f059e538c4e3606f099c87e1d348ab4 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 20 Feb 2025 17:30:19 +0100 Subject: [PATCH 188/199] Update Rust to 1.84.0 --- rust/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust/Makefile b/rust/Makefile index 4b45b9c01..cf2fa5cde 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -6,13 +6,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rust -PKG_VERSION:=1.81.0 +PKG_VERSION:=1.84.0 PKG_RELEASE:=2 PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.gz PKG_SOURCE_URL:=https://static.rust-lang.org/dist/ -PKG_HASH:=872448febdff32e50c3c90a7e15f9bb2db131d13c588fe9071b0ed88837ccfa7 +PKG_HASH:=15cee7395b07ffde022060455b3140366ec3a12cbbea8f1ef2ff371a9cca51bf HOST_BUILD_DIR:=$(BUILD_DIR)/host/rustc-$(PKG_VERSION)-src PKG_MAINTAINER:=Luca Barbato From 49681cc60dfffb7f37248b0cd5dabed388b7725f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 20 Feb 2025 17:39:06 +0100 Subject: [PATCH 189/199] Do not reset modem when in registered mode in omr-tracker post-tracking error script --- omr-tracker/files/usr/share/omr/post-tracking.d/002-error | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error index e8f494d7f..55395a6f0 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error @@ -74,8 +74,8 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120') elif [ "$mm_state" = "registered" ]; then _log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) registered, reset it" - #ifup $OMR_TRACKER_INTERFACE - /usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1 + ifup $OMR_TRACKER_INTERFACE + #/usr/bin/mmcli -m ${modem} -r >/dev/null 2>&1 sleep $(uci -q get network.$OMR_TRACKER_INTERFACE.delay || echo '120') elif [ "$mm_state" = "locked" ]; then mm_unlock_required=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.unlock-required") From 2895aa8dbd48006f2de5195176fe348009dafcbf Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Feb 2025 14:32:27 +0100 Subject: [PATCH 190/199] Do not configure lan4 and lan5 on z8109ax --- .../files/etc/uci-defaults/1920-omr-network | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index 6572e6158..61b3e5ebb 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -342,13 +342,15 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get _setup_macaddr "wan2" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" _setup_wan_interface wan3 lan3 on _macaddr=$(uci -q get "network.lan3.macaddr") - _setup_macaddr "wan3" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" - _setup_wan_interface wan4 lan4 on - _macaddr=$(uci -q get "network.lan4.macaddr") - _setup_macaddr "wan4" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" - if [ -d /sys/class/net/lan5 -o -n "$(ip link | grep ' lan5')" ]; then - _macaddr=$(uci -q get "network.lan5.macaddr") - _setup_macaddr "wan5" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" + if [ -z "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | grep z8109)" ]; then + _setup_macaddr "wan3" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" + _setup_wan_interface wan4 lan4 on + _macaddr=$(uci -q get "network.lan4.macaddr") + _setup_macaddr "wan4" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" + if [ -d /sys/class/net/lan5 -o -n "$(ip link | grep ' lan5')" ]; then + _macaddr=$(uci -q get "network.lan5.macaddr") + _setup_macaddr "wan5" "${_macaddr:-$(dd if=/dev/urandom bs=1024 count=1 2>/dev/null | md5sum | sed -e 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/' -e 's/^\(.\)[13579bdf]/\10/')}" + fi fi elif [ -d /sys/class/net/wan1 ] || [ -n "$(ip link | grep ' wan1')" ]; then if [ -d /sys/class/net/wan2 ] || [ -n "$(ip link | grep ' wan2')" ]; then From 29295ad74455aaab82744a05bfe6461344cb9812 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Feb 2025 18:31:27 +0100 Subject: [PATCH 191/199] Test for z8102 emmc support --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0f1fe5ec1..8b4cefc8b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, gl-mt6000, gl-mt3000, gl-mt2500, r5c, z8109ax_128m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, z8102-emmc, gl-mt6000, gl-mt3000, gl-mt2500, r5c, z8109ax_128m] OMR_KERNEL: [6.6, 6.12] runs-on: ubuntu-latest continue-on-error: true From 26af9f5abc1e10b9543ef7b95f393a4601b8fd90 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 21 Feb 2025 20:51:26 +0100 Subject: [PATCH 192/199] Disable DHCP log --- openmptcprouter/files/etc/uci-defaults/2000-omr-dhcp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openmptcprouter/files/etc/uci-defaults/2000-omr-dhcp b/openmptcprouter/files/etc/uci-defaults/2000-omr-dhcp index 5ad19ac9e..e320f727f 100755 --- a/openmptcprouter/files/etc/uci-defaults/2000-omr-dhcp +++ b/openmptcprouter/files/etc/uci-defaults/2000-omr-dhcp @@ -10,5 +10,9 @@ if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "0" ]; then EOF rm -f /tmp/luci-indexcache fi +uci -q batch <<-EOF >/dev/null + set dhcp.@dnsmasq[0].quietdhcp='1' + commit dhcp +EOF exit 0 From 31f404e8a5cdf72c196cc0097b70f2acf3e3f9ce Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sat, 22 Feb 2025 09:11:34 +0100 Subject: [PATCH 193/199] Fix typo to build z8102ax-emmc --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8b4cefc8b..837a083b9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, z8102-emmc, gl-mt6000, gl-mt3000, gl-mt2500, r5c, z8109ax_128m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m, z8102ax-emmc, gl-mt6000, gl-mt3000, gl-mt2500, r5c, z8109ax_128m] OMR_KERNEL: [6.6, 6.12] runs-on: ubuntu-latest continue-on-error: true From 9e4fdc34208f38143102e1a35a41f3dad26d3b01 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 25 Feb 2025 14:21:20 +0100 Subject: [PATCH 194/199] Fix IPv6 in openmptcprouter-vps init script --- .../files/etc/init.d/openmptcprouter-vps | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index 34006ddb0..d63ee38cb 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -1,5 +1,5 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) +# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) # Released under GPL 3. See LICENSE for the full terms. START=99 @@ -45,19 +45,19 @@ _login() { server=$1 [ -n "$token" ] && return #auth=`curl --max-time 10 -s -k -H "Content-Type: application/json" -X POST -d '{"username":"'$username'","password":"'$password'"}' https://$server:$serverport/login` - resolve="$(resolveip -t 5 $server)" + #resolve="$(resolveip -t 5 $server)" valid_ip6=$(valid_subnet6 $server) - if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then - auth=`curl --max-time 10 -s -k -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` - else + if [ "$valid_ip6" = "ok" ]; then auth=`curl --max-time 10 -s -k -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://[$server]:$serverport/token` + else + auth=`curl --max-time 10 -s -k -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` fi if [ -z "$auth" ]; then for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do - if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then - auth=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` - else + if [ "$valid_ip6" = "ok" ]; then auth=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://[$server]:$serverport/token` + else + auth=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -X POST -d 'username='$username'&password='$password https://$server:$serverport/token` fi [ -n "$auth" ] && break done @@ -85,17 +85,17 @@ _get_json() { [ -n "$token" ] && { resolve="$(resolveip -t 5 $server)" valid_ip6=$(valid_subnet6 $server) - if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then - result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` - else + if [ "$valid_ip6" = "ok" ]; then result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://[$server]:$serverport/$route` + else + result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` fi if [ -z "$result" ]; then for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do - if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then - result=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` - else + if [ "$valid_ip6" = "ok" ]; then result=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Authorization: Bearer $token" https://[$server]:$serverport/$route` + else + result=`curl --max-time 10 -s -k --interface $intf -H "accept: application/json" -H "Authorization: Bearer $token" https://$server:$serverport/$route` fi [ -n "$result" ] && break done @@ -117,17 +117,17 @@ _set_json() { [ -n "$token" ] && { resolve="$(resolveip -t 5 $server)" valid_ip6=$(valid_subnet6 $server) - if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then - result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` - else + if [ "$valid_ip6" = "ok" ]; then result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://[$server]:$serverport/$route` + else + result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` fi if [ -z "$result" ]; then for intf in $(multipath 2>/dev/null | awk '/default/ { print $1 }'); do - if [ "$resolve" != "$server" ] || [ "$valid_ip6" != "ok" ]; then - result=`curl --max-time 10 -s -k --interface $intf -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` - else + if [ "$valid_ip6" = "ok" ]; then result=`curl --max-time 10 -s -k --interface $intf -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://[$server]:$serverport/$route` + else + result=`curl --max-time 10 -s -k --interface $intf -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://$server:$serverport/$route` fi [ -n "$result" ] && break done @@ -1013,11 +1013,11 @@ _set_vpn_ip() { [ "$(uci -q get openmptcprouter.settings.vpn)" = "none" ] && return vpnifname="$(uci -q get network.omrvpn.device)" vpnip_local_current="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.remoteip')" - vpnip_local=$(ip -4 -br addr ls dev ${vpnifname} | awk -F'[ /]+' '{print $3}') + vpnip_local=$(ip -4 -br addr ls dev ${vpnifname} 2>/dev/null | awk -F'[ /]+' '{print $3}') vpnip_remote_current="$(echo "$vps_config" | jsonfilter -q -e '@.vpn.localip')" vpnip_remote=$(ip -4 r show default dev ${vpnifname} | awk '{print $3}' | tr -d "\n") - [ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep kernel | awk '{print $1}' | tr -d "\n") - [ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} | grep "proto static src" | awk '{print $3}' | tr -d "\n") + [ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} 2>/dev/null | grep kernel | awk '{print $1}' | tr -d "\n") + [ -z "$vpnip_remote" ] && [ -n "$vpnifname" ] && vpnip_remote=$(ip -4 r list dev ${vpnifname} 2>/dev/null | grep "proto static src" | awk '{print $3}' | tr -d "\n") [ -z "$vpnip_remote" ] && vpnip_remote=$(ifstatus omrvpn | jsonfilter -e '@.route[0].nexthop') [ -z "$vpnip_remote" ] && [ "$vpnifname" = "bonding-omrvpn" ] && vpnip_remote="10.255.248.1" ula="$(uci -q get network.globals.ula_prefix)" From a68cd6cbc713b2718ca5f7d273c299b2e0a26c29 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 25 Feb 2025 19:50:04 +0100 Subject: [PATCH 195/199] Add a missing space in omr-tracker --- omr-tracker/files/bin/omr-tracker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index 4b0554213..c2c9d9b35 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -678,7 +678,7 @@ while true; do if [ -n "$OMR_TRACKER_LOSS" ] && [ -n "$OMR_TRACKER_RECOVERY_LOSS" ] && [ "$OMR_TRACKER_LOSS" -ge "$OMR_TRACKER_FAILURE_LOSS" ]; then OMR_TRACKER_STATUS="ERROR" OMR_TRACKER_STATUS_MSG="Packet loss is $OMR_TRACKER_LOSS this is more than failure limit defined at $OMR_TRACKER_FAILURE_LOSS" - elif [ -n "$OMR_TRACKER_LATENCY" ] && [ -n "$OMR_TRACKER_FAILURE_LATENCY"] && [ "$OMR_TRACKER_LATENCY" -ge "$OMR_TRACKER_FAILURE_LATENCY" ]; then + elif [ -n "$OMR_TRACKER_LATENCY" ] && [ -n "$OMR_TRACKER_FAILURE_LATENCY" ] && [ "$OMR_TRACKER_LATENCY" -ge "$OMR_TRACKER_FAILURE_LATENCY" ]; then OMR_TRACKER_STATUS="ERROR" OMR_TRACKER_STATUS_MSG="Latency is $OMR_TRACKER_LATENCY this is more than failure limit defined at $OMR_TRACKER_FAILURE_LATENCY" fi From c12e49844e45c50159cf860193aceeea38e0a36b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 26 Feb 2025 11:00:37 +0100 Subject: [PATCH 196/199] Update Rust to 1.85.0 --- rust/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust/Makefile b/rust/Makefile index cf2fa5cde..6f434baf3 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -6,13 +6,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rust -PKG_VERSION:=1.84.0 +PKG_VERSION:=1.85.0 PKG_RELEASE:=2 PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.gz PKG_SOURCE_URL:=https://static.rust-lang.org/dist/ -PKG_HASH:=15cee7395b07ffde022060455b3140366ec3a12cbbea8f1ef2ff371a9cca51bf +PKG_HASH:=2f4f3142ffb7c8402139cfa0796e24baaac8b9fd3f96b2deec3b94b4045c6a8a HOST_BUILD_DIR:=$(BUILD_DIR)/host/rustc-$(PKG_VERSION)-src PKG_MAINTAINER:=Luca Barbato From ad7ecd87e2b392579591d56eceb6f5db773eb715 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 4 Mar 2025 15:12:55 +0100 Subject: [PATCH 197/199] Update luci-mod-network from OpenWRT --- luci-mod-network/Makefile | 2 +- .../luci-static/resources/tools/network.js | 481 +++++++++++- .../resources/view/network/dhcp.js | 696 +++++++++++++----- .../resources/view/network/interfaces.js | 195 ++--- .../resources/view/network/routes.js | 45 +- .../resources/view/network/wireless.js | 354 ++++++--- 6 files changed, 1375 insertions(+), 398 deletions(-) diff --git a/luci-mod-network/Makefile b/luci-mod-network/Makefile index 6148f98b4..df9682b71 100644 --- a/luci-mod-network/Makefile +++ b/luci-mod-network/Makefile @@ -4,7 +4,7 @@ # # This is free software, licensed under the Apache License, Version 2.0 . # -# From https://github.com/openwrt/luci/commit/b88157e69a060ade618e48b30947729310935d61 +# From https://github.com/openwrt/luci/commit/29fe3f5fdad6bc7c72799adff22847a6e257f7c0 include $(TOPDIR)/rules.mk diff --git a/luci-mod-network/htdocs/luci-static/resources/tools/network.js b/luci-mod-network/htdocs/luci-static/resources/tools/network.js index dfe9796c4..ab0680e2f 100644 --- a/luci-mod-network/htdocs/luci-static/resources/tools/network.js +++ b/luci-mod-network/htdocs/luci-static/resources/tools/network.js @@ -198,7 +198,7 @@ var cbiFlagTristate = form.ListValue.extend({ this.vallist[0] = sysdef ? _('automatic (enabled)') : _('automatic (disabled)'); } - return this.super('renderWidget', [section_id, option_index, cfgvalue]); + return this.super('renderWidget', [section_id, option_index, cfgvalue ? cfgvalue + '!' : null]); } }); @@ -364,6 +364,64 @@ var cbiTagValue = form.Value.extend({ }); return baseclass.extend({ + + protocols: [ // name, proto number, description + { n: 'hopopt', i: 0, d: 'HOPOPT' }, + { n: 'icmp', i: 1, d: 'ICMP' }, + { n: 'igmp', i: 2, d: 'IGMP' }, + { n: 'ggp', i: 3, d: 'GGP' }, + { n: 'ipencap', i: 4, d: 'IP-ENCAP' }, + { n: 'st', i: 5, d: 'ST' }, + { n: 'tcp', i: 6, d: 'TCP' }, + { n: 'egp', i: 8, d: 'EGP' }, + { n: 'igp', i: 9, d: 'IGP' }, + { n: 'pup', i: 12, d: 'PUP' }, + { n: 'udp', i: 17, d: 'UDP' }, + { n: 'hmp', i: 20, d: 'HMP' }, + { n: 'xns-idp', i: 22, d: 'XNS-IDP' }, + { n: 'rdp', i: 27, d: 'RDP' }, + { n: 'iso-tp4', i: 29, d: 'ISO-TP4' }, + { n: 'dccp', i: 33, d: 'DCCP' }, + { n: 'xtp', i: 36, d: 'XTP' }, + { n: 'ddp', i: 37, d: 'DDP' }, + { n: 'idpr-cmtp', i: 38, d: 'IDPR-CMTP' }, + { n: 'ipv6', i: 41, d: 'IPv6' }, + { n: 'ipv6-route', i: 43, d: 'IPv6-Route' }, + { n: 'ipv6-frag', i: 44, d: 'IPv6-Frag' }, + { n: 'idrp', i: 45, d: 'IDRP' }, + { n: 'rsvp', i: 46, d: 'RSVP' }, + { n: 'gre', i: 47, d: 'GRE' }, + { n: 'esp', i: 50, d: 'IPSEC-ESP' }, + { n: 'ah', i: 51, d: 'IPSEC-AH' }, + { n: 'skip', i: 57, d: 'SKIP' }, + { n: 'icmpv6', i: 58, d: 'IPv6-ICMP' }, + { n: 'ipv6-nonxt', i: 59, d: 'IPv6-NoNxt' }, + { n: 'ipv6-opts', i: 60, d: 'IPv6-Opts' }, + { n: 'rspf', i: 73, d: 'CPHB' }, + { n: 'vmtp', i: 81, d: 'VMTP' }, + { n: 'eigrp', i: 88, d: 'EIGRP' }, + { n: 'ospf', i: 89, d: 'OSPFIGP' }, + { n: 'ax.25', i: 93, d: 'AX.25' }, + { n: 'ipip', i: 94, d: 'IPIP' }, + { n: 'etherip', i: 97, d: 'ETHERIP' }, + { n: 'encap', i: 98, d: 'ENCAP' }, + { n: 'pim', i: 103, d: 'PIM' }, + { n: 'ipcomp', i: 108, d: 'IPCOMP' }, + { n: 'vrrp', i: 112, d: 'VRRP' }, + { n: 'l2tp', i: 115, d: 'L2TP' }, + { n: 'isis', i: 124, d: 'ISIS' }, + { n: 'sctp', i: 132, d: 'SCTP' }, + { n: 'fc', i: 133, d: 'FC' }, + { n: 'mobility-header', i: 135, d: 'Mobility-Header' }, + { n: 'udplite', i: 136, d: 'UDPLite' }, + { n: 'mpls-in-ip', i: 137, d: 'MPLS-in-IP' }, + { n: 'manet', i: 138, d: 'MANET' }, + { n: 'hip', i: 139, d: 'HIP' }, + { n: 'shim6', i: 140, d: 'Shim6' }, + { n: 'wesp', i: 141, d: 'WESP' }, + { n: 'rohc', i: 142, d: 'ROHC' }, + ], + replaceOption: function(s, tabName, optionClass, optionName, optionTitle, optionDescription) { var o = s.getOption(optionName); @@ -392,16 +450,21 @@ return baseclass.extend({ s.tab('brport', _('Bridge port specific options')); s.tab('bridgevlan', _('Bridge VLAN filtering')); - o = this.replaceOption(s, 'devgeneral', form.ListValue, 'type', _('Device type')); + o = this.replaceOption(s, 'devgeneral', form.ListValue, 'type', _('Device type'), + !L.hasSystemFeature('bonding') && isNew ? ''+ + _('For bonding, install %s').format('kmod-bonding') + '' : null); o.readonly = !isNew; o.value('', _('Network device')); + if (L.hasSystemFeature('bonding')) { + o.value('bonding', _('Bonding/Aggregation device')); + } o.value('bridge', _('Bridge device')); o.value('8021q', _('VLAN (802.1q)')); o.value('8021ad', _('VLAN (802.1ad)')); o.value('macvlan', _('MAC VLAN')); o.value('veth', _('Virtual Ethernet')); o.validate = function(section_id, value) { - if (value == 'bridge' || value == 'veth') + if (value == 'bonding' || value == 'bridge' || value == 'veth') updatePlaceholders(this.section.getOption('name_complex'), section_id); return true; @@ -519,7 +582,397 @@ return baseclass.extend({ o.depends('type', '8021q'); o.depends('type', '8021ad'); - o = this.replaceOption(s, 'devgeneral', widgets.DeviceSelect, 'ifname_multi', _('Bridge ports')); + o = this.replaceOption(s, 'devgeneral', widgets.DeviceSelect, 'ifname_multi-bond', _('Aggregation ports')); + o.size = 10; + o.rmempty = true; + o.multiple = true; + o.noaliases = true; + o.nobridges = true; + o.ucioption = 'ports'; + o.default = L.toArray(dev ? dev.getPorts() : null).filter(function(p) { return p.getType() != 'wifi' }).map(function(p) { return p.getName() }); + o.filter = function(section_id, device_name) { + var bridge_name = uci.get('network', section_id, 'name'), + choice_dev = network.instantiateDevice(device_name), + parent_dev = choice_dev.getParent(); + + /* only show wifi networks which are already present in "option ifname" */ + if (choice_dev.getType() == 'wifi') { + var ifnames = L.toArray(uci.get('network', section_id, 'ports')); + + for (var i = 0; i < ifnames.length; i++) + if (ifnames[i] == device_name) + return true; + + return false; + } + + return (!parent_dev || parent_dev.getName() != bridge_name); + }; + o.description = _('Specifies the wired ports to attach to this bonding.') + o.onchange = function(ev, section_id, values) { + ss.updatePorts(values); + + return ss.parse().then(function() { + ss.redraw(); + }); + }; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devgeneral', form.ListValue, 'policy', _('Bonding Policy')); + o.default = 'active-backup'; + o.value('active-backup', _('Active backup')); + o.value('balance-rr', _('Round robin')); + o.value('balance-xor', _('Transmit hash - balance-xor')); + o.value('broadcast', _('Broadcast')); + o.value('802.3ad', _('LACP - 802.3ad')); + o.value('balance-tlb', _('Adaptive transmit load balancing')); + o.value('balance-alb', _('Adaptive load balancing')); + o.cfgvalue = function(/* ... */) { + var val = form.ListValue.prototype.cfgvalue.apply(this, arguments); + + switch (val || '') { + case 'active-backup': + case '0': + return 'active-backup'; + + case 'balance-rr': + case '1': + return 'balance-rr'; + + case 'balance-xor': + case '2': + return 'balance-xor'; + + case 'broadcast': + case '3': + return 'broadcast'; + + case '802.3ad': + case '4': + return '802.3ad'; + + case 'balance-tlb': + case '5': + return 'balance-tlb'; + + case 'balance-alb': + case '6': + return 'balance-alb'; + + default: + return 'active-backup'; + } + }; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devgeneral', form.Flag, 'all_ports_active', _('All ports active'), _('Allow receiving on inactive ports')); + o.default = o.disabled; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devgeneral', widgets.DeviceSelect, '_net_device_primary', _('Primary Device')); + o.ucioption = 'primary'; + o.rmempty = true; + o.noaliases = true; + o.nobridges = true; + o.optional = false; + o.depends({'type': 'bonding', 'policy': 'active-backup'}); + + o = this.replaceOption(s, 'devadvanced', form.ListValue, 'xmit_hash_policy', _('Slave selection hash policy')); + o.default = ''; + o.value('', ''); + o.value('layer2', _('Layer 2')); + o.value('layer2+3', _('Layer 2+3')); + o.value('layer3+4', _('Layer 3+4')); + o.value('encap2+3', _('Encap 2+3')); + o.value('encap3+4', _('Encap 3+4')); + o.cfgvalue = function(/* ... */) { + var val = form.ListValue.prototype.cfgvalue.apply(this, arguments); + + switch (val || '') { + case 'layer2': + case '0': + return 'layer2'; + + case 'layer2+3': + case '1': + return 'layer2+3'; + + case 'layer3+4': + case '2': + return 'layer3+4'; + + case 'encap2+3': + case '4': + return 'encap2+3'; + + case 'encap3+4': + case '5': + return 'encap3+4'; + + default: + return ''; + } + }; + o.depends({'type': 'bonding', 'policy': 'balance-xor'}); + o.depends({'type': 'bonding', 'policy': '802.3ad'}); + o.depends({'type': 'bonding', 'policy': 'balance-tlb'}); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'ad_actor_system', _('MAC address for LACPDUs')); + o.description = _('This specifies the mac-address for the actor in protocol packet exchanges (LACPDUs). The value cannot be NULL or multicast.'); + o.datatype = 'macaddr'; + o.depends({'type': 'bonding', 'policy': '802.3ad'}); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'ad_actor_sys_prio', _('Priority')); + o.description = _('This specifies the AD system priority'); + o.placeholder = '65535'; + o.datatype = 'range(1, 65535)'; + o.depends({'type': 'bonding', 'policy': '802.3ad'}); + + o = this.replaceOption(s, 'devadvanced', form.ListValue, 'ad_select', _('802.3ad aggregation logic')); + o.default = ''; + o.value('', ''); + o.value('stable', _('Stable')); + o.value('bandwidth', _('Bandwidth')); + o.value('count', _('Count')); + o.cfgvalue = function(/* ... */) { + var val = form.ListValue.prototype.cfgvalue.apply(this, arguments); + + switch (val || '') { + case 'stable': + case '0': + return 'stable'; + + case 'bandwidth': + case '1': + return 'bandwidth'; + + case 'count': + case '2': + return 'count'; + + default: + return ''; + } + }; + o.depends({'type': 'bonding', 'policy': '802.3ad'}); + + o = this.replaceOption(s, 'devadvanced', form.ListValue, 'lacp_rate', _('802.3ad LACPDU packet rate')); + o.default = ''; + o.value('', ''); + o.value('slow', _('Slow (every 30 seconds)')); + o.value('fast', _('Fast (every second)')); + o.cfgvalue = function(/* ... */) { + var val = form.ListValue.prototype.cfgvalue.apply(this, arguments); + + switch (val || '') { + case 'slow': + case '0': + return 'slow'; + + case 'fast': + case '1': + return 'fast'; + + default: + return ''; + } + }; + o.depends({'type': 'bonding', 'policy': '802.3ad'}); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'min_links', _('Min Links'), _('Minimum number of active links')); + o.placeholder = '1'; + o.datatype = 'uinteger'; + o.depends({'type': 'bonding', 'policy': '802.3ad'}); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'packets_per_slave', _('Packets per slave')); + o.description = _('Number of packets to transmit through a slave before moving to the next one. Slave is chosen at random when 0.'); + o.placeholder = '1'; + o.datatype = 'range(1, 65535)'; + o.depends({'type': 'bonding', 'policy': 'balance-rr'}); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'lp_interval', _('Learning packets Interval')); + o.description = _('Number of seconds between sent learning packets'); + o.placeholder = '1'; + o.datatype = 'uinteger'; + o.depends({'type': 'bonding', 'policy': 'balance-tlb'}); + o.depends({'type': 'bonding', 'policy': 'balance-alb'}); + + o = this.replaceOption(s, 'devgeneral', form.Flag, 'dynamic_lb', _('Dynamic load balance'), _('distribute traffic according to port load')); + o.default = o.disabled; + o.depends({'type': 'bonding', 'policy': 'balance-tlb'}); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'resend_igmp', _('IGMP reports')); + o.description = _('Specifies the number of IGMP membership reports to be issued after a failover event'); + o.placeholder = '1'; + o.datatype = 'range(0, 255)'; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'num_peer_notif', _('Peer notifications')); + o.description = _('Specify the number of peer notifications to be issued after a failover event.'); + o.placeholder = '1'; + o.datatype = 'range(0, 255)'; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devadvanced', form.ListValue, 'primary_reselect', _('Primary port reselection policy')); + o.default = ''; + o.value('', ''); + o.value('always', _('Always')); + o.value('better', _('Better')); + o.value('failure', _('Failure')); + o.cfgvalue = function(/* ... */) { + var val = form.ListValue.prototype.cfgvalue.apply(this, arguments); + + switch (val || '') { + case 'always': + case '0': + return 'always'; + + case 'better': + case '1': + return 'better'; + + case 'failure': + case '2': + return 'failure'; + + default: + return 'always'; + } + }; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devadvanced', form.ListValue, 'failover_mac', _('MAC address selection policy')); + o.default = ''; + o.value('none', _('none')); + o.value('active', _('Active')); + o.value('follow', _('Follow')); + o.cfgvalue = function(/* ... */) { + var val = form.ListValue.prototype.cfgvalue.apply(this, arguments); + + switch (val || '') { + case 'none': + case '0': + return 'none'; + + case 'active': + case '1': + return 'active'; + + case 'follow': + case '2': + return 'follow'; + + default: + return 'none'; + } + }; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devadvanced', form.ListValue, 'monitor_mode', _('Link monitoring mode'), + !L.hasSystemFeature('mii_tool') ? ''+ + _('Install %s').format('mii-tool') + '' : null); + o.default = ''; + o.value('arp', _('ARP link monitoring')); + o.value('mii', _('MII link monitoring')); + o.cfgvalue = function(/* ... */) { + var val = form.ListValue.prototype.cfgvalue.apply(this, arguments); + + switch (val || '') { + case 'arp': + case '1': + return 'arp'; + + case 'mii': + case '2': + return 'mii'; + + default: + return 'mii'; + } + }; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'monitor_interval', _('Monitor Interval')); + o.description = _('Specifies the link monitoring frequency in milliseconds'); + o.placeholder = '100'; + o.datatype = 'uinteger'; + o.depends('type', 'bonding'); + + o = this.replaceOption(s, 'devadvanced', form.DynamicList, 'arp_target', _('ARP monitor target IP address')); + o.datatype = 'ipaddr'; + o.depends({'type': 'bonding', 'monitor_mode': 'arp'}); + + o = this.replaceOption(s, 'devgeneral', form.Flag, 'arp_all_targets', _('All ARP Targets'), _('All ARP targets must be reachable to consider the link valid')); + o.default = o.disabled; + o.depends({'type': 'bonding', 'monitor_mode': 'arp'}); + + o = this.replaceOption(s, 'devadvanced', form.ListValue, 'arp_validate', _('ARP validation policy')); + o.default = ''; + o.value('none', _('None')); + o.value('active', _('Active')); + o.value('backup', _('Backup')); + o.value('all', _('All')); + o.value('filter', _('Filter')); + o.value('filter_active', _('Filter active')); + o.value('filter_backup', _('Filter backup')); + o.cfgvalue = function(/* ... */) { + var val = form.ListValue.prototype.cfgvalue.apply(this, arguments); + + switch (val || '') { + case 'none': + case '0': + return 'none'; + + case 'active': + case '1': + return 'active'; + + case 'backup': + case '2': + return 'backup'; + + case 'all': + case '3': + return 'all'; + + case 'filter': + case '4': + return 'filter'; + + case 'filter_active': + case '5': + return 'filter_active'; + + case 'filter_backup': + case '6': + return 'filter_backup'; + + default: + return 'none'; + } + }; + o.depends({'type': 'bonding', 'policy': 'balance-rr' , 'monitor_mode': 'arp'}); + o.depends({'type': 'bonding', 'policy': 'active-backup' , 'monitor_mode': 'arp'}); + o.depends({'type': 'bonding', 'policy': 'balance-xor' , 'monitor_mode': 'arp'}); + o.depends({'type': 'bonding', 'policy': 'broadcast' , 'monitor_mode': 'arp'}); + + o = this.replaceOption(s, 'devadvanced', form.Flag, 'use_carrier', _('Use Carrier'), _('Use carrier status instead of MII result')); + o.default = o.disabled; + o.depends({'type': 'bonding', 'monitor_mode': 'mii'}); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'updelay', _('Monitor link-up delay')); + o.description = _('Delay before enabling port after MII link up event (msec)'); + o.placeholder = '0'; + o.datatype = 'uinteger'; + o.depends({'type': 'bonding', 'monitor_mode': 'mii'}); + + o = this.replaceOption(s, 'devadvanced', form.Value, 'downdelay', _('Monitor link-down delay')); + o.description = _('Delay before enabling port after MII link down event (msec)'); + o.placeholder = '0'; + o.datatype = 'uinteger'; + o.depends({'type': 'bonding', 'monitor_mode': 'mii'}); + + o = this.replaceOption(s, 'devgeneral', widgets.DeviceSelect, 'ifname_multi-bridge', _('Bridge ports')); o.size = 10; o.rmempty = true; o.multiple = true; @@ -673,9 +1126,6 @@ return baseclass.extend({ o.placeholder = dev ? dev._devstate('qlen') : ''; o.datatype = 'uinteger'; - o = this.replaceOption(s, 'devadvanced', form.Flag, 'promisc', _('Enable promiscuous mode')); - o.default = o.disabled; - o = this.replaceOption(s, 'devadvanced', form.Flag, 'autoneg', _('Autonegociation')); o.default = o.enabled; @@ -708,6 +1158,9 @@ return baseclass.extend({ o.value('full', _('full')); o.depends('autoneg', '0'); + o = this.replaceOption(s, 'devadvanced', cbiFlagTristate, 'promisc', _('Enable promiscuous mode')); + o.sysfs_default = (dev && dev.dev && dev.dev.flags) ? dev.dev.flags.promisc : null; + o = this.replaceOption(s, 'devadvanced', form.ListValue, 'rpfilter', _('Reverse path filter')); o.default = ''; o.value('', _('disabled')); @@ -736,7 +1189,7 @@ return baseclass.extend({ o = this.replaceOption(s, 'devadvanced', cbiFlagTristate, 'sendredirects', _('Send ICMP redirects')); o.sysfs = '/proc/sys/net/ipv4/conf/%s/send_redirects'.format(devname || 'default'); - o = this.replaceOption(s, 'devadvanced', cbiFlagTristate, 'arp_accept ', _('Honor gratuitous ARP'), _('When enabled, new ARP table entries are added from received gratuitous APR requests or replies, otherwise only preexisting table entries are updated, but no new hosts are learned.')); + o = this.replaceOption(s, 'devadvanced', cbiFlagTristate, 'arp_accept', _('Honor gratuitous ARP'), _('When enabled, new ARP table entries are added from received gratuitous ARP requests or replies, otherwise only preexisting table entries are updated, but no new hosts are learned.')); o.sysfs = '/proc/sys/net/ipv4/conf/%s/arp_accept'.format(devname || 'default'); o = this.replaceOption(s, 'devadvanced', cbiFlagTristate, 'drop_gratuitous_arp', _('Drop gratuitous ARP'), _('Drop all gratuitous ARP frames, for example if there’s a known good ARP proxy on the network and such frames need not be used or in the case of 802.11, must not be used to prevent attacks.')); @@ -760,8 +1213,6 @@ return baseclass.extend({ o = this.replaceOption(s, 'devgeneral', cbiFlagTristate, 'ipv6', _('Enable IPv6')); o.sysfs = '!/proc/sys/net/ipv6/conf/%s/disable_ipv6'.format(devname || 'default'); - o.migrate = false; - //o.default = o.enabled; o = this.replaceOption(s, 'devadvanced', cbiFlagTristate, 'ip6segmentrouting', _('Enable IPv6 segment routing')); o.sysfs = '/proc/sys/net/ipv6/conf/%s/seg6_enabled'.format(devname || 'default'); @@ -798,7 +1249,6 @@ return baseclass.extend({ o.depends('multicast', /1/); if (isBridgePort(dev)) { - o = this.replaceOption(s, 'brport', form.Flag, 'learning', _('Enable MAC address learning')); o = this.replaceOption(s, 'brport', cbiFlagTristate, 'learning', _('Enable MAC address learning')); o.sysfs = '/sys/class/net/%s/brport/learning'.format(devname || 'default'); @@ -958,6 +1408,15 @@ return baseclass.extend({ }, this)); }; + ss.handleRemove = function(section_id) { + this.map.data.remove('network', section_id); + s.map.addedVLANs = (s.map.addedVLANs || []).filter(function(sid) { + return sid != section_id; + }); + + return this.redraw(); + }; + o = ss.option(form.Value, 'vlan', _('VLAN ID')); o.datatype = 'range(1, 4094)'; diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js b/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js index f6ffc7d5f..dcd86585a 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js @@ -89,6 +89,21 @@ function calculateNetwork(addr, mask) { ]; } +function generateDnsmasqInstanceEntry(data) { + const nameValueMap = new Map(Object.entries(data)); + let formatString = nameValueMap.get('.index') + ' (' + _('Name') + (nameValueMap.get('.anonymous') ? ': dnsmasq[' + nameValueMap.get('.index') + ']': ': ' + nameValueMap.get('.name')); + + if (data.domain) { + formatString += ', ' + _('Domain') + ': ' + data.domain; + } + if (data.local) { + formatString += ', ' + _('Local') + ': ' + data.local; + } + formatString += ')'; + + return [nameValueMap.get('.name'), formatString]; +} + function getDHCPPools() { return uci.load('dhcp').then(function() { let sections = uci.sections('dhcp', 'dhcp'), @@ -194,6 +209,34 @@ function validateServerSpec(sid, s) { return true; } +function expandAndFormatMAC(macs) { + let result = []; + + macs.forEach(mac => { + if (isValidMAC(mac)) { + const expandedMac = mac.split(':').map(part => { + return (part.length === 1 && part !== '*') ? '0' + part : part; + }).join(':').toUpperCase(); + result.push(expandedMac); + } + }); + + return result.length ? result : null; +} + +function isValidMAC(sid, s) { + if (!s) + return true; + + let macaddrs = L.toArray(s); + + for (var i = 0; i < macaddrs.length; i++) + if (!macaddrs[i].match(/^(([0-9a-f]{1,2}|\*)[:-]){5}([0-9a-f]{1,2}|\*)$/i)) + return _('Expecting a valid MAC address, optionally including wildcards') + _('; invalid MAC: ') + macaddrs[i]; + + return true; +} + function validateMACAddr(pools, sid, s) { if (s == null || s == '') return true; @@ -225,7 +268,7 @@ function validateMACAddr(pools, sid, s) { } } - return true; + return isValidMAC(sid, s); } return view.extend({ @@ -234,7 +277,8 @@ return view.extend({ callHostHints(), callDUIDHints(), getDHCPPools(), - network.getNetworks() + network.getNetworks(), + uci.load('firewall') ]); }, @@ -244,61 +288,217 @@ return view.extend({ duids = hosts_duids_pools[1], pools = hosts_duids_pools[2], networks = hosts_duids_pools[3], - m, s, o, ss, so; + m, s, o, ss, so, dnss; + + let noi18nstrings = { + etc_hosts: '/etc/hosts', + etc_ethers: '/etc/ethers', + localhost_v6: '::1', + loopback_slash_8_v4: '127.0.0.0/8', + not_found: 'Not found', + nxdomain: 'NXDOMAIN', + rfc_1918_link: 'RFC1918', + rfc_4193_link: 'RFC4193', + rfc_4291_link: 'RFC4291', + rfc_6303_link: 'RFC6303', + reverse_arpa: '*.IN-ADDR.ARPA,*.IP6.ARPA', + servers_file_entry01: 'server=1.2.3.4', + servers_file_entry02: 'server=/domain/1.2.3.4', + + }; + + const recordtypes = [ + 'ANY', + 'A', + 'AAAA', + 'ALIAS', + 'CAA', + 'CERT', + 'CNAME', + 'DS', + 'HINFO', + 'HIP', + 'HTTPS', + 'KEY', + 'LOC', + 'MX', + 'NAPTR', + 'NS', + 'OPENPGPKEY', + 'PTR', + 'RP', + 'SIG', + 'SOA', + 'SRV', + 'SSHFP', + 'SVCB', + 'TLSA', + 'TXT', + 'URI', + ] + + function customi18n(template, values) { + if (!values) + values = noi18nstrings; + return template.replace(/\{(\w+)\}/g, (match, key) => values[key] || match); + }; m = new form.Map('dhcp', _('DHCP and DNS'), _('Dnsmasq is a lightweight DHCP server and DNS forwarder.')); s = m.section(form.TypedSection, 'dnsmasq'); - s.anonymous = true; - s.addremove = false; + s.anonymous = false; + s.addremove = true; + s.addbtntitle = _('Add server instance', 'Dnsmasq instance'); - s.tab('general', _('General Settings')); - s.tab('advanced', _('Advanced Settings')); + s.renderContents = function(/* ... */) { + var renderTask = form.TypedSection.prototype.renderContents.apply(this, arguments), + sections = this.cfgsections(); + + return Promise.resolve(renderTask).then(function(nodes) { + if (sections.length < 2) { + nodes.querySelector('#cbi-dhcp-dnsmasq > h3').remove(); + nodes.querySelector('#cbi-dhcp-dnsmasq > .cbi-section-remove').remove(); + } + else { + nodes.querySelectorAll('#cbi-dhcp-dnsmasq > .cbi-section-remove').forEach(function(div, i) { + var section = uci.get('dhcp', sections[i]), + hline = div.nextElementSibling, + btn = div.firstElementChild; + + if (!section || section['.anonymous']) { + hline.innerText = i ? _('Unnamed instance #%d', 'Dnsmasq instance').format(i+1) : _('Default instance', 'Dnsmasq instance'); + btn.innerText = i ? _('Remove instance #%d', 'Dnsmasq instance').format(i+1) : _('Remove default instance', 'Dnsmasq instance'); + } + else { + hline.innerText = _('Instance "%q"', 'Dnsmasq instance').format(section['.name']); + btn.innerText = _('Remove instance "%q"', 'Dnsmasq instance').format(section['.name']); + } + }); + } + + nodes.querySelector('#cbi-dhcp-dnsmasq > .cbi-section-create input').placeholder = _('New instance name…', 'Dnsmasq instance'); + + return nodes; + }); + }; + + + s.tab('general', _('General')); + s.tab('cache', _('Cache')); + s.tab('devices', _('Devices & Ports')); + s.tab('dnsrecords', _('DNS Records')); + s.tab('dnssecopt', _('DNSSEC')); + s.tab('filteropts', _('Filter')); + s.tab('forward', _('Forwards')); + s.tab('limits', _('Limits')); + s.tab('logging', _('Log')); + s.tab('files', _('Resolv & Hosts Files')); s.tab('leases', _('Static Leases')); - s.tab('files', _('Resolv and Hosts Files')); - s.tab('hosts', _('Hostnames')); s.tab('ipsets', _('IP Sets')); s.tab('relay', _('Relay')); - s.tab('srvhosts', _('SRV')); - s.tab('mxhosts', _('MX')); - s.tab('cnamehosts', _('CNAME')); - s.tab('pxe_tftp', _('PXE/TFTP Settings')); + s.tab('pxe_tftp', _('PXE/TFTP')); - s.taboption('general', form.Flag, 'domainneeded', + o = s.taboption('cache', form.MultiValue, 'cache_rr', + _('Cache arbitrary RR'), _('By default, dnsmasq caches A, AAAA, CNAME and SRV DNS record types.') + '
' + + _('This option adds additional record types to the cache.')); + o.optional = true; + o.create = true; + o.multiple = true; + o.display_size = 5; + recordtypes.forEach(r => { + o.value(r); + }); + + s.taboption('filteropts', form.Flag, 'domainneeded', _('Domain required'), - _('Do not forward DNS queries without dots or domain parts.')); - + _('Never forward DNS queries which lack dots or domain parts.') + '
' + + customi18n(_('Names not in {etc_hosts} are answered {not_found}.') ) + ); s.taboption('general', form.Flag, 'authoritative', _('Authoritative'), _('This is the only DHCP server in the local network.')); - s.taboption('general', form.Value, 'local', - _('Local server'), - _('Never forward matching domains and subdomains, resolve from DHCP or hosts files only.')); + o = s.taboption('general', form.Value, 'local', + _('Resolve these locally'), + _('Never forward these matching domains or subdomains; resolve from DHCP or hosts files only.')); + o.placeholder = '/internal.example.com/private.example.com/example.org'; s.taboption('general', form.Value, 'domain', _('Local domain'), _('Local domain suffix appended to DHCP names and hosts file entries.')); - o = s.taboption('general', form.Flag, 'logqueries', - _('Log queries'), - _('Write received DNS queries to syslog.')); - o.optional = true; - + s.taboption('general', form.Flag, 'expandhosts', + _('Expand hosts'), + _('Add local domain suffix to names served from hosts files.')); + o = s.taboption('general', form.DynamicList, 'server', _('DNS forwardings'), _('List of upstream resolvers to forward queries to.')); - o.optional = true; o.placeholder = '/example.org/10.1.2.3'; + + o = s.taboption('logging', form.Flag, 'logqueries', + _('Log queries'), + _('Write received DNS queries to syslog.') + ' ' + _('Dump cache on SIGUSR1, include requesting IP.')); + o.optional = true; + + o = s.taboption('logging', form.Flag, 'logdhcp', + _('Extra DHCP logging'), + _('Log all options sent to DHCP clients and the tags used to determine them.')); + o.optional = true; + + o = s.taboption('logging', form.Value, 'logfacility', + _('Log facility'), + _('Set log class/facility for syslog entries.')); + o.optional = true; + o.value('KERN'); + o.value('USER'); + o.value('MAIL'); + o.value('DAEMON'); + o.value('AUTH'); + o.value('LPR'); + o.value('NEWS'); + o.value('UUCP'); + o.value('CRON'); + o.value('LOCAL0'); + o.value('LOCAL1'); + o.value('LOCAL2'); + o.value('LOCAL3'); + o.value('LOCAL4'); + o.value('LOCAL5'); + o.value('LOCAL6'); + o.value('LOCAL7'); + o.value('-', _('stderr')); + + o = s.taboption('forward', form.DynamicList, 'server', + _('DNS Forwards'), + _('Forward specific domain queries to specific upstream servers.')); + o.optional = true; + o.placeholder = '/*.example.org/10.1.2.3'; o.validate = validateServerSpec; o = s.taboption('general', form.DynamicList, 'address', _('Addresses'), _('Resolve specified FQDNs to an IP.') + '
' + - _('Syntax: /fqdn[/fqdn…]/[ipaddr].') + '
' + - _('/#/ matches any domain. /example.com/ returns NXDOMAIN.') + '
' + - _('/example.com/# returns NULL addresses (0.0.0.0 and ::) for example.com and its subdomains.')); + customi18n(_('Syntax: {code_syntax}.'), + {code_syntax: '/fqdn[/fqdn…]/[ipaddr]'}) + '
' + + customi18n(_('{example_nx} returns {nxdomain}.', + 'hint: /example.com/ returns NXDOMAIN.'), + {example_nx: '/example.com/', nxdomain: 'NXDOMAIN'}) + '
' + + customi18n(_('{any_domain} matches any domain (and returns {nxdomain}).', + 'hint: /#/ matches any domain (and returns NXDOMAIN).'), + {any_domain:'/#/', nxdomain: 'NXDOMAIN'}) + '
' + + customi18n( + _('{example_null} returns {null_addr} addresses ({null_ipv4}, {null_ipv6}) for {example_com} and its subdomains.', + 'hint: /example.com/# returns NULL addresses (0.0.0.0, ::) for example.com and its subdomains.'), + { example_null: '/example.com/#', + null_addr: 'NULL', + null_ipv4: '0.0.0.0', + null_ipv6: '::', + example_com: 'example.com', + } + ) + ); o.optional = true; o.placeholder = '/router.local/router.lan/192.168.0.1'; @@ -308,52 +508,58 @@ return view.extend({ o.filter = function(section_id, name) { return (section_id.startsWith('omr_dscp') == false); }; - o.optional = true; o.placeholder = '/example.org/ipset,ipset6'; - o = s.taboption('general', form.Flag, 'rebind_protection', + o = s.taboption('filteropts', form.Flag, 'rebind_protection', _('Rebind protection'), - _('Discard upstream responses containing RFC1918 addresses.').format('https://datatracker.ietf.org/doc/html/rfc1918')); + customi18n(_('Discard upstream responses containing {rfc_1918_link} addresses.') ) + '
' + + customi18n(_('Discard also upstream responses containing {rfc_4193_link}, Link-Local and private IPv4-Mapped {rfc_4291_link} IPv6 Addresses.') ) + ); o.rmempty = false; - o = s.taboption('general', form.Flag, 'rebind_localhost', + o = s.taboption('filteropts', form.Flag, 'rebind_localhost', _('Allow localhost'), - _('Exempt 127.0.0.0/8 and ::1 from rebinding checks, e.g. for RBL services.')); + customi18n( + _('Exempt {loopback_slash_8_v4} and {localhost_v6} from rebinding checks, e.g. for RBL services.') + ) + ); o.depends('rebind_protection', '1'); - o = s.taboption('general', form.DynamicList, 'rebind_domain', + o = s.taboption('filteropts', form.DynamicList, 'rebind_domain', _('Domain whitelist'), - _('List of domains to allow RFC1918 responses for.')); + customi18n(_('List of domains to allow {rfc_1918_link} responses for.') ) + ); o.depends('rebind_protection', '1'); o.optional = true; o.placeholder = 'ihost.netflix.com'; o.validate = validateAddressList; - o = s.taboption('general', form.Flag, 'localservice', + o = s.taboption('filteropts', form.Flag, 'localservice', _('Local service only'), _('Accept DNS queries only from hosts whose address is on a local subnet.')); o.optional = false; o.rmempty = false; - o = s.taboption('general', form.Flag, 'nonwildcard', + o = s.taboption('devices', form.Flag, 'nonwildcard', _('Non-wildcard'), - _('Bind dynamically to interfaces rather than wildcard address.')); + _('Bind only to configured interface addresses, instead of the wildcard address.')); o.default = o.enabled; o.optional = false; o.rmempty = true; - o = s.taboption('general', form.DynamicList, 'interface', + o = s.taboption('devices', widgets.NetworkSelect, 'interface', _('Listen interfaces'), _('Listen only on the specified interfaces, and loopback if not excluded explicitly.')); - o.optional = true; - o.placeholder = 'lan'; + o.multiple = true; + o.nocreate = true; - o = s.taboption('general', form.DynamicList, 'notinterface', + o = s.taboption('devices', widgets.NetworkSelect, 'notinterface', _('Exclude interfaces'), _('Do not listen on the specified interfaces.')); - o.optional = true; - o.placeholder = 'loopback'; + o.loopback = true; + o.multiple = true; + o.nocreate = true; o = s.taboption('relay', form.SectionValue, '__relays__', form.TableSection, 'relay', null, _('Relay DHCP requests elsewhere. OK: v4↔v4, v6↔v6. Not OK: v4↔v6, v6↔v4.') @@ -397,31 +603,36 @@ return view.extend({ var m = this.section.formvalue(section, 'local_addr'), n = this.section.formvalue(section, 'server_addr'), p; - if (n != null && n != '') - p = n.split('#'); + + if (!m || !n) { + return _('Both "Relay from" and "Relay to address" must be specified.'); + } + else { + p = n.split('#'); if (p.length > 1 && !/^[0-9]+$/.test(p[1])) return _('Expected port number.'); else n = p[0]; - if ((m == null || m == '') && (n == null || n == '')) - return _('Both "Relay from" and "Relay to address" must be specified.'); - - if ((validation.parseIPv6(m) && validation.parseIPv6(n)) || - validation.parseIPv4(m) && validation.parseIPv4(n)) - return true; - else - return _('Address families of "Relay from" and "Relay to address" must match.') + if ((validation.parseIPv6(m) && validation.parseIPv6(n)) || + validation.parseIPv4(m) && validation.parseIPv4(n)) + return true; + else + return _('Address families of "Relay from" and "Relay to address" must match.') + } + return true; }; + so = ss.option(widgets.NetworkSelect, 'interface', _('Only accept replies via')); so.optional = true; so.rmempty = false; so.placeholder = 'lan'; s.taboption('files', form.Flag, 'readethers', - _('Use /etc/ethers'), - _('Read /etc/ethers to configure the DHCP server.')); + customi18n(_('Use {etc_ethers}') ), + customi18n(_('Read {etc_ethers} to configure the DHCP server.') ) + ); s.taboption('files', form.Value, 'leasefile', _('Lease file'), @@ -438,8 +649,21 @@ return view.extend({ o.placeholder = '/tmp/resolv.conf.d/resolv.conf.auto'; o.optional = true; + o = s.taboption('files', form.Flag, 'strictorder', + _('Strict order'), + _('Query upstream resolvers in the order they appear in the resolv file.')); + o.optional = true; + + o = s.taboption('files', form.Flag, 'ignore_hosts_dir', + _('Ignore hosts files directory'), + _('On: use instance specific hosts file only') + '
' + + _('Off: use all files in the directory including the instance specific hosts file') + ); + o.optional = true; + o = s.taboption('files', form.Flag, 'nohosts', - _('Ignore /etc/hosts')); + customi18n(_('Ignore {etc_hosts} file') ) + ); o.optional = true; o = s.taboption('files', form.DynamicList, 'addnhosts', @@ -447,125 +671,193 @@ return view.extend({ o.optional = true; o.placeholder = '/etc/dnsmasq.hosts'; - o = s.taboption('advanced', form.Flag, 'quietdhcp', + o = s.taboption('logging', form.Flag, 'quietdhcp', _('Suppress logging'), _('Suppress logging of the routine operation for the DHCP protocol.')); o.optional = true; + o.depends('logdhcp', '0'); - o = s.taboption('advanced', form.Flag, 'sequential_ip', + o = s.taboption('general', form.Flag, 'sequential_ip', _('Allocate IPs sequentially'), _('Allocate IP addresses sequentially, starting from the lowest available address.')); o.optional = true; - o = s.taboption('advanced', form.Flag, 'boguspriv', + o = s.taboption('filteropts', form.Flag, 'boguspriv', _('Filter private'), - _('Do not forward reverse lookups for local networks.')); + customi18n( + _('Reject reverse lookups to {rfc_6303_link} IP ranges ({reverse_arpa}) not in {etc_hosts}.') ) + ); o.default = o.enabled; - s.taboption('advanced', form.Flag, 'filterwin2k', + s.taboption('filteropts', form.Flag, 'filterwin2k', _('Filter SRV/SOA service discovery'), _('Filters SRV/SOA service discovery, to avoid triggering dial-on-demand links.') + '
' + _('May prevent VoIP or other services from working.')); - o = s.taboption('advanced', form.Flag, 'filter_aaaa', + o = s.taboption('filteropts', form.Flag, 'filter_aaaa', _('Filter IPv6 AAAA records'), _('Remove IPv6 addresses from the results and only return IPv4 addresses.') + '
' + _('Can be useful if ISP has IPv6 nameservers but does not provide IPv6 routing.')); o.optional = true; - o = s.taboption('advanced', form.Flag, 'filter_a', + o = s.taboption('filteropts', form.Flag, 'filter_a', _('Filter IPv4 A records'), _('Remove IPv4 addresses from the results and only return IPv6 addresses.')); o.optional = true; - s.taboption('advanced', form.Flag, 'localise_queries', + o = s.taboption('filteropts', form.MultiValue, 'filter_rr', + _('Filter arbitrary RR'), _('Removes records of the specified type(s) from answers.')); + o.optional = true; + o.create = true; + o.multiple = true; + o.display_size = 5; + recordtypes.forEach(r => { + o.value(r); + }); + + s.taboption('filteropts', form.Flag, 'localise_queries', _('Localise queries'), - _('Return answers to DNS queries matching the subnet from which the query was received if multiple IPs are available.')); + customi18n(_('Limit response records (from {etc_hosts}) to those that fall within the subnet of the querying interface.') ) + '
' + + _('This prevents unreachable IPs in subnets not accessible to you.') + '
' + + _('Note: IPv4 only.')); if (L.hasSystemFeature('dnsmasq', 'dnssec')) { - o = s.taboption('advanced', form.Flag, 'dnssec', + o = s.taboption('dnssecopt', form.Flag, 'dnssec', _('DNSSEC'), _('Validate DNS replies and cache DNSSEC data, requires upstream to support DNSSEC.')); o.optional = true; - o = s.taboption('advanced', form.Flag, 'dnsseccheckunsigned', + o = s.taboption('dnssecopt', form.Flag, 'dnsseccheckunsigned', _('DNSSEC check unsigned'), _('Verify unsigned domain responses really come from unsigned domains.')); o.default = o.enabled; o.optional = true; } - s.taboption('advanced', form.Flag, 'expandhosts', - _('Expand hosts'), - _('Add local domain suffix to names served from hosts files.')); - - s.taboption('advanced', form.Flag, 'nonegcache', + s.taboption('filteropts', form.Flag, 'nonegcache', _('No negative cache'), _('Do not cache negative replies, e.g. for non-existent domains.')); - o = s.taboption('advanced', form.Value, 'serversfile', + o = s.taboption('forward', form.Value, 'serversfile', _('Additional servers file'), - _('File listing upstream resolvers, optionally domain-specific, e.g. server=1.2.3.4, server=/domain/1.2.3.4.')); + customi18n(_('File listing upstream resolvers, optionally domain-specific, e.g. {servers_file_entry01}, {servers_file_entry02}.') ) + ); o.placeholder = '/etc/dnsmasq.servers'; - o = s.taboption('advanced', form.Flag, 'strictorder', - _('Strict order'), - _('Upstream resolvers will be queried in the order of the resolv file.')); + o = s.taboption('forward', form.Value, 'addmac', + _('Add requestor MAC'), + _('Add the MAC address of the requestor to DNS queries which are forwarded upstream.') + ' ' + '
' + + _('%s uses the default MAC address format encoding').format('enabled') + ' ' + '
' + + _('%s uses an alternative encoding of the MAC as base64').format('base64') + ' ' + '
' + + _('%s uses a human-readable encoding of hex-and-colons').format('text')); + o.optional = true; + o.value('', _('off')); + o.value('1', _('enabled (default)')); + o.value('base64'); + o.value('text'); + + s.taboption('forward', form.Flag, 'stripmac', + _('Remove MAC address before forwarding query'), + _('Remove any MAC address information already in downstream queries before forwarding upstream.')); + + o = s.taboption('forward', form.Value, 'addsubnet', + _('Add subnet address to forwards'), + _('Add a subnet address to the DNS queries which are forwarded upstream, leaving this value empty disables the feature.') + ' ' + + _('If an address is specified in the flag, it will be used, otherwise, the address of the requestor will be used.') + ' ' + + _('The amount of the address forwarded depends on the prefix length parameter: 32 (128 for IPv6) forwards the whole address, zero forwards none of it but still marks the request so that no upstream nameserver will add client address information either.') + ' ' + '
' + + _('The default (%s) is zero for both IPv4 and IPv6.').format('0,0') + ' ' + '
' + + _('%s adds the /24 and /96 subnets of the requestor for IPv4 and IPv6 requestors, respectively.').format('24,96') + ' ' + '
' + + _('%s adds 1.2.3.0/24 for IPv4 requestors and ::/0 for IPv6 requestors.').format('1.2.3.4/24') + ' ' + '
' + + _('%s adds 1.2.3.0/24 for both IPv4 and IPv6 requestors.').format('1.2.3.4/24,1.2.3.4/24')); o.optional = true; - o = s.taboption('advanced', form.Flag, 'allservers', + s.taboption('forward', form.Flag, 'stripsubnet', + _('Remove subnet address before forwarding query'), + _('Remove any subnet address already present in a downstream query before forwarding it upstream.')); + + o = s.taboption('general', form.Flag, 'allservers', _('All servers'), - _('Query all available upstream resolvers.')); + _('Query all available upstream resolvers.') + ' ' + _('First answer wins.')); o.optional = true; - o = s.taboption('advanced', form.DynamicList, 'bogusnxdomain', - _('IPs to override with NXDOMAIN'), - _('List of IP addresses to convert into NXDOMAIN responses.')); + o = s.taboption('filteropts', form.DynamicList, 'bogusnxdomain', + customi18n(_('IPs to override with {nxdomain}') ), + customi18n(_('Transform replies which contain the specified addresses or subnets into {nxdomain} responses.') ) + ); o.optional = true; o.placeholder = '64.94.110.11'; - o = s.taboption('advanced', form.Value, 'port', + o = s.taboption('devices', form.Value, 'port', _('DNS server port'), _('Listening port for inbound DNS queries.')); o.optional = true; o.datatype = 'port'; o.placeholder = 53; - o = s.taboption('advanced', form.Value, 'queryport', + o = s.taboption('devices', form.Value, 'queryport', _('DNS query port'), _('Fixed source port for outbound DNS queries.')); o.optional = true; o.datatype = 'port'; o.placeholder = _('any'); - o = s.taboption('advanced', form.Value, 'dhcpleasemax', + o = s.taboption('devices', form.Value, 'minport', + _('Minimum source port #'), + _('Min valid value %s.').format('1024') + ' ' + _('Useful for systems behind firewalls.')); + o.optional = true; + o.datatype = 'port'; + o.placeholder = 1024; + o.depends('queryport', ''); + + o = s.taboption('devices', form.Value, 'maxport', + _('Maximum source port #'), + _('Max valid value %s.').format('65535') + ' ' + _('Useful for systems behind firewalls.')); + o.optional = true; + o.datatype = 'port'; + o.placeholder = 50000; + o.depends('queryport', ''); + + o = s.taboption('limits', form.Value, 'dhcpleasemax', _('Max. DHCP leases'), _('Maximum allowed number of active DHCP leases.')); o.optional = true; o.datatype = 'uinteger'; - o.placeholder = _('unlimited'); + o.placeholder = 150; - o = s.taboption('advanced', form.Value, 'ednspacket_max', + o = s.taboption('limits', form.Value, 'ednspacket_max', _('Max. EDNS0 packet size'), _('Maximum allowed size of EDNS0 UDP packets.')); o.optional = true; o.datatype = 'uinteger'; o.placeholder = 1280; - o = s.taboption('advanced', form.Value, 'dnsforwardmax', + o = s.taboption('limits', form.Value, 'dnsforwardmax', _('Max. concurrent queries'), _('Maximum allowed number of concurrent DNS queries.')); o.optional = true; o.datatype = 'uinteger'; o.placeholder = 150; - o = s.taboption('advanced', form.Value, 'cachesize', + o = s.taboption('limits', form.Value, 'cachesize', _('Size of DNS query cache'), _('Number of cached DNS entries, 10000 is maximum, 0 is no caching.')); o.optional = true; o.datatype = 'range(0,10000)'; o.placeholder = 1000; + o = s.taboption('limits', form.Value, 'min_cache_ttl', + _('Min cache TTL'), + _('Extend short TTL values to the seconds value given when caching them. Use with caution.') + + _(' (Max 1h == 3600)')); + o.optional = true; + o.placeholder = 60; + + o = s.taboption('limits', form.Value, 'max_cache_ttl', + _('Max cache TTL'), + _('Set a maximum seconds TTL value for entries in the cache.')); + o.optional = true; + o.placeholder = 3600; + o = s.taboption('pxe_tftp', form.Flag, 'enable_tftp', _('Enable TFTP server'), _('Enable the built-in single-instance TFTP server.')); @@ -591,6 +883,7 @@ return view.extend({ ss = o.subsection; ss.addremove = true; ss.anonymous = true; + ss.modaltitle = _('Edit PXE/TFTP/BOOTP Host'); ss.nodescriptions = true; so = ss.option(form.Value, 'filename', @@ -613,19 +906,20 @@ return view.extend({ so = ss.option(form.DynamicList, 'dhcp_option', _('DHCP Options'), - _('Options for the Network-ID. (Note: needs also Network-ID.) E.g. "42,192.168.1.4" for NTP server, "3,192.168.4.4" for default route. 0.0.0.0 means "the address of the system running dnsmasq".')); + _('Additional options to send to the below match tags.') + '
' + + _('%s means "the address of the system running dnsmasq".').format('0.0.0.0')); so.optional = true; - so.placeholder = '42,192.168.1.4'; + so.placeholder = 'option:root-path,192.168.1.2:/data/netboot/root'; - so = ss.option(widgets.DeviceSelect, 'networkid', - _('Network-ID'), - _('Apply DHCP Options to this net. (Empty = all clients).')); + so = ss.option(form.Value, 'networkid', + _('Match this Tag'), + _('Only DHCP Clients with this tag are sent this boot option.')); so.optional = true; so.noaliases = true; so = ss.option(form.Flag, 'force', _('Force'), - _('Always send DHCP Options. Sometimes needed, with e.g. PXELinux.')); + _('Always send the chosen DHCP options. Sometimes needed, with e.g. PXELinux.')); so.optional = true; so = ss.option(form.Value, 'instance', @@ -634,10 +928,24 @@ return view.extend({ so.optional = true; Object.values(L.uci.sections('dhcp', 'dnsmasq')).forEach(function(val, index) { - so.value(index, '%s (Domain: %s, Local: %s)'.format(index, val.domain || '?', val.local || '?')); + var [name, display_str] = generateDnsmasqInstanceEntry(val); + so.value(name, display_str); }); - o = s.taboption('srvhosts', form.SectionValue, '__srvhosts__', form.TableSection, 'srvhost', null, + o = s.taboption('dnsrecords', form.SectionValue, '__dnsrecords__', form.TypedSection, '__dnsrecords__'); + + dnss = o.subsection; + + dnss.anonymous = true; + dnss.cfgsections = function() { return [ '__dnsrecords__' ] }; + + dnss.tab('hosts', _('Hostnames')); + dnss.tab('srvhosts', _('SRV')); + dnss.tab('mxhosts', _('MX')); + dnss.tab('cnamehosts', _('CNAME')); + dnss.tab('dnsrr', _('DNS-RR')); + + o = dnss.taboption('srvhosts', form.SectionValue, '__srvhosts__', form.TableSection, 'srvhost', null, _('Bind service records to a domain name: specify the location of services. See RFC2782.').format('https://datatracker.ietf.org/doc/html/rfc2782') + '
' + _('_service: _sip, _ldap, _imap, _stun, _xmpp-client, … . (Note: while _http is possible, no browsers support SRV records.)') + '
' + _('_proto: _tcp, _udp, _sctp, _quic, … .') @@ -651,15 +959,15 @@ return view.extend({ ss.sortable = true; ss.rowcolors = true; - so = ss.option(form.Value, 'srv', _('SRV'), _('Syntax: _service._proto.example.com.')); + so = ss.option(form.Value, 'srv', _('SRV'), _('Syntax:') + ' ' + '_service._proto.example.com.'); so.rmempty = false; so.datatype = 'hostname'; - so.placeholder = '_sip._tcp.example.com'; + so.placeholder = '_sip._tcp.example.com.'; so = ss.option(form.Value, 'target', _('Target'), _('CNAME or fqdn')); so.rmempty = false; so.datatype = 'hostname'; - so.placeholder = 'sip.example.com'; + so.placeholder = 'sip.example.com.'; so = ss.option(form.Value, 'port', _('Port')); so.rmempty = false; @@ -676,7 +984,7 @@ return view.extend({ so.datatype = 'range(0,65535)'; so.placeholder = '50'; - o = s.taboption('mxhosts', form.SectionValue, '__mxhosts__', form.TableSection, 'mxhost', null, + o = dnss.taboption('mxhosts', form.SectionValue, '__mxhosts__', form.TableSection, 'mxhost', null, _('Bind service records to a domain name: specify the location of services.') + '
' + _('You may add multiple records for the same domain.')); @@ -691,19 +999,19 @@ return view.extend({ so = ss.option(form.Value, 'domain', _('Domain')); so.rmempty = false; so.datatype = 'hostname'; - so.placeholder = 'example.com'; + so.placeholder = 'example.com.'; so = ss.option(form.Value, 'relay', _('Relay')); so.rmempty = false; so.datatype = 'hostname'; - so.placeholder = 'relay.example.com'; + so.placeholder = 'relay.example.com.'; so = ss.option(form.Value, 'pref', _('Priority'), _('Ordinal: lower comes first.')); so.rmempty = true; so.datatype = 'range(0,65535)'; so.placeholder = '0'; - o = s.taboption('cnamehosts', form.SectionValue, '__cname__', form.TableSection, 'cname', null, + o = dnss.taboption('cnamehosts', form.SectionValue, '__cname__', form.TableSection, 'cname', null, _('Set an alias for a hostname.')); ss = o.subsection; @@ -716,15 +1024,15 @@ return view.extend({ so = ss.option(form.Value, 'cname', _('Domain')); so.rmempty = false; - so.datatype = 'hostname'; - so.placeholder = 'www.example.com'; + so.validate = validateHostname; + so.placeholder = 'www.example.com.'; so = ss.option(form.Value, 'target', _('Target')); so.rmempty = false; so.datatype = 'hostname'; - so.placeholder = 'example.com'; + so.placeholder = 'example.com.'; - o = s.taboption('hosts', form.SectionValue, '__hosts__', form.GridSection, 'domain', null, + o = dnss.taboption('hosts', form.SectionValue, '__hosts__', form.GridSection, 'domain', null, _('Hostnames are used to bind a domain name to an IP address. This setting is redundant for hostnames already configured with static leases, but it can be useful to rebind an FQDN.')); ss = o.subsection; @@ -739,7 +1047,7 @@ return view.extend({ so = ss.option(form.Value, 'ip', _('IP address')); so.rmempty = false; - so.datatype = 'ipaddr'; + so.datatype = 'ipaddr("nomask")'; var ipaddrs = {}; @@ -754,26 +1062,114 @@ return view.extend({ so.value(ipv4, '%s (%s)'.format(ipv4, ipaddrs[ipv4])); }); + o = dnss.taboption('dnsrr', form.SectionValue, '__dnsrr__', form.TableSection, 'dnsrr', null, + _('Set an arbitrary resource record (RR) type.') + '
' + + _('Hexdata is automatically en/decoded on save and load')); + + ss = o.subsection; + + ss.addremove = true; + ss.anonymous = true; + ss.sortable = true; + ss.rowcolors = true; + ss.nodescriptions = true; + + function hexdecodeload(section_id) { + let value = uci.get('dhcp', section_id, this.option) || ''; + // Remove any spaces or colons from the hex string - they're allowed + value = value.replace(/[\s:]/g, ''); + // Hex-decode the string before displaying + let decodedString = ''; + for (let i = 0; i < value.length; i += 2) { + decodedString += String.fromCharCode(parseInt(value.substr(i, 2), 16)); + } + return decodedString; + } + + function hexencodesave(section, value) { + if (!value || value.length === 0) { + uci.unset('dhcp', section, 'hexdata'); + return; + } + // Hex-encode the string before saving + const encodedArr = value.split('').map(c => c.charCodeAt(0).toString(16).padStart(2, '0')).join(''); + uci.set('dhcp', section, this.option, encodedArr); + } + + so = ss.option(form.Value, 'dnsrr', _('Resource Record Name')); + so.rmempty = false; + so.datatype = 'hostname'; + so.placeholder = 'svcb.example.com.'; + + so = ss.option(form.Value, 'rrnumber', _('Resource Record Number')); + so.rmempty = false; + so.datatype = 'uinteger'; + so.placeholder = '64'; + + so = ss.option(form.Value, 'hexdata', _('Raw Data')); + so.rmempty = true; + so.datatype = 'string'; + so.placeholder = 'free-form string'; + so.load = hexdecodeload; + so.write = hexencodesave; + + so = ss.option(form.DummyValue, '_hexdata', _('Hex Data')); + so.width = '10%'; + so.rawhtml = true; + so.load = function(section_id) { + let hexdata = uci.get('dhcp', section_id, 'hexdata') || ''; + hexdata = hexdata.replace(/[:]/g, ''); + if (hexdata) { + return hexdata.replace(/(.{20})/g, '$1
'); // Inserts
after every 2 characters (hex pair) + } else { + return ''; + } + } + o = s.taboption('ipsets', form.SectionValue, '__ipsets__', form.GridSection, 'ipset', null, - _('List of IP sets to populate with the IPs of DNS lookup results of the FQDNs also specified here.')); + _('List of IP sets to populate with the IPs of DNS lookup results of the FQDNs also specified here.') + '
' + + _('The netfilter components below are only regarded when running fw4.')); ss = o.subsection; ss.filter = function(section_id, name) { return (section_id.startsWith('omr_') == false); }; + ss.addremove = true; ss.anonymous = true; ss.sortable = true; + ss.rowcolors = true; + ss.nodescriptions = true; + ss.modaltitle = _('Edit IP set'); - so = ss.option(form.DynamicList, 'name', _('IP set')); + so = ss.option(form.DynamicList, 'name', _('Name of the set')); + uci.sections('firewall', 'ipset', function(s) { + if (typeof(s.name) == 'string') + so.value(s.name, s.comment ? '%s (%s)'.format(s.name, s.comment) : s.name); + }); so.rmempty = false; + so.editable = false; so.datatype = 'string'; - so = ss.option(form.DynamicList, 'domain', _('Domain')); + so = ss.option(form.DynamicList, 'domain', _('FQDN')); so.rmempty = false; + so.editable = false; so.datatype = 'hostname'; + so = ss.option(form.Value, 'table', _('Netfilter table name'), _('Defaults to fw4.')); + so.editable = false; + so.placeholder = 'fw4'; + so.rmempty = true; + + so = ss.option(form.ListValue, 'table_family', _('Table IP family'), _('Defaults to IPv4+6.') + ' ' + _('Can be hinted by adding 4 or 6 to the name.') + '
' + + _('Adding an IPv6 to an IPv4 set and vice-versa silently fails.')); + so.editable = false; + so.rmempty = true; + so.value('inet', _('IPv4+6')); + so.value('ip', _('IPv4')); + so.value('ip6', _('IPv6')); + o = s.taboption('leases', form.SectionValue, '__leases__', form.GridSection, 'host', null, _('Static leases are used to assign fixed IP addresses and symbolic hostnames to DHCP clients. They are also required for non-dynamic interface configurations where only hosts with a corresponding lease are served.') + '

' + _('Use the Add Button to add a new lease entry. The MAC address identifies the host, the IPv4 address specifies the fixed address to use, and the Hostname is assigned as a symbolic name to the requesting host. The optional Lease time can be used to set non-standard host-specific lease time, e.g. 12h, 3d or infinite.') + '

' + @@ -802,61 +1198,22 @@ return view.extend({ uci.unset('dhcp', section, 'dns'); }; - so = ss.option(form.Value, 'mac', + //this can be a .DynamicList or a .Value with a widget and dnsmasq handles multimac OK. + so = ss.option(form.DynamicList, 'mac', _('MAC address(es)'), - _('The hardware address(es) of this entry/host, separated by spaces.') + '

' + + _('The hardware address(es) of this entry/host.') + '

' + _('In DHCPv4, it is possible to include more than one mac address. This allows an IP address to be associated with multiple macaddrs, and dnsmasq abandons a DHCP lease to one of the macaddrs when another asks for a lease. It only works reliably if only one of the macaddrs is active at any time.')); //As a special case, in DHCPv4, it is possible to include more than one hardware address. eg: --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2 This allows an IP address to be associated with multiple hardware addresses, and gives dnsmasq permission to abandon a DHCP lease to one of the hardware addresses when another one asks for a lease - so.validate = function(section_id, value) { - var macaddrs = L.toArray(value); - - for (var i = 0; i < macaddrs.length; i++) - if (!macaddrs[i].match(/^([a-fA-F0-9]{2}|\*):([a-fA-F0-9]{2}:|\*:){4}(?:[a-fA-F0-9]{2}|\*)$/)) - return _('Expecting a valid MAC address, optionally including wildcards'); - - return true; - }; so.rmempty = true; so.cfgvalue = function(section) { - var macs = L.toArray(uci.get('dhcp', section, 'mac')), - result = []; - - for (var i = 0, mac; (mac = macs[i]) != null; i++) - if (/^([0-9a-fA-F]{1,2}|\*):([0-9a-fA-F]{1,2}|\*):([0-9a-fA-F]{1,2}|\*):([0-9a-fA-F]{1,2}|\*):([0-9a-fA-F]{1,2}|\*):([0-9a-fA-F]{1,2}|\*)$/.test(mac)) { - var m = [ - parseInt(RegExp.$1, 16), parseInt(RegExp.$2, 16), - parseInt(RegExp.$3, 16), parseInt(RegExp.$4, 16), - parseInt(RegExp.$5, 16), parseInt(RegExp.$6, 16) - ]; - - result.push(m.map(function(n) { return isNaN(n) ? '*' : '%02X'.format(n) }).join(':')); - } - return result.length ? result.join(' ') : null; - }; - so.renderWidget = function(section_id, option_index, cfgvalue) { - var node = form.Value.prototype.renderWidget.apply(this, [section_id, option_index, cfgvalue]), - ipopt = this.section.children.filter(function(o) { return o.option == 'ip' })[0]; - - node.addEventListener('cbi-dropdown-change', L.bind(function(ipopt, section_id, ev) { - var mac = ev.detail.value.value; - if (mac == null || mac == '' || !hosts[mac]) - return; - - var iphint = L.toArray(hosts[mac].ipaddrs || hosts[mac].ipv4)[0]; - if (iphint == null) - return; - - var ip = ipopt.formvalue(section_id); - if (ip != null && ip != '') - return; - - var node = ipopt.map.findElement('id', ipopt.cbid(section_id)); - if (node) - dom.callClassMethod(node, 'setValue', iphint); - }, this, ipopt, section_id)); - - return node; + var macs = uci.get('dhcp', section, 'mac'); + if(!Array.isArray(macs)){ + return expandAndFormatMAC(L.toArray(macs)); + } else { + return expandAndFormatMAC(macs); + } }; + //removed jows renderwidget function which hindered multi-mac entry so.validate = validateMACAddr.bind(so, pools); Object.keys(hosts).forEach(function(mac) { var hint = hosts[mac].name || L.toArray(hosts[mac].ipaddrs || hosts[mac].ipv4)[0]; @@ -870,10 +1227,10 @@ return view.extend({ var m = this.section.formvalue(section, 'mac'), n = this.section.formvalue(section, 'name'); - if ((m == null || m == '') && (n == null || n == '')) + if ((m && !m.length > 0) && !n) return _('One of hostname or MAC address must be specified!'); - if (value == null || value == '' || value == 'ignore') + if (!value || value == 'ignore') return true; var leases = uci.sections('dhcp', 'host'); @@ -925,9 +1282,9 @@ return view.extend({ so = ss.option(form.DynamicList, 'match_tag', _('Match Tag'), - _('When a host matches an entry then the special tag known is set. Use known to match all known hosts.') + '

' + - _('Ignore requests from unknown machines using !known.') + '

' + - _('If a host matches an entry which cannot be used because it specifies an address on a different subnet, the tag known-othernet is set.')); + _('When a host matches an entry then the special tag %s is set. Use %s to match all known hosts.').format('known', 'known') + '

' + + _('Ignore requests from unknown machines using %s.').format('!known') + '

' + + _('If a host matches an entry which cannot be used because it specifies an address on a different subnet, the tag %s is set.').format('known-othernet')); so.value('known', _('known')); so.value('!known', _('!known (not known)')); so.value('known-othernet', _('known-othernet (on different subnet)')); @@ -939,7 +1296,8 @@ return view.extend({ so.optional = true; Object.values(L.uci.sections('dhcp', 'dnsmasq')).forEach(function(val, index) { - so.value(index, '%s (Domain: %s, Local: %s)'.format(index, val.domain || '?', val.local || '?')); + var [name, display_str] = generateDnsmasqInstanceEntry(val); + so.value(name, display_str); }); @@ -1016,7 +1374,7 @@ return view.extend({ return [ host || '-', - lease.ip6addrs ? lease.ip6addrs.join(' ') : lease.ip6addr, + lease.ip6addrs ? lease.ip6addrs.join('
') : lease.ip6addr, lease.duid, exp ]; diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js index 0c575c416..1f63de5c4 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js @@ -65,46 +65,32 @@ function render_status(node, ifc, with_device) { null, E('em', _('Interface is marked for deletion')) ]); - var i18n = ifc.getI18n(); - if (i18n) - desc = desc ? '%s (%s)'.format(desc, i18n) : i18n; + desc = desc ? '%s (%s)'.format(desc, ifc.getI18n()) : ifc.getI18n(); - var changecount = with_device ? 0 : count_changes(ifc.getName()), - ipaddrs = changecount ? [] : ifc.getIPAddrs(), - ip6addrs = changecount ? [] : ifc.getIP6Addrs(), - errors = ifc.getErrors(), - maindev = ifc.getL3Device() || ifc.getDevice(), - macaddr = maindev ? maindev.getMAC() : null; + const changecount = with_device ? 0 : count_changes(ifc.getName()); + const maindev = ifc.getL3Device() || ifc.getDevice(); + const macaddr = maindev ? maindev.getMAC() : null; + const cond00 = !changecount && !ifc.isDynamic() && !ifc.isAlias(); + const cond01 = cond00 && macaddr; + const cond02 = cond00 && maindev; + + function addEntries(label, array) { + return Array.isArray(array) ? array.flatMap((item) => [label, item]) : [label, null]; + } return L.itemlist(node, [ _('Protocol'), with_device ? null : (desc || '?'), - _('Device'), with_device ? (maindev ? maindev.getShortName() : E('em', _('Not present'))) : null, - _('Uptime'), (!changecount && ifc.isUp()) ? '%t'.format(ifc.getUptime()) : null, - _('MAC'), (!changecount && !ifc.isDynamic() && !ifc.isAlias() && macaddr) ? macaddr : null, - _('RX'), (!changecount && !ifc.isDynamic() && !ifc.isAlias() && maindev) ? '%.2mB (%d %s)'.format(maindev.getRXBytes(), maindev.getRXPackets(), _('Pkts.')) : null, - _('TX'), (!changecount && !ifc.isDynamic() && !ifc.isAlias() && maindev) ? '%.2mB (%d %s)'.format(maindev.getTXBytes(), maindev.getTXPackets(), _('Pkts.')) : null, - _('IPv4'), ipaddrs[0], - _('IPv4'), ipaddrs[1], - _('IPv4'), ipaddrs[2], - _('IPv4'), ipaddrs[3], - _('IPv4'), ipaddrs[4], - _('IPv6'), ip6addrs[0], - _('IPv6'), ip6addrs[1], - _('IPv6'), ip6addrs[2], - _('IPv6'), ip6addrs[3], - _('IPv6'), ip6addrs[4], - _('IPv6'), ip6addrs[5], - _('IPv6'), ip6addrs[6], - _('IPv6'), ip6addrs[7], - _('IPv6'), ip6addrs[8], - _('IPv6'), ip6addrs[9], - _('IPv6-PD'), changecount ? null : ifc.getIP6Prefix(), + _('Device'), with_device ? (maindev ? maindev.getShortName() : E('em', _('Not present'))) : null, + _('Uptime'), (!changecount && ifc.isUp()) ? '%t'.format(ifc.getUptime()) : null, + _('MAC'), (cond01) ? macaddr : null, + _('RX'), (cond02) ? '%.2mB (%d %s)'.format(maindev.getRXBytes(), maindev.getRXPackets(), _('Pkts.')) : null, + _('TX'), (cond02) ? '%.2mB (%d %s)'.format(maindev.getTXBytes(), maindev.getTXPackets(), _('Pkts.')) : null, + ...addEntries(_('IPv4'), changecount ? [] : ifc.getIPAddrs()), + ...addEntries(_('IPv6'), changecount ? [] : ifc.getIP6Addrs()), + ...addEntries(_('IPv6-PD'), changecount ? null : ifc.getIP6Prefixes?.()), + _('Information'), with_device ? null : (ifc.get('disabled') != '1' ? null : _('Interface disabled')), _('Information'), with_device ? null : (ifc.get('auto') != '0' ? null : _('Not started on boot')), - _('Error'), errors ? errors[0] : null, - _('Error'), errors ? errors[1] : null, - _('Error'), errors ? errors[2] : null, - _('Error'), errors ? errors[3] : null, - _('Error'), errors ? errors[4] : null, + ...addEntries(_('Error'), ifc.getErrors()), null, changecount ? E('a', { href: '#', click: L.bind(ui.changes.displayChanges, ui.changes) @@ -175,9 +161,9 @@ function iface_updown(up, id, ev, force) { ui.showModal(_('Confirm disconnect'), [ E('p', _('You appear to be currently connected to the device via the "%h" interface. Do you really want to shut down the interface?').format(id)), - E('div', { 'class': 'right' }, [ + E('div', { 'class': 'button-row' }, [ E('button', { - 'class': 'cbi-button cbi-button-neutral', + 'class': 'btn cbi-button cbi-button-neutral', 'click': function(ev) { btns[1].classList.remove('spinning'); btns[1].disabled = false; @@ -188,7 +174,7 @@ function iface_updown(up, id, ev, force) { }, _('Cancel')), ' ', E('button', { - 'class': 'cbi-button cbi-button-negative important', + 'class': 'btn cbi-button cbi-button-negative important', 'click': function(ev) { dsc.setAttribute('disconnect', ''); dom.content(dsc, E('em', _('Interface is shutting down...'))); @@ -264,39 +250,6 @@ function has_sourcefilter(proto) { return false; } -var cbiRichListValue = form.ListValue.extend({ - renderWidget: function(section_id, option_index, cfgvalue) { - var choices = this.transformChoices(); - var widget = new ui.Dropdown((cfgvalue != null) ? cfgvalue : this.default, choices, { - id: this.cbid(section_id), - sort: this.keylist, - optional: true, - select_placeholder: this.select_placeholder || this.placeholder, - custom_placeholder: this.custom_placeholder || this.placeholder, - validate: L.bind(this.validate, this, section_id), - disabled: (this.readonly != null) ? this.readonly : this.map.readonly - }); - - return widget.render(); - }, - - value: function(value, title, description) { - if (description) { - form.ListValue.prototype.value.call(this, value, E([], [ - E('span', { 'class': 'hide-open' }, [ title ]), - E('div', { 'class': 'hide-close', 'style': 'min-width:25vw' }, [ - E('strong', [ title ]), - E('br'), - E('span', { 'style': 'white-space:normal' }, description) - ]) - ])); - } - else { - form.ListValue.prototype.value.call(this, value, title); - } - } -}); - return view.extend({ poll_status: function(map, networks) { var resolveZone = null; @@ -470,6 +423,7 @@ return view.extend({ }, render: function(data) { + if (this.interfaceBridgeWithIfnameSections().length) return this.renderBridgeMigration(); else if (this.deviceWithIfnameSections().length || this.interfaceWithIfnameSections().length) @@ -498,7 +452,8 @@ return view.extend({ s.load = function() { return Promise.all([ network.getNetworks(), - firewall.getZones() + firewall.getZones(), + uci.load('system') ]).then(L.bind(function(data) { this.networks = data[0]; this.zones = data[1]; @@ -560,13 +515,9 @@ return view.extend({ }; s.addModalOptions = function(s) { - var protoval = uci.get('network', s.section, 'proto'), - protoclass = protoval ? network.getProtocol(protoval) : null, + var protoval = uci.get('network', s.section, 'proto') || 'none', o, proto_select, proto_switch, type, stp, igmp, ss, so; - if (!protoval) - return; - return network.getNetwork(s.section).then(L.bind(function(ifc) { var protocols = network.getProtocols(); @@ -589,6 +540,7 @@ return view.extend({ proto_select = s.taboption('general', form.ListValue, 'proto', _('Protocol')); proto_select.modalonly = true; + proto_select.default = 'none'; proto_switch = s.taboption('general', form.Button, '_switch_proto'); proto_switch.modalonly = true; @@ -657,7 +609,7 @@ return view.extend({ for (var i = 0; i < protocols.length; i++) { proto_select.value(protocols[i].getProtocol(), protocols[i].getI18n()); - if (protocols[i].getProtocol() != uci.get('network', s.section, 'proto')) + if (protocols[i].getProtocol() != protoval) proto_switch.depends('proto', protocols[i].getProtocol()); } @@ -706,7 +658,7 @@ return view.extend({ ss.taboption('general', form.Flag, 'ignore', _('Ignore interface'), _('Disable DHCP for this interface.')); if (protoval == 'static') { - so = ss.taboption('general', form.Value, 'start', _('Start'), _('Lowest leased address as offset from the network address.')); + so = ss.taboption('general', form.Value, 'start', _('Start', 'DHCP IP range start address'), _('Lowest leased address as offset from the network address.')); so.optional = true; so.datatype = 'or(uinteger,ip4addr("nomask"))'; so.default = '100'; @@ -719,6 +671,17 @@ return view.extend({ so = ss.taboption('general', form.Value, 'leasetime', _('Lease time'), _('Expiry time of leased addresses, minimum is 2 minutes (2m).')); so.optional = true; so.default = '12h'; + so.validate = function (section_id, value) { + if (value === "infinite" || value === "deprecated") { + return true; + } + + const regex = new RegExp("^[0-9]+[smhdw]?$", "i"); + if (regex.test(value)) { + return true; + } + return _("Invalid DHCP lease time format. Use integer values optionally followed by s, m, h, d, or w."); + } so = ss.taboption('advanced', form.Flag, 'dynamicdhcp', _('Dynamic DHCP'), _('Dynamically allocate DHCP addresses for clients. If disabled, only clients having static leases will be served.')); so.default = so.enabled; @@ -771,9 +734,9 @@ return view.extend({ /* Assume that serving RAs by default is fine, but disallow it for certain interface protocols such as DHCP, DHCPv6 or the various PPP flavors. - The intent is to only allow RA serving for interface protocols doing + The intent is only to allow RA serving for interface protocols doing some kind of static IP config over something resembling a layer 2 - ethernet device. */ + Ethernet device. */ switch (protoval) { case 'dhcp': case 'dhcpv6': @@ -823,8 +786,9 @@ return view.extend({ }; - so = ss.taboption('ipv6', cbiRichListValue, 'ra', _('RA-Service'), + so = ss.taboption('ipv6', form.RichListValue, 'ra', _('RA-Service'), _('Configures the operation mode of the RA service on this interface.')); + so.optional = true; so.value('', _('disabled'), _('Do not send any RA messages on this interface.')); so.value('server', _('server mode'), @@ -834,8 +798,9 @@ return view.extend({ so.value('hybrid', _('hybrid mode'), ' '); - so = ss.taboption('ipv6-ra', cbiRichListValue, 'ra_default', _('Default router'), + so = ss.taboption('ipv6-ra', form.RichListValue, 'ra_default', _('Default router'), _('Configures the default router advertisement in RA messages.')); + so.optional = true; so.value('', _('automatic'), _('Announce this device as default router if a local IPv6 default route is present.')); so.value('1', _('on available prefix'), @@ -851,8 +816,9 @@ return view.extend({ so.depends('ra', 'server'); so.depends({ ra: 'hybrid', master: '0' }); - so = ss.taboption('ipv6-ra', cbiRichListValue, 'ra_flags', _('RA Flags'), + so = ss.taboption('ipv6-ra', form.RichListValue, 'ra_flags', _('RA Flags'), _('Specifies the flags sent in RA messages, for example to instruct clients to request further information via stateful DHCPv6.')); + so.optional = true; so.value('managed-config', _('managed config (M)'), _('The Managed address configuration (M) flag indicates that IPv6 addresses are available via DHCPv6.')); so.value('other-config', _('other config (O)'), @@ -945,8 +911,9 @@ return view.extend({ }; - so = ss.taboption('ipv6', cbiRichListValue, 'dhcpv6', _('DHCPv6-Service'), + so = ss.taboption('ipv6', form.RichListValue, 'dhcpv6', _('DHCPv6-Service'), _('Configures the operation mode of the DHCPv6 service on this interface.')); + so.optional = true; so.value('', _('disabled'), _('Do not offer DHCPv6 service on this interface.')); so.value('server', _('server mode'), @@ -984,9 +951,35 @@ return view.extend({ so.depends('dhcpv6', 'server'); so.depends({ dhcpv6: 'hybrid', master: '0' }); + //This is a DHCPv6 specific odhcpd setting + so = ss.taboption('ipv6', form.DynamicList, 'ntp', _('NTP Servers'), + _('DHCPv6 option 56. %s.', 'DHCPv6 option 56. RFC5908 link').format('RFC5908').format('https://www.rfc-editor.org/rfc/rfc5908#section-4')); + so.datatype = 'host(0)'; + for(var x of uci.get('system', 'ntp', 'server') || '') { + so.value(x); + } + var local_nets = this.networks.filter(function(n) { return n.getName() != 'loopback' }); + if(local_nets) { + // If ntpd is set up, suggest our IP(v6) also + if(uci.get('system', 'ntp', 'enable_server')) { + local_nets.forEach(function(n){ + n.getIPAddrs().forEach(function(i4) { + so.value(i4.split('/')[0]); + }); + n.getIP6Addrs().forEach(function(i6) { + so.value(i6.split('/')[0]); + }); + }); + } + } + so.optional = true; + so.rmempty = true; + so.depends('dhcpv6', 'server'); + so.depends({ dhcpv6: 'hybrid', master: '0' }); - so = ss.taboption('ipv6', cbiRichListValue, 'ndp', _('NDP-Proxy'), + so = ss.taboption('ipv6', form.RichListValue, 'ndp', _('NDP-Proxy'), _('Configures the operation mode of the NDP proxy service on this interface.')); + so.optional = true; so.value('', _('disabled'), _('Do not proxy any NDP packets.')); so.value('relay', _('relay mode'), @@ -1041,10 +1034,11 @@ return view.extend({ o.datatype = 'uinteger'; o.placeholder = '0'; - o = nettools.replaceOption(s, 'advanced', form.Value, 'metric', _('Use gateway metric')); + o = nettools.replaceOption(s, 'advanced', form.Value, 'metric', _('Use gateway metric'), + _('Metric is an ordinal, where a gateway with 1 is chosen 1st, 2 is chosen 2nd, 3 is chosen 3rd, etc')); o.datatype = 'uinteger'; o.placeholder = '0'; - + o = nettools.replaceOption(s,'advanced', form.ListValue, 'multipath', _('Multipath setting'), _('Only one interface must be set as Master.')); o.value('on',_('Enabled')); o.value('off',_('Disabled')); @@ -1216,7 +1210,10 @@ return view.extend({ }; proto = s2.option(form.ListValue, 'proto', _('Protocol')); - proto.validate = name.validate; + proto.onchange = function(ev, section_id, value) { + var elem = name.getUIElement(section_id); + elem.triggerValidation(); + }; device = s2.option(widgets.DeviceSelect, 'device', _('Device')); device.noaliases = false; @@ -1471,6 +1468,9 @@ return view.extend({ case '8021ad': return '8021ad'; + case 'bonding': + return 'bonding'; + case 'bridge': return 'bridge'; @@ -1503,6 +1503,9 @@ return view.extend({ case '8021ad': return _('VLAN (802.1ad)'); + case 'bonding': + return _('Aggregation device'); + case 'bridge': return _('Bridge device'); @@ -1570,20 +1573,24 @@ return view.extend({ s.addremove = false; s.anonymous = true; - o = s.option(form.Value, 'ula_prefix', _('IPv6 ULA-Prefix'), _('Unique Local Address - in the range fc00::/7. Typically only within the ‘local’ half fd00::/8. ULA for IPv6 is analogous to IPv4 private network addressing. This prefix is randomly generated at first install.')); + o = s.option(form.Value, 'ula_prefix', _('IPv6 ULA-Prefix'), + _('Unique Local Address (%s) - prefix fd00::/8 (the L bit is always 1).').format('RFC4193').format('https://datatracker.ietf.org/doc/html/rfc4193#section-3') + ' ' + + _('ULA for IPv6 is analogous to IPv4 private network addressing.') + ' ' + + _('This prefix is randomly generated at first install.')); o.datatype = 'cidr6'; o = s.option(form.ListValue, 'packet_steering', _('Packet Steering'), _('Enable packet steering across CPUs. May help or hinder network speed.')); - o.value('', _('Disabled')); + o.value('0', _('Disabled')); o.value('1',_('Enabled')); o.value('2',_('Enabled (all CPUs)')); + o.default = '1'; o.optional = true; - var steer_flow = uci.get('network', 'globals', 'steering_flows'); + var steer_flow = uci.get('network', 'globals', 'steering_flows'); o = s.option(form.Value, 'steering_flows', _('Steering flows (RPS)'), - _('Directs packet flows to specific CPUs where the local socket owner listens (the local service).') + ' ' + - _('Note: this setting is for local services on the device only (not for forwarding).')); + _('Directs packet flows to specific CPUs where the local socket owner listens (the local service).') + ' ' + + _('Note: this setting is for local services on the device only (not for forwarding).')); o.value('', _('Standard: none')); o.value('128', _('Suggested: 128')); o.value('256', _('256')); diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js b/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js index 4004be219..312b53007 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js @@ -5,6 +5,7 @@ 'require form'; 'require network'; 'require tools.widgets as widgets'; +'require tools.network as tn'; return view.extend({ load: function() { @@ -25,7 +26,9 @@ return view.extend({ return e && e[0] > 0; }); - m = new form.Map('network', _('Routing'), _('Routing defines over which interface and gateway a certain host or network can be reached.')); + m = new form.Map('network', _('Routing'), _('Routing defines over which interface and gateway a certain host or network can be reached.') + + '
' + _('Routes go in routing tables and define the specific path to reach destinations.') + + '
' + _('Rules determine which routing table to use, based on conditions like source address or interface.')); m.tabbed = true; for (var family = 4; family <= 6; family += 2) { @@ -33,6 +36,7 @@ return view.extend({ s.anonymous = true; s.addremove = true; s.sortable = true; + s.cloneable = true; s.nodescriptions = true; s.tab('general', _('General Settings')); @@ -41,7 +45,7 @@ return view.extend({ o = s.taboption('general', widgets.NetworkSelect, 'interface', _('Interface'), _('Specifies the logical interface name of the parent (or master) interface this route belongs to')); o.loopback = true; o.nocreate = true; - o.rmempty = false; + o.rmempty = true; o = s.taboption('general', form.ListValue, 'type', _('Route type'), _('Specifies the route type to be created')); o.modalonly = true; @@ -78,19 +82,21 @@ return view.extend({ o.datatype = (family == 6) ? 'ip6addr("nomask")' : 'ip4addr("nomask")'; o.placeholder = (family == 6) ? 'fe80::1' : '192.168.0.1'; - o = s.taboption('advanced', form.Value, 'metric', _('Metric'), _('Specifies the route metric to use')); + o = s.taboption('advanced', form.Value, 'metric', _('Metric'), _('Ordinal: routes with the lowest metric match first')); o.datatype = 'uinteger'; o.placeholder = 0; o.textvalue = function(section_id) { return this.cfgvalue(section_id) || E('em', _('auto')); }; - o = s.taboption('advanced', form.Value, 'mtu', _('MTU'), _('Defines a specific MTU for this route')); + o = s.taboption('advanced', form.Value, 'mtu', _('MTU'), _('Packets exceeding this value may be fragmented')); o.modalonly = true; o.datatype = 'and(uinteger,range(64,9000))'; o.placeholder = 1500; - o = s.taboption('advanced', form.Value, 'table', _('Table'), _('The rule target is a table lookup ID: a numeric table index ranging from 0 to 65535 or symbol alias declared in /etc/iproute2/rt_tables. Special aliases local (255), main (254) and default (253) are also valid')); + o = s.taboption('advanced', form.Value, 'table', _('Table'), _('Routing table into which to insert this rule.') + '
' + + _('A numeric table index, or symbol alias declared in %s. Special aliases local (255), main (254) and default (253) are also valid').format('/etc/iproute2/rt_tables') + + '
' + _('Only interfaces using this table (via override) will use this route.')); o.datatype = 'or(uinteger, string)'; for (var i = 0; i < rtTables.length; i++) o.value(rtTables[i][1], '%s (%d)'.format(rtTables[i][1], rtTables[i][0])); @@ -98,7 +104,8 @@ return view.extend({ return this.cfgvalue(section_id) || E('em', _('auto')); }; - o = s.taboption('advanced', form.Value, 'source', _('Source'), _('Specifies the preferred source address when sending to destinations covered by the target')); + o = s.taboption('advanced', form.Value, 'source', _('Source'), _('Specifies the preferred source address when sending to destinations covered by the target') + + '
' + _('This is only used if no default route matches the destination gateway')); o.modalonly = true; o.datatype = (family == 6) ? 'ip6addr' : 'ip4addr'; for (var i = 0; i < netDevs.length; i++) { @@ -122,12 +129,13 @@ return view.extend({ s.anonymous = true; s.addremove = true; s.sortable = true; + s.cloneable = true; s.nodescriptions = true; s.tab('general', _('General Settings')); s.tab('advanced', _('Advanced Settings')); - o = s.taboption('general', form.Value, 'priority', _('Priority'), _('Specifies the ordering of the IP rules')); + o = s.taboption('general', form.Value, 'priority', _('Priority'), _('Execution order of this IP rule: lower numbers go first')); o.datatype = 'uinteger'; o.placeholder = 30000; o.textvalue = function(section_id) { @@ -142,34 +150,42 @@ return view.extend({ o.value('blackhole'); o.value('throw'); - o = s.taboption('general', widgets.NetworkSelect, 'in', _('Incoming interface'), _('Specifies the incoming logical interface name')); + o = s.taboption('general', widgets.NetworkSelect, 'in', _('Incoming interface'), _('Match traffic from this interface')); o.loopback = true; o.nocreate = true; - o = s.taboption('general', form.Value, 'src', _('Source'), _('Specifies the source subnet to match (CIDR notation)')); + o = s.taboption('general', form.Value, 'src', _('Source'), _('Match traffic from this source subnet (CIDR notation)')); o.datatype = (family == 6) ? 'cidr6' : 'cidr4'; o.placeholder = (family == 6) ? '::/0' : '0.0.0.0/0'; o.textvalue = function(section_id) { return this.cfgvalue(section_id) || E('em', _('any')); }; - o = s.taboption('general', widgets.NetworkSelect, 'out', _('Outgoing interface'), _('Specifies the outgoing logical interface name')); + o = s.taboption('general', form.Value, 'ipproto', _('IP Protocol'), _('Match traffic IP protocol type')); + o.datatype = 'range(0,255)'; + tn.protocols.forEach(function(p) { + o.value(p.i, p.d); + }); + + o = s.taboption('general', widgets.NetworkSelect, 'out', _('Outgoing interface'), _('Match traffic destined to this interface')); o.loopback = true; o.nocreate = true; - o = s.taboption('general', form.Value, 'dest', _('Destination'), _('Specifies the destination subnet to match (CIDR notation)')); + o = s.taboption('general', form.Value, 'dest', _('Destination'), _('Match traffic destined to this subnet (CIDR notation)')); o.datatype = (family == 6) ? 'cidr6' : 'cidr4'; o.placeholder = (family == 6) ? '::/0' : '0.0.0.0/0'; o.textvalue = function(section_id) { return this.cfgvalue(section_id) || E('em', _('any')); }; - o = s.taboption('general', form.Value, 'lookup', _('Table'), _('The rule target is a table lookup ID: a numeric table index ranging from 0 to 65535 or symbol alias declared in /etc/iproute2/rt_tables. Special aliases local (255), main (254) and default (253) are also valid')); + o = s.taboption('advanced', form.Value, 'lookup', _('Table'), _('Routing table to use for traffic matching this rule.') + '
' + + _('A numeric table index, or symbol alias declared in %s. Special aliases local (255), main (254) and default (253) are also valid').format('/etc/iproute2/rt_tables') + + '
' + _('Matched traffic re-targets to an interface using this table.')); o.datatype = 'or(uinteger, string)'; for (var i = 0; i < rtTables.length; i++) o.value(rtTables[i][1], '%s (%d)'.format(rtTables[i][1], rtTables[i][0])); - o = s.taboption('advanced', form.Value, 'goto', _('Jump to rule'), _('The rule target is a jump to another rule specified by its priority value')); + o = s.taboption('advanced', form.Value, 'goto', _('Jump to rule'), _('Jumps to another rule specified by its priority value')); o.modalonly = true; o.datatype = 'uinteger'; o.placeholder = 80000; @@ -189,7 +205,8 @@ return view.extend({ o.datatype = 'string'; o.placeholder = '1000-1005'; - o = s.taboption('advanced', form.Value, 'suppress_prefixlength', _('Prefix suppressor'), _('Reject routing decisions that have a prefix length less than or equal to the specified value')); + o = s.taboption('advanced', form.Value, 'suppress_prefixlength', _('Prefix suppressor'), _('Reject routing decisions that have a prefix length less than or equal to the specified value') + + '
' + _('Prevents overly broad routes being considered. Setting 16 would consider /17, /24, /28 or more specific routes yet ignore /16, /8, /0 (default) routes')); o.modalonly = true; o.datatype = (family == 6) ? 'ip6prefix' : 'ip4prefix'; o.placeholder = (family == 6) ? 64 : 24; diff --git a/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js b/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js index 46f2a7d30..e76b2b711 100644 --- a/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js +++ b/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js @@ -80,7 +80,7 @@ function render_signal_badge(signalPercent, signalValue, noiseValue, wrap, mode) } if (noiseValue != null && noiseValue != 0) { - value = '---/%d\x0a%s'.format(noiseValue, _('dBm')); + value = '---/%d\xa0%s'.format(noiseValue, _('dBm')); title = '%s / %s: %d %s'.format(title, _('Noise'), noiseValue, _('dBm')); } else { @@ -201,7 +201,9 @@ function format_wifirate(rate) { mhz = rate.mhz, nss = rate.nss, mcs = rate.mcs, sgi = rate.short_gi, he = rate.he, he_gi = rate.he_gi, - he_dcm = rate.he_dcm; + he_dcm = rate.he_dcm, + eht = rate?.eht ?? false, eht_gi = rate?.eht_gi ?? 0, + eht_dcm = rate?.eht_dcm ?? 0; if (ht || vht) { if (vht) s += ', VHT-MCS\xa0%d'.format(mcs); @@ -217,6 +219,13 @@ function format_wifirate(rate) { if (he_dcm) s += ', HE-DCM\xa0%d'.format(he_dcm); } + if (eht) { + s += ', EHT-MCS\xa0%d'.format(mcs); + if (nss) s += ', EHT-NSS\xa0%d'.format(nss); + if (eht_gi) s += ', EHT-GI\xa0%d'.format(eht_gi); + if (eht_dcm) s += ', EHT-DCM\xa0%d'.format(eht_dcm); + } + return s; } @@ -298,7 +307,9 @@ function add_dependency_permutations(o, deps) { o.depends(res[i]); } +// Define a class CBIWifiFrequencyValue that extends form.Value var CBIWifiFrequencyValue = form.Value.extend({ + // Declare an RPC method to get the frequency list for a given device callFrequencyList: rpc.declare({ object: 'iwinfo', method: 'freqlist', @@ -306,15 +317,16 @@ var CBIWifiFrequencyValue = form.Value.extend({ expect: { results: [] } }), + // Load method to fetch WiFi device details and frequency list load: function(section_id) { return Promise.all([ network.getWifiDevice(section_id), this.callFrequencyList(section_id) ]).then(L.bind(function(data) { this.channels = { - '2g': L.hasSystemFeature('hostapd', 'acs') ? [ 'auto', 'auto', true ] : [], - '5g': L.hasSystemFeature('hostapd', 'acs') ? [ 'auto', 'auto', true ] : [], - '6g': L.hasSystemFeature('hostapd', 'acs') ? [ 'auto', 'auto', true ] : [], + '2g': L.hasSystemFeature('hostapd', 'acs') ? [ 'auto', 'auto', { available: true } ] : [], + '5g': L.hasSystemFeature('hostapd', 'acs') ? [ 'auto', 'auto', { available: true } ] : [], + '6g': L.hasSystemFeature('hostapd', 'acs') ? [ 'auto', 'auto', { available: true } ] : [], '60g': [] }; @@ -322,70 +334,97 @@ var CBIWifiFrequencyValue = form.Value.extend({ if (!data[1][i].band) continue; - var band = '%dg'.format(data[1][i].band); + var band = '%dg'.format(data[1][i].band), + available = true; + + + if (data[1][i].restricted && data[1][i].no_ir) + available = false; this.channels[band].push( data[1][i].channel, '%d (%d Mhz)'.format(data[1][i].channel, data[1][i].mhz), - !data[1][i].restricted + { + available: available, + no_outdoor: data[1][i].no_outdoor + } + ); } var hwmodelist = L.toArray(data[0] ? data[0].getHWModes() : null) .reduce(function(o, v) { o[v] = true; return o }, {}); + // Define supported modes this.modes = [ - '', 'Legacy', hwmodelist.a || hwmodelist.b || hwmodelist.g, - 'n', 'N', hwmodelist.n, - 'ac', 'AC', L.hasSystemFeature('hostapd', '11ac') && hwmodelist.ac, - 'ax', 'AX', L.hasSystemFeature('hostapd', '11ax') && hwmodelist.ax + '', 'Legacy', { available: hwmodelist.a || hwmodelist.b || hwmodelist.g }, + 'n', 'N', { available: hwmodelist.n }, + 'ac', 'AC', { available: L.hasSystemFeature('hostapd', '11ac') && hwmodelist.ac }, + 'ax', 'AX', { available: L.hasSystemFeature('hostapd', '11ax') && hwmodelist.ax }, + 'be', 'BE', { available: L.hasSystemFeature('hostapd', '11be') && hwmodelist.be } ]; + // Create a list of HT modes based on device capabilities var htmodelist = L.toArray(data[0] ? data[0].getHTModes() : null) .reduce(function(o, v) { o[v] = true; return o }, {}); this.htmodes = { - '': [ '', '-', true ], + '': [ '', '-', { available: true } ], 'n': [ - 'HT20', '20 MHz', htmodelist.HT20, - 'HT40', '40 MHz', htmodelist.HT40 + 'HT20', '20 MHz', { available: htmodelist.HT20 }, + 'HT40', '40 MHz', { available: htmodelist.HT40 } ], 'ac': [ - 'VHT20', '20 MHz', htmodelist.VHT20, - 'VHT40', '40 MHz', htmodelist.VHT40, - 'VHT80', '80 MHz', htmodelist.VHT80, - 'VHT160', '160 MHz', htmodelist.VHT160 + 'VHT20', '20 MHz', { available: htmodelist.VHT20 }, + 'VHT40', '40 MHz', { available: htmodelist.VHT40 }, + 'VHT80', '80 MHz', { available: htmodelist.VHT80 }, + 'VHT160', '160 MHz', { available: htmodelist.VHT160 } ], 'ax': [ - 'HE20', '20 MHz', htmodelist.HE20, - 'HE40', '40 MHz', htmodelist.HE40, - 'HE80', '80 MHz', htmodelist.HE80, - 'HE160', '160 MHz', htmodelist.HE160 + 'HE20', '20 MHz', { available: htmodelist.HE20 }, + 'HE40', '40 MHz', { available: htmodelist.HE40 }, + 'HE80', '80 MHz', { available: htmodelist.HE80 }, + 'HE160', '160 MHz', { available: htmodelist.HE160 } + ], + 'be': [ + 'EHT20', '20 MHz', { available: htmodelist.EHT20 }, + 'EHT40', '40 MHz', { available: htmodelist.EHT40 }, + 'EHT80', '80 MHz', { available: htmodelist.EHT80 }, + 'EHT160', '160 MHz', { available: htmodelist.EHT160 }, + 'EHT320', '320 MHz', { available: htmodelist.EHT320 } ] }; + // Define available bands for widget selection based on channel availability + // AX and BE are available on 2/5/6G bands this.bands = { '': [ - '2g', '2.4 GHz', this.channels['2g'].length > 3, - '5g', '5 GHz', this.channels['5g'].length > 3, - '60g', '60 GHz', this.channels['60g'].length > 0 + '2g', '2.4 GHz', { available: this.channels['2g'].length > 3 }, + '5g', '5 GHz', { available: this.channels['5g'].length > 3 }, + '60g', '60 GHz', { available: this.channels['60g'].length > 0 } ], 'n': [ - '2g', '2.4 GHz', this.channels['2g'].length > 3, - '5g', '5 GHz', this.channels['5g'].length > 3 + '2g', '2.4 GHz', { available: this.channels['2g'].length > 3 }, + '5g', '5 GHz', { available: this.channels['5g'].length > 3 } ], 'ac': [ - '5g', '5 GHz', true + '5g', '5 GHz', { available: true } ], 'ax': [ - '2g', '2.4 GHz', this.channels['2g'].length > 3, - '5g', '5 GHz', this.channels['5g'].length > 3, - '6g', '6 GHz', this.channels['6g'].length > 3 + '2g', '2.4 GHz', { available: this.channels['2g'].length > 3 }, + '5g', '5 GHz', { available: this.channels['5g'].length > 3 }, + '6g', '6 GHz', { available: this.channels['6g'].length > 3 } + ], + 'be': [ + '2g', '2.4 GHz', { available: this.channels['2g'].length > 3 }, + '5g', '5 GHz', { available: this.channels['5g'].length > 3 }, + '6g', '6 GHz', { available: this.channels['6g'].length > 3 } ] }; }, this)); }, + // Set values in the select element setValues: function(sel, vals) { if (sel.vals) sel.vals.selected = sel.selectedIndex; @@ -394,7 +433,7 @@ var CBIWifiFrequencyValue = form.Value.extend({ sel.remove(0); for (var i = 0; vals && i < vals.length; i += 3) - if (vals[i+2]) + if (vals[i+2] && vals[i+2].available) sel.add(E('option', { value: vals[i+0] }, [ vals[i+1] ])); if (vals && !isNaN(vals.selected)) @@ -426,11 +465,31 @@ var CBIWifiFrequencyValue = form.Value.extend({ this.map.checkDepends(); }, + checkWifiChannelRestriction: function(elem) { + var band = elem.querySelector('.band'), + chan = elem.querySelector('.channel'), + restricted_chan = elem.querySelector('.restricted_channel'), + channels = this.channels[band.value], + no_outdoor; + + if (chan.selectedIndex < 0) + return; + + no_outdoor = channels[(chan.selectedIndex*3)+2].no_outdoor; + if (no_outdoor) + restricted_chan.style.display = ''; + else + restricted_chan.style.display = 'none'; + }, + toggleWifiChannel: function(elem) { var band = elem.querySelector('.band'); var chan = elem.querySelector('.channel'); this.setValues(chan, this.channels[band.value]); + + this.map.checkDepends(); + this.checkWifiChannelRestriction(elem); }, setInitialValues: function(section_id, elem) { @@ -445,7 +504,10 @@ var CBIWifiFrequencyValue = form.Value.extend({ this.setValues(mode, this.modes); - if (/HE20|HE40|HE80|HE160/.test(htval)) + // Determine mode based on htmode value + if (/EHT20|EHT40|EHT80|EHT160|EHT320/.test(htval)) + mode.value = 'be'; + else if (/HE20|HE40|HE80|HE160/.test(htval)) mode.value = 'ax'; else if (/VHT20|VHT40|VHT80|VHT160/.test(htval)) mode.value = 'ac'; @@ -475,6 +537,8 @@ var CBIWifiFrequencyValue = form.Value.extend({ bwdt.value = htval; chan.value = chval || (chan.options[0] ? chan.options[0].value : 'auto'); + this.checkWifiChannelRestriction(elem); + return elem; }, @@ -482,6 +546,9 @@ var CBIWifiFrequencyValue = form.Value.extend({ var elem = E('div'); dom.content(elem, [ + E('div', { 'class' : 'restricted_channel', 'style': 'display:none'}, [ + E('div', {'class': 'cbi-button alert-message warning disabled'}, _('Indoor Only Channel Selected')) + ]), E('label', { 'style': 'float:left; margin-right:3px' }, [ _('Mode'), E('br'), E('select', { @@ -505,7 +572,7 @@ var CBIWifiFrequencyValue = form.Value.extend({ E('select', { 'class': 'channel', 'style': 'width:auto', - 'change': L.bind(this.map.checkDepends, this.map), + 'change': L.bind(this.toggleWifiChannel, this, elem), 'disabled': (this.disabled != null) ? this.disabled : this.map.readonly }) ]), @@ -698,6 +765,25 @@ return view.extend({ ]) ]; + var zones = data[4]; + if (bss.vlan) { + var desc = bss.vlan.getI18n(); + var vlan_network = bss.vlan.getNetwork(); + var vlan_zone; + + if (vlan_network && zones) + for (let zone of zones) + if (zone.getNetworks().includes(vlan_network)) + vlan_zone = zone; + + row[0].insertBefore( + E('div', { + 'class' : 'zonebadge', + 'title' : desc, + 'style' : firewall.getZoneColorStyle(vlan_zone) + }, [ desc ]), row[0].firstChild); + } + if (bss.network.isClientDisconnectSupported()) { if (table.firstElementChild.childNodes.length < 6) table.firstElementChild.appendChild(E('th', { 'class': 'th cbi-section-actions'})); @@ -736,7 +822,8 @@ return view.extend({ return Promise.all([ uci.changes(), uci.load('wireless'), - uci.load('system') + uci.load('system'), + firewall.getZones(), ]); }, @@ -756,11 +843,11 @@ return view.extend({ params: [ 'config', 'section', 'name' ] }), - render: function() { + render: function(data) { if (this.checkAnonymousSections()) return this.renderMigration(); else - return this.renderOverview(); + return this.renderOverview(data[3]); }, handleMigration: function(ev) { @@ -795,7 +882,7 @@ return view.extend({ ]); }, - renderOverview: function() { + renderOverview: function(zones) { var m, s, o; m = new form.Map('wireless'); @@ -931,7 +1018,7 @@ return view.extend({ o.inputtitle = isDisabled ? _('Enable') : _('Disable'); o.onclick = ui.createHandlerFn(s, network_updown, s.section, s.map); - o = ss.taboption('general', CBIWifiFrequencyValue, '_freq', '
' + _('Operating frequency')); + o = ss.taboption('general', CBIWifiFrequencyValue, '_freq', '
' + _('Operating frequency'), _('Some channels may be restricted to Indoor Only use by your Regulatory Domain. Make sure to follow this advice if a channel is reported as such.')); o.ucisection = s.section; if (hwtype == 'mac80211') { @@ -941,7 +1028,7 @@ return view.extend({ o = ss.taboption('general', CBIWifiTxPowerValue, 'txpower', _('Maximum transmit power'), _('Specifies the maximum transmit power the wireless radio may use. Depending on regulatory requirements and wireless usage, the actual transmit power may be reduced by the driver.')); o.wifiNetwork = radioNet; - o = ss.taboption('advanced', CBIWifiCountryValue, 'country', _('Country Code')); + o = ss.taboption('general', CBIWifiCountryValue, 'country', _('Country Code')); o.wifiNetwork = radioNet; o = ss.taboption('advanced', form.ListValue, 'cell_density', _('Coverage cell density'), _('Configures data rates based on the coverage cell density. Normal configures basic rates to 6, 12, 24 Mbps if legacy 802.11b rates are not used else to 5.5, 11 Mbps. High configures basic rates to 12, 24 Mbps if legacy 802.11b rates are not used else to the 11 Mbps rate. Very High configures 24 Mbps as the basic rate. Supported rates lower than the minimum basic rate are not offered.')); @@ -950,7 +1037,7 @@ return view.extend({ o.value('2', _('High')); o.value('3', _('Very High')); - o = ss.taboption('advanced', form.Value, 'distance', _('Distance Optimization'), _('Distance to farthest network member in meters.')); + o = ss.taboption('advanced', form.Value, 'distance', _('Distance Optimization'), _('Distance to farthest network member in meters. Set only for distances above one kilometer; otherwise it is harmful.')); o.datatype = 'or(range(0,114750),"auto")'; o.placeholder = 'auto'; @@ -1150,6 +1237,8 @@ return view.extend({ o.depends('mode', 'ap'); o.depends('mode', 'ap-wds'); + o = ss.taboption('advanced', form.Flag, 'bridge_isolate', _('Isolate Bridge Port'), _('Prevents communication only with targets on isolated bridge ports (while allowing it with targets on non-isolated ones). This also prevents client-to-client communication on the same interface when the WiFi device is in AP mode.')); + o = ss.taboption('advanced', form.Value, 'ifname', _('Interface name'), _('Override default interface name')); o.optional = true; o.datatype = 'netdevname'; @@ -1217,10 +1306,10 @@ return view.extend({ var e = this.section.children.filter(function(o) { return o.option == 'encryption' })[0].formvalue(section_id), co = this.section.children.filter(function(o) { return o.option == 'cipher' })[0], c = co.formvalue(section_id); - if (value == 'wpa' || value == 'wpa2' || value == 'wpa3' || value == 'wpa3-mixed') + if (value == 'wpa' || value == 'wpa2' || value == 'wpa3' || value == 'wpa3-mixed' || value == 'wpa3-192') uci.unset('wireless', section_id, 'key'); - if (co.isActive(section_id) && e && (c == 'tkip' || c == 'ccmp' || c == 'tkip+ccmp')) + if (co.isActive(section_id) && e && (c == 'tkip' || c == 'ccmp' || c == 'ccmp256' || c == 'gcmp' || c == 'gcmp256' || c == 'tkip+ccmp')) e += '+' + c; uci.set('wireless', section_id, 'encryption', e); @@ -1231,6 +1320,7 @@ return view.extend({ o.depends('encryption', 'wpa2'); o.depends('encryption', 'wpa3'); o.depends('encryption', 'wpa3-mixed'); + o.depends('encryption', 'wpa3-192'); o.depends('encryption', 'psk'); o.depends('encryption', 'psk2'); o.depends('encryption', 'wpa-mixed'); @@ -1306,6 +1396,7 @@ return view.extend({ if (has_ap_eap192 || has_sta_eap192) { crypto_modes.push(['wpa3', 'WPA3-EAP', 33]); crypto_modes.push(['wpa3-mixed', 'WPA2-EAP/WPA3-EAP Mixed Mode', 32]); + crypto_modes.push(['wpa3-192', 'WPA3-EAP 192-bit Mode', 36]); } crypto_modes.push(['wpa2', 'WPA2-EAP', 34]); @@ -1329,6 +1420,7 @@ return view.extend({ 'wpa2': has_ap_eap || _('Requires hostapd with EAP support'), 'wpa3': has_ap_eap192 || _('Requires hostapd with EAP Suite-B support'), 'wpa3-mixed': has_ap_eap192 || _('Requires hostapd with EAP Suite-B support'), + 'wpa3-192': has_ap_eap192 || _('Requires hostapd with EAP Suite-B support'), 'owe': has_ap_owe || _('Requires hostapd with OWE support') }, 'sta': { @@ -1343,6 +1435,7 @@ return view.extend({ 'wpa2': has_sta_eap || _('Requires wpa-supplicant with EAP support'), 'wpa3': has_sta_eap192 || _('Requires wpa-supplicant with EAP Suite-B support'), 'wpa3-mixed': has_sta_eap192 || _('Requires wpa-supplicant with EAP Suite-B support'), + 'wpa3-192': has_sta_eap192 || _('Requires wpa-supplicant with EAP Suite-B support'), 'owe': has_sta_owe || _('Requires wpa-supplicant with OWE support') }, 'adhoc': { @@ -1404,41 +1497,76 @@ return view.extend({ } + o = ss.taboption('encryption', form.Flag, 'ppsk', _('Enable Private PSK (PPSK)'), _('Private Pre-Shared Key (PPSK) allows the use of different Pre-Shared Key for each STA MAC address. Private MAC PSKs are stored on the RADIUS server.')); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'] }); + o = ss.taboption('encryption', form.Value, 'auth_server', _('RADIUS Authentication Server')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['1'] }); o.rmempty = true; o.datatype = 'host(0)'; o = ss.taboption('encryption', form.Value, 'auth_port', _('RADIUS Authentication Port')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['1'] }); o.rmempty = true; o.datatype = 'port'; o.placeholder = '1812'; o = ss.taboption('encryption', form.Value, 'auth_secret', _('RADIUS Authentication Secret')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['1'] }); o.rmempty = true; o.password = true; o = ss.taboption('encryption', form.Value, 'acct_server', _('RADIUS Accounting Server')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o.rmempty = true; o.datatype = 'host(0)'; o = ss.taboption('encryption', form.Value, 'acct_port', _('RADIUS Accounting Port')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o.rmempty = true; o.datatype = 'port'; o.placeholder = '1813'; o = ss.taboption('encryption', form.Value, 'acct_secret', _('RADIUS Accounting Secret')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o.rmempty = true; o.password = true; /* extra RADIUS settings start */ + var attr_validate = function(section_id, value) { + if (!value) + return true; + + if (!/^[0-9]+(:s:.+|:d:[0-9]+|:x:([0-9a-zA-Z]{2})+)?$/.test(value) ) + return _('Must be in %s format.').format('[:]'); + + return true; + }; + + var req_attr_syntax = _('Format:') + '<attr_id>[:<syntax:value>]' + '
' + + 'syntax: s = %s; '.format(_('string (UTF-8)')) + 'd = %s; '.format(_('integer')) + 'x = %s'.format(_('octet string')) + + /* https://w1.fi/cgit/hostap/commit/?id=af35e7af7f8bb1ca9f0905b4074fb56a264aa12b */ + o = ss.taboption('encryption', form.DynamicList, 'radius_auth_req_attr', _('RADIUS Access-Request attributes'), + _('Attributes to add/replace in each request.') + '
' + req_attr_syntax ); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + o.rmempty = true; + o.validate = attr_validate; + o.placeholder = '126:s:Operator'; + + o = ss.taboption('encryption', form.DynamicList, 'radius_acct_req_attr', _('RADIUS Accounting-Request attributes'), + _('Attributes to add/replace in each request.') + '
' + req_attr_syntax ); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + o.rmempty = true; + o.validate = attr_validate; + o.placeholder = '77:x:74657374696e67'; + o = ss.taboption('encryption', form.ListValue, 'dynamic_vlan', _('RADIUS Dynamic VLAN Assignment'), _('Required: Rejects auth if RADIUS server does not provide appropriate VLAN attributes.')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['1'] }); o.value('0', _('Disabled')); o.value('1', _('Optional')); o.value('2', _('Required')); @@ -1447,14 +1575,17 @@ return view.extend({ } o = ss.taboption('encryption', form.Flag, 'per_sta_vif', _('RADIUS Per STA VLAN'), _('Each STA is assigned its own AP_VLAN interface.')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['1'] }); //hostapd internally defaults to vlan_naming=1 even with dynamic VLAN off o = ss.taboption('encryption', form.Flag, 'vlan_naming', _('RADIUS VLAN Naming'), _('Off: vlanXXX, e.g., vlan1. On: vlan_tagged_interface.XXX, e.g. eth0.1.')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['1'] }); o = ss.taboption('encryption', widgets.DeviceSelect, 'vlan_tagged_interface', _('RADIUS VLAN Tagged Interface'), _('E.g. eth0, eth1')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['1'] }); o.size = 1; o.rmempty = true; o.multiple = false; @@ -1463,23 +1594,25 @@ return view.extend({ o.noinactive = true; o = ss.taboption('encryption', form.Value, 'vlan_bridge', _('RADIUS VLAN Bridge Naming Scheme'), _('E.g. br-vlan or brvlan.')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['1'] }); o.rmempty = true; + /* extra RADIUS settings end */ o = ss.taboption('encryption', form.Value, 'dae_client', _('DAE-Client'), _('Dynamic Authorization Extension client.')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o.rmempty = true; o.datatype = 'host(0)'; o = ss.taboption('encryption', form.Value, 'dae_port', _('DAE-Port'), _('Dynamic Authorization Extension port.')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o.rmempty = true; o.datatype = 'port'; o.placeholder = '3799'; o = ss.taboption('encryption', form.Value, 'dae_secret', _('DAE-Secret'), _('Dynamic Authorization Extension secret.')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o.rmempty = true; o.password = true; @@ -1489,10 +1622,8 @@ return view.extend({ o = ss.taboption('encryption', form.Value, '_wpa_key', _('Key')); - o.depends('encryption', 'psk'); - o.depends('encryption', 'psk2'); - o.depends('encryption', 'psk+psk2'); - o.depends('encryption', 'psk-mixed'); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'], ppsk: ['0'] }); + add_dependency_permutations(o, { mode: ['sta', 'adhoc', 'mesh', 'sta-wds'], encryption: ['psk', 'psk2', 'psk+psk2', 'psk-mixed'] }); o.depends('encryption', 'sae'); o.depends('encryption', 'sae-mixed'); o.datatype = 'wpakey'; @@ -1551,13 +1682,13 @@ return view.extend({ var has_80211r = L.hasSystemFeature('hostapd', '11r') || L.hasSystemFeature('hostapd', 'eap'); o = ss.taboption('roaming', form.Flag, 'ieee80211r', _('802.11r Fast Transition'), _('Enables fast roaming among access points that belong to the same Mobility Domain')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa2', 'wpa3', 'wpa3-mixed', , 'wpa3-192'] }); if (has_80211r) - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk-mixed', 'sae', 'sae-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk2', 'psk-mixed', 'sae', 'sae-mixed'] }); o.rmempty = true; o = ss.taboption('roaming', form.Value, 'nasid', _('NAS ID'), _('Used for two different purposes: RADIUS NAS ID and 802.11r R0KH-ID. Not needed with normal WPA(2)-PSK.')); - add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o.depends({ ieee80211r: '1' }); o.rmempty = true; @@ -1580,7 +1711,7 @@ return view.extend({ o.rmempty = true; o = ss.taboption('roaming', form.Flag, 'ft_psk_generate_local', _('Generate PMK locally'), _('When using a PSK, the PMK can be automatically generated. When enabled, the R0/R1 key options below are not applied. Disable this to use the R0 and R1 key options.')); - o.depends({ ieee80211r: '1' }); + add_dependency_permutations(o, { ieee80211r: ['1'], mode: ['ap', 'ap-wds'], encryption: ['psk2', 'psk-mixed'] }); o.default = o.enabled; o.rmempty = false; @@ -1612,8 +1743,8 @@ return view.extend({ // Probe 802.11k and 802.11v support via EAP support (full hostapd has EAP) if (L.hasSystemFeature('hostapd', 'eap')) { - /* 802.11k settings start */ o = - ss.taboption('roaming', form.Flag, 'ieee80211k', _('802.11k RRM'), _('Radio Resource Measurement - Sends beacons to assist roaming. Not all clients support this.')); + /* 802.11k settings start */ + o = ss.taboption('roaming', form.Flag, 'ieee80211k', _('802.11k RRM'), _('Radio Resource Measurement - Sends beacons to assist roaming. Not all clients support this.')); // add_dependency_permutations(o, { mode: ['ap', 'ap-wds'], encryption: ['psk', 'psk2', 'psk-mixed', 'sae', 'sae-mixed'] }); o.depends('mode', 'ap'); o.depends('mode', 'ap-wds'); @@ -1666,13 +1797,13 @@ return view.extend({ o.value('ttls', 'TTLS'); o.value('peap', 'PEAP'); o.value('fast', 'FAST'); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o = ss.taboption('encryption', form.Flag, 'ca_cert_usesystem', _('Use system certificates'), _("Validate server certificate using built-in system CA bundle,
requires the \"ca-bundle\" package")); o.enabled = '1'; o.disabled = '0'; o.default = o.disabled; - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o.validate = function(section_id, value) { if (value == '1' && !L.hasSystemFeature('cabundle')) { return _("This option cannot be used because the ca-bundle package is not installed."); @@ -1681,28 +1812,28 @@ return view.extend({ }; o = ss.taboption('encryption', form.FileUpload, 'ca_cert', _('Path to CA-Certificate')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], ca_cert_usesystem: ['0'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], ca_cert_usesystem: ['0'] }); o = ss.taboption('encryption', form.Value, 'subject_match', _('Certificate constraint (Subject)'), _("Certificate constraint substring - e.g. /CN=wifi.mycompany.com
See `logread -f` during handshake for actual values")); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o = ss.taboption('encryption', form.DynamicList, 'altsubject_match', _('Certificate constraint (SAN)'), _("Certificate constraint(s) via Subject Alternate Name values
(supported attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com")); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o = ss.taboption('encryption', form.DynamicList, 'domain_match', _('Certificate constraint (Domain)'), _("Certificate constraint(s) against DNS SAN values (if available)
or Subject CN (exact match)")); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o = ss.taboption('encryption', form.DynamicList, 'domain_suffix_match', _('Certificate constraint (Wildcard)'), _("Certificate constraint(s) against DNS SAN values (if available)
or Subject CN (suffix match)")); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'] }); o = ss.taboption('encryption', form.FileUpload, 'client_cert', _('Path to Client-Certificate')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], eap_type: ['tls'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], eap_type: ['tls'] }); o = ss.taboption('encryption', form.FileUpload, 'priv_key', _('Path to Private Key')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], eap_type: ['tls'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], eap_type: ['tls'] }); o = ss.taboption('encryption', form.Value, 'priv_key_pwd', _('Password of Private Key')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], eap_type: ['tls'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], eap_type: ['tls'] }); o.password = true; o = ss.taboption('encryption', form.ListValue, 'auth', _('Authentication')); @@ -1714,7 +1845,7 @@ return view.extend({ o.value('EAP-MD5', 'EAP-MD5'); o.value('EAP-MSCHAPV2', 'EAP-MSCHAPv2'); o.value('EAP-TLS', 'EAP-TLS'); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], eap_type: ['fast', 'peap', 'ttls'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], eap_type: ['fast', 'peap', 'ttls'] }); o.validate = function(section_id, value) { var eo = this.section.children.filter(function(o) { return o.option == 'eap_type' })[0], @@ -1730,7 +1861,7 @@ return view.extend({ o.enabled = '1'; o.disabled = '0'; o.default = o.disabled; - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'] }); o.validate = function(section_id, value) { if (value == '1' && !L.hasSystemFeature('cabundle')) { return _("This option cannot be used because the ca-bundle package is not installed."); @@ -1739,38 +1870,38 @@ return view.extend({ }; o = ss.taboption('encryption', form.FileUpload, 'ca_cert2', _('Path to inner CA-Certificate')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'], ca_cert2_usesystem: ['0'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'], ca_cert2_usesystem: ['0'] }); o = ss.taboption('encryption', form.Value, 'subject_match2', _('Inner certificate constraint (Subject)'), _("Certificate constraint substring - e.g. /CN=wifi.mycompany.com
See `logread -f` during handshake for actual values")); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'] }); o = ss.taboption('encryption', form.DynamicList, 'altsubject_match2', _('Inner certificate constraint (SAN)'), _("Certificate constraint(s) via Subject Alternate Name values
(supported attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com")); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'] }); o = ss.taboption('encryption', form.DynamicList, 'domain_match2', _('Inner certificate constraint (Domain)'), _("Certificate constraint(s) against DNS SAN values (if available)
or Subject CN (exact match)")); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'] }); o = ss.taboption('encryption', form.DynamicList, 'domain_suffix_match2', _('Inner certificate constraint (Wildcard)'), _("Certificate constraint(s) against DNS SAN values (if available)
or Subject CN (suffix match)")); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'] }); o = ss.taboption('encryption', form.FileUpload, 'client_cert2', _('Path to inner Client-Certificate')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'] }); o = ss.taboption('encryption', form.FileUpload, 'priv_key2', _('Path to inner Private Key')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'] }); o = ss.taboption('encryption', form.Value, 'priv_key2_pwd', _('Password of inner Private Key')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], auth: ['EAP-TLS'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], auth: ['EAP-TLS'] }); o.password = true; o = ss.taboption('encryption', form.Value, 'identity', _('Identity')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], eap_type: ['fast', 'peap', 'tls', 'ttls'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], eap_type: ['fast', 'peap', 'tls', 'ttls'] }); o = ss.taboption('encryption', form.Value, 'anonymous_identity', _('Anonymous Identity')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], eap_type: ['fast', 'peap', 'tls', 'ttls'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], eap_type: ['fast', 'peap', 'tls', 'ttls'] }); o = ss.taboption('encryption', form.Value, 'password', _('Password')); - add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed'], eap_type: ['fast', 'peap', 'ttls'] }); + add_dependency_permutations(o, { mode: ['sta', 'sta-wds'], encryption: ['wpa', 'wpa2', 'wpa3', 'wpa3-mixed', 'wpa3-192'], eap_type: ['fast', 'peap', 'ttls'] }); o.password = true; @@ -1809,27 +1940,24 @@ return view.extend({ o.placeholder = '201'; o.rmempty = true; - var version_omr = uci.get('openmptcprouter', 'settings', 'version') || ''; - if (!version_omr.includes('5.4')) { - if (L.hasSystemFeature('hostapd', 'ocv') || L.hasSystemFeature('wpasupplicant', 'ocv')) { - o = ss.taboption('encryption', form.ListValue, 'ocv', _('Operating Channel Validation'), _("Note: Workaround mode allows a STA that claims OCV capability to connect even if the STA doesn't send OCI or negotiate PMF.")); - o.value('0', _('Disabled')); - o.value('1', _('Enabled')); - o.value('2', _('Enabled (workaround mode)')); - o.default = '0'; - o.depends('ieee80211w', '1'); - o.depends('ieee80211w', '2'); + if (L.hasSystemFeature('hostapd', 'ocv') || L.hasSystemFeature('wpasupplicant', 'ocv')) { + o = ss.taboption('encryption', form.ListValue, 'ocv', _('Operating Channel Validation'), _("Note: Workaround mode allows a STA that claims OCV capability to connect even if the STA doesn't send OCI or negotiate PMF.")); + o.value('0', _('Disabled')); + o.value('1', _('Enabled')); + o.value('2', _('Enabled (workaround mode)')); + o.default = '0'; + o.depends('ieee80211w', '1'); + o.depends('ieee80211w', '2'); - o.validate = function(section_id, value) { - var modeopt = this.section.children.filter(function(o) { return o.option == 'mode' })[0], - modeval = modeopt.formvalue(section_id); + o.validate = function(section_id, value) { + var modeopt = this.section.children.filter(function(o) { return o.option == 'mode' })[0], + modeval = modeopt.formvalue(section_id); - if ((value == '2') && ((modeval == 'sta') || (modeval == 'sta-wds'))) { - return _('Workaround mode can only be used when acting as an access point.'); - } - - return true; + if ((value == '2') && ((modeval == 'sta') || (modeval == 'sta-wds'))) { + return _('Workaround mode can only be used when acting as an access point.'); } + + return true; } } @@ -2029,6 +2157,7 @@ return view.extend({ } var htmodes = radioDev.getHTModes(); + if (bss.vht_operation && htmodes && htmodes.indexOf('VHT20') !== -1) { for (var w = bss.vht_operation.channel_width; w >= 20; w /= 2) { if (htmodes.indexOf('VHT'+w) !== -1) { @@ -2044,6 +2173,7 @@ return view.extend({ else { uci.remove('wireless', radioDev.getName(), 'htmode'); } + uci.set('wireless', radioDev.getName(), 'channel', bss.channel); section_id = next_free_sid(wifi_sections.length); @@ -2145,7 +2275,9 @@ return view.extend({ replace = s2.option(form.Flag, 'replace', _('Replace wireless configuration'), _('Check this option to delete the existing networks from this radio.')); - name = s2.option(form.Value, 'name', _('Name of the new network'), _('The allowed characters are: A-Z, a-z, 0-9 and _')); + name = s2.option(form.Value, 'name', _('Name of the new network'), + _('Name for OpenWrt network configuration. (No relation to wireless network name/SSID)') + '
' + + _('The allowed characters are: A-Z, a-z, 0-9 and _')); name.datatype = 'uciname'; name.default = 'wwan'; name.rmempty = false; @@ -2292,6 +2424,10 @@ return view.extend({ return hosts_radios_wifis; }); }, network)) + .then(L.bind(function(zones, data) { + data.push(zones); + return data; + }, network, zones)) .then(L.bind(this.poll_status, this, nodes)); }, this), 5); From eae54dd7a29948412ba5ef46f25ed5bfd5b17e85 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 4 Mar 2025 16:34:32 +0100 Subject: [PATCH 198/199] Fix stop proxy redirection in case if restarted and still down --- omr-tracker/files/bin/omr-tracker-ss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index 298ed45c6..13a90ef22 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -159,7 +159,8 @@ while true; do last=$((last + 1 )) [ -z "$nocontact" ] && nocontact="$host" || nocontact="$nocontact, $host" [ "${last}" -ge "${retry}" ] && { - if [ "$OMR_TRACKER_PREV_STATUS" != "ERROR" ] && { [ -n "$($IPTABLES -w -t nat -L -n 2>/dev/null | grep ssr)" ] || [ -n "$(nft list ruleset 2>/dev/null | grep ss_r)" ] || [ -n "$(nft list ruleset 2>/dev/null | grep ssr_r)" ]; }; then + #if [ "$OMR_TRACKER_PREV_STATUS" != "ERROR" ] && { [ -n "$($IPTABLES -w -t nat -L -n 2>/dev/null | grep ssr)" ] || [ -n "$(nft list ruleset 2>/dev/null | grep ss_r)" ] || [ -n "$(nft list ruleset 2>/dev/null | grep ssr_r)" ]; }; then + if [ -n "$($IPTABLES -w -t nat -L -n 2>/dev/null | grep ssr)" ] || [ -n "$(nft list ruleset 2>/dev/null | grep ss_r)" ] || [ -n "$(nft list ruleset 2>/dev/null | grep ssr_r)" ]; then _log "Shadowsocks $type ${server} is down (can't contact via http ${nocontact})" OMR_TRACKER_STATUS_MSG="Shadowsocks $type ${server} is down (can't contact via http ${nocontact})" uci -q set openmptcprouter.omr.ss_${server}="down" From 69d3d21b6b463e907819bd1b82f0f29b77555f60 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 7 Mar 2025 17:09:49 +0100 Subject: [PATCH 199/199] Fix issue when VPS have multiples IPs and last one is not working in openmptcprouter-vps init --- openmptcprouter/files/etc/init.d/openmptcprouter-vps | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index d63ee38cb..a987b1ce3 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -42,8 +42,8 @@ _login() { #[ -z "$server" ] && server="$(uci -q get openmptcprouter.${servername}.ip)" if [ -z "$token" ]; then login_on_server() { - server=$1 [ -n "$token" ] && return + server=$1 #auth=`curl --max-time 10 -s -k -H "Content-Type: application/json" -X POST -d '{"username":"'$username'","password":"'$password'"}' https://$server:$serverport/login` #resolve="$(resolveip -t 5 $server)" valid_ip6=$(valid_subnet6 $server) @@ -83,7 +83,7 @@ _get_json() { route=$1 [ -z "$token" ] && _login [ -n "$token" ] && { - resolve="$(resolveip -t 5 $server)" + #resolve="$(resolveip -t 5 $server)" valid_ip6=$(valid_subnet6 $server) if [ "$valid_ip6" = "ok" ]; then result=`curl --max-time 10 -s -k -H "accept: application/json" -H "Authorization: Bearer $token" https://[$server]:$serverport/$route` @@ -115,7 +115,7 @@ _set_json() { settings="$2" [ -z "$token" ] && _login [ -n "$token" ] && { - resolve="$(resolveip -t 5 $server)" + #resolve="$(resolveip -t 5 $server)" valid_ip6=$(valid_subnet6 $server) if [ "$valid_ip6" = "ok" ]; then result=`curl --max-time 10 -s -k -H "Authorization: Bearer $token" -H "Content-Type: application/json" -X POST -d "$settings" https://[$server]:$serverport/$route`
From 7a89fb070a6f73e95518bd2a69ad82233c9c8046 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 15 Nov 2024 17:31:15 +0100 Subject: [PATCH 041/199] Add Link Quality check support for httping in OMR-Tracker --- omr-tracker/files/bin/omr-tracker | 35 +++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index d2c629a00..0bcec9785 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -164,6 +164,7 @@ _ping() { "${host}" 2>&1 ) loss=$(echo "$ret" | awk '/packet loss/ {gsub("%","");print $6}' | tr -d '\n') + if [ -n "$loss" ] && [ "$loss" != "100" ]; then if [ "$localip" = "yes" ]; then latency=$(echo "$ret" | awk -F/ '/rtt/ {print int($5)}' | tr -d '\n') @@ -205,7 +206,7 @@ _ping() { fi false } - +#' _httping() { local host=$1 local deviceip=$2 @@ -216,25 +217,41 @@ _httping() { -y "${deviceip}" \ -t "$OMR_TRACKER_TIMEOUT" \ -c "$OMR_TRACKER_COUNT" 2>&1 - ) && echo "$ret" | grep -sq "1 ok" && { + ) + bindcheck=$(echo "$ret" | grep "Address not available") + [ -n "$bindcheck" ] && OMR_TRACKER_NO_BIND=1 + loss=$(echo "$ret" | awk '/failed/ {gsub("%",""); print int($5)}' | tr -d '\n') + if [ -n "$loss" ] && [ "$loss" != "100" ]; then if [ "$localip" = "yes" ]; then - OMR_TRACKER_LATENCY=$(echo "$ret" | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') - #_update_rto "$OMR_TRACKER_LATENCY" + latency=$(echo "$ret" | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') + [ -n "$latency" ] && { + OMR_TRACKER_LATENCY="$latency" + #_update_rto "$OMR_TRACKER_LATENCY" + } + OMR_TRACKER_LOSS="$loss" fi return - } + fi else ret=$(httping -l "${host}" \ -y "${deviceip}" \ -t "$OMR_TRACKER_TIMEOUT" \ -c "$OMR_TRACKER_COUNT" 2>&1 - ) && echo "$ret" | grep -sq "1 ok" && { + ) + bindcheck=$(echo "$ret" | grep "Address not available") + [ -n "$bindcheck" ] && OMR_TRACKER_NO_BIND=1 + loss=$(echo "$ret" | awk '/failed/ {gsub("%",""); print int($5)}' | tr -d '\n') + if [ -n "$loss" ] && [ "$loss" != "100" ]; then if [ "$localip" = "yes" ]; then - OMR_TRACKER_LATENCY=$(echo "$ret" | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') - #_update_rto "$OMR_TRACKER_LATENCY" + latency=$(echo "$ret" | cut -d "/" -s -f5 | cut -d "." -f1 | tr -d '\n') + [ -n "$latency" ] && { + OMR_TRACKER_LATENCY="$latency" + #_update_rto "$OMR_TRACKER_LATENCY" + } + OMR_TRACKER_LOSS="$loss" fi return - } + fi fi false } From 273c97c26a6169bbfc80016a3d63ca896c660df4 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 18 Nov 2024 15:28:09 +0100 Subject: [PATCH 042/199] Fix Shadowsocks-rust init script --- shadowsocks-rust/files/shadowsocks-rust.init-nft | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index 72394c3da..dc3b2c9a4 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -423,6 +423,6 @@ validate_ss_server_section() { validate_ss_tunnel_section() { validate_common_client_options_ ss_tunnel "$1" \ "$2" \ - 'forward_address:host' + 'forward_address:host' \ 'forward_port:uinteger' } From 96a10d87fff99f3431004b098bad2a065a60152d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 18 Nov 2024 16:51:45 +0100 Subject: [PATCH 043/199] Fix Shadowsocks-Rust ss-tunnel --- .../files/shadowsocks-rust.init-nft | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index dc3b2c9a4..ac349f84d 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -55,10 +55,15 @@ ss_mkjson_ss_server_conf() { ss_mkjson_ss_tunnel_conf() { ss_mkjson_server_conf || return 1 - [ -n "$forward_address" ] || return 1 - [ -n "$forward_port" ] || return 1 - json_add_string forward_address "$forward_address" - json_add_int forward_port "$forward_port" + json_add_array "locals" + json_add_object "" + json_add_string protocol "${cfgtype/ss_/}" + [ -z "$forward_address" ] || json_add_string forward_address "$forward_address" + [ -z "$forward_port" ] || json_add_int forward_port "$forward_port" + [ -z "$local_address" ] || json_add_string local_address "$local_address" + [ -z "$local_port" ] || json_add_int local_port "$local_port" + json_close_object + json_close_array } ss_xxx() { @@ -81,11 +86,13 @@ ss_xxx() { json_add_boolean reuse_port "$reuse_port" json_add_boolean no_delay "$no_delay" json_add_boolean mptcp "$mptcp" - [ "$cfgtype" != "ss_local" ] && json_add_string protocol "${cfgtype/ss_/}" - [ -z "$local_address" ] || json_add_string local_address "$local_address" - [ -z "$local_port" ] || json_add_int local_port "$local_port" - [ -z "$local_ipv4_address" ] || json_add_string local_ipv4_address "$local_ipv4_address" - [ -z "$local_ipv6_address" ] || json_add_string local_ipv6_address "$local_ipv6_address" + #[ "$cfgtype" != "ss_local" ] && json_add_string protocol "${cfgtype/ss_/}" + if [ "$cfgtype" != "ss_tunnel" ]; then + [ -z "$local_address" ] || json_add_string local_address "$local_address" + [ -z "$local_port" ] || json_add_int local_port "$local_port" + [ -z "$local_ipv4_address" ] || json_add_string local_ipv4_address "$local_ipv4_address" + [ -z "$local_ipv6_address" ] || json_add_string local_ipv6_address "$local_ipv6_address" + fi [ -z "$mode" ] || json_add_string mode "$mode" [ -z "$mtu" ] || json_add_int mtu "$mtu" [ -z "$timeout" ] || json_add_int timeout "$timeout" From 051d9432b70c3d5ffa115f90dc9442c3fdb25c77 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 20 Nov 2024 20:08:32 +0100 Subject: [PATCH 044/199] Fix r4s image --- openmptcprouter-full/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 3417904b9..d58738041 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -77,7 +77,7 @@ MY_DEPENDS := \ usb-modeswitch !(TARGET_mvebu||TARGET_ipq806x):uqmi \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):umbim !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-mii !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-wdm !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net-qmi-wwan !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net-cdc-mbim !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):umbim \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-huawei-cdc-ncm !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-rndis !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-cdc-ether !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-ipheth !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):usbmuxd !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):libusbmuxd \ - !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-proto-qmi !LINUX_5_4:wpad-mesh-openssl !LINUX_5_4:libopenssl-legacy LINUX_5_4:wpad-basic TARGET_r4s:kmod-r8168 (TARGET_x86||TARGET_x86_64):kmod-usb-net-rtl8152 \ + !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-proto-qmi !LINUX_5_4:wpad-mesh-openssl !LINUX_5_4:libopenssl-legacy LINUX_5_4:wpad-basic (TARGET_x86||TARGET_x86_64):kmod-usb-net-rtl8152 \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-app-mlvpn !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):mlvpn 464xlat kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss iptraf-ng \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim luci-app-ttyd luci-mod-dashboard kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \ hwinfo (TARGET_x86||TARGET_x86_64):dmidecode kmod-bonding luci-proto-bonding luci-app-sysupgrade \ @@ -88,14 +88,14 @@ MY_DEPENDS := \ xray-core LINUX_5_4:xray-config !LINUX_5_4:xray-config-nft \ shadowsocks-rust-sslocal shadowsocks-rust-ssservice LINUX_5_4:shadowsocks-rust-config !LINUX_5_4:shadowsocks-rust-config-nft luci-app-shadowsocks-rust \ luci-proto-external omr-schedule jq luci-app-ddns \ - mbim-utils (TARGET_x86||TARGET_x86_64):kmod-r8169 !(TARGET_ipq40xx||TARGET_x86_64):kmod-mt7601u !TARGET_x86_64:kmod-ath9k-htc \ + mbim-utils (TARGET_x86||TARGET_x86_64||TARGET_rockchip_armv8):kmod-r8169 !(TARGET_ipq40xx||TARGET_x86_64):kmod-mt7601u !TARGET_x86_64:kmod-ath9k-htc \ TARGET_mvebu:kmod-mwlwifi TARGET_mvebu:mwlwifi-firmware-88w8864 TARGET_mvebu:mwlwifi-firmware-88w8897 TARGET_mvebu:mwlwifi-firmware-88w8964 TARGET_mvebu:mwlwifi-firmware-88w8997 \ (LINUX_5_4&&(TARGET_x86_64||TARGET_aarch64)):kmod-tcp-bbr2 \ TARGET_x86_64:kmod-atlantic \ !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ - !(LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ovpn-dco-v2 lspci TARGET_rockchip:kmod-r8125 + !(LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ovpn-dco-v2 lspci -# !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 \ +# !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax201 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax200 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax210 \ # !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware # shadowsocks-rust-sslocal shadowsocks-rust-ssservice LINUX_5_4:shadowsocks-rust-config !LINUX_5_4:shadowsocks-rust-config-nft luci-app-shadowsocks-rust \ From 3d8b9360b4fb5ca79101f8bc245c9a66002b9a35 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 20 Nov 2024 20:09:06 +0100 Subject: [PATCH 045/199] Fix MPTCP BPF Scheduler and use ip4table --- mptcp/files/etc/init.d/mptcp | 47 +++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index ddca7b9b1..dbaa90b03 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -31,6 +31,7 @@ global_multipath_settings() { config_get mptcp_version globals mptcp_version "0" config_get mptcp_stale_loss_cnt globals mptcp_stale_loss_cnt "4" config_get mptcp_pm_type globals mptcp_pm_type "1" + config_get mptcp_allow_join_initial_addr_port globals mptcp_allow_join_initial_addr_port "1" [ "$multipath" = "enable" ] && multipath_status=1 @@ -62,16 +63,16 @@ global_multipath_settings() { fi ip mptcp limits set add_addr_accepted $mptcp_add_addr_accepted subflows $mptcp_subflows >/dev/null 2>&1 #[ -z "$mptcp_debug" ] || sysctl -qew net.mptcp.mptcp_debug="$mptcp_debug" - [ -z "$mptcp_checksum" ] || sysctl -qew net.mptcp.mptcp_checksum="$mptcp_checksum" [ -z "$mptcp_add_addr_timeout" ] || sysctl -qew net.mptcp.add_addr_timeout="$mptcp_add_addr_timeout" [ -z "$mptcp_checksum" ] || sysctl -qew net.mptcp.checksum_enabled="$mptcp_checksum" [ -z "$mptcp_stale_loss_cnt" ] || sysctl -qew net.mptcp.stale_loss_cnt="$mptcp_stale_loss_cnt" [ -z "$mptcp_pm_type" ] || sysctl -qew net.mptcp.pm_type="$mptcp_pm_type" + [ -z "$mptcp_allow_join_initial_addr_port" ] || sysctl -qew net.mptcp.allow_join_initial_addr_port="$mptcp_allow_initial_addr_port" if [ -n "$mptcp_scheduler" ]; then for scheduler in $(ls -1 /usr/share/bpf/scheduler/*.o); do bpftool struct_ops register $scheduler >/dev/null 2>&1 done - sysctl -qew net.mptcp.scheduler="$mptcp_scheduler" + sysctl -qew net.mptcp.scheduler="$(echo $mptcp_scheduler | sed 's/mptcp_//' 's/.o//')" >/dev/null 2>&1 fi fi [ -z "$congestion" ] || sysctl -qew net.ipv4.tcp_congestion_control="$congestion" @@ -87,13 +88,14 @@ interface_macaddr_count() { interface_max_metric() { local config="$1" if [ "$1" != "omrvpn" ] && [ "$1" != "omr6in4" ] && [ "$1" != "lan" ] && [ "$1" != "loopback" ]; then - config_get metric "$config" metric + config_get metric "$config" ip4table if [ "$metric" -gt "$count" ] && [ "$metric" -lt "1000" ]; then count=$metric fi elif [ "$1" = "omrvpn" ]; then uci -q batch <<-EOF >/dev/null set network.${config}.metric=1500 + set network.${config}.ip4table=1500 commit network set openmptcprouter.${config}.metric=1500 commit openmptcprouter @@ -101,6 +103,7 @@ interface_max_metric() { elif [ "$1" = "omr6in4" ]; then uci -q batch <<-EOF >/dev/null set network.${config}.metric=1201 + set network.${config}.ip4table=1201 commit network set openmptcprouter.${config}.metric=1201 commit openmptcprouter @@ -109,7 +112,7 @@ interface_max_metric() { } interface_multipath_settings() { - local mode iface proto metric + local mode iface proto metric ip4table local config="$1" local intf="$2" local enabled @@ -130,20 +133,26 @@ interface_multipath_settings() { metric="$(uci -q get openmptcprouter.${config}.metric)" fi [ "$metric" -gt 1000 ] && [ "${config}" != "omrvpn" ] && [ "${config}" != "omr6in4" ] && [ "${config}" != "loopback" ] && metric=$((metric-1000)) - if [ "${config}" = "lan" ] || [ "$(uci -q get network.${config}.ip4table)" = "lan" ]; then + if [ "${config}" = "lan" ] || [ "$(uci -q get network.${config}.ip4table)" = "lan" ] || [ "$(uci -q get network.${config}.ip4table)" = "9999" ]; then metric="9999" elif [ "${config}" = "omrvpn" ]; then metric="1500" elif [ "${config}" = "omr6in4" ]; then metric="1201" + elif [ "$(uci -q get network.${config}.multipath)" = "off" ]; then + metric="9998" fi config_set "$config" metric $metric uci -q set network.${config}.metric=$metric + uci -q set network.${config}.ip4table=$metric + uci -q set network.${config}.ip6table=6$metric uci -q set openmptcprouter.${config}.metric=$metric config_get mode "$config" multipath config_get disabled "$config" disabled [ "$disabled" = "1" ] && mode="off" id=$metric + ip4table=$metric + ip6table=6$metric [ -n "$iface" ] && { gro=$(uci -q get network.${config}.gro) [ "$gro" = "1" ] && ethtool -K $iface gro on >/dev/null 2>&1 @@ -282,7 +291,7 @@ interface_multipath_settings() { commit network EOF else - [ -n "$(ip rule list | grep $id)" ] && ip rule del table $id > /dev/null 2>&1 + [ -n "$(ip rule list | grep $id)" ] && ip rule del table $ip4table > /dev/null 2>&1 ip route flush $id > /dev/null 2>&1 fi @@ -300,7 +309,7 @@ interface_multipath_settings() { set network.${config}_route.interface=${config} set network.${config}_route.target=${network} set network.${config}_route.netmask=${netmask} - set network.${config}_route.table=${id} + set network.${config}_route.table=${ip4table} set network.${config}_route.created=mptcp delete network.${config}_route_default set network.${config}_route_default=route @@ -308,16 +317,16 @@ interface_multipath_settings() { set network.${config}_route_default.target='0.0.0.0' set network.${config}_route_default.netmask='0.0.0.0' set network.${config}_route_default.gateway=$gateway - set network.${config}_route_default.table=${id} + set network.${config}_route_default.table=${ip4table} set network.${config}_route_default.created=mptcp commit network EOF else - [ -n "$ipaddr" ] && [ -z "$(ip rule show from $ipaddr table $id)" ] && ip rule add from $ipaddr table $id pref 0 - [ -z "$(ip rule show oif $iface table $id)" ] && ip rule add oif $iface table $id pref 0 + [ -n "$ipaddr" ] && [ -z "$(ip rule show from $ipaddr table $ip4table)" ] && ip rule add from $ipaddr table $ip4table pref 0 + [ -z "$(ip rule show oif $iface table $ip4table)" ] && ip rule add oif $iface table $ip4table pref 0 ip route replace $network/$netmask dev $iface scope link metric $id $initcwrwnd >/dev/null 2>&1 - ip route replace $network/$netmask dev $iface scope link table $id $initcwrwnd >/dev/null 2>&1 - ip route replace default via $gateway dev $iface table $id $initcwrwnd >/dev/null 2>&1 + ip route replace $network/$netmask dev $iface scope link table $ip4table $initcwrwnd >/dev/null 2>&1 + ip route replace default via $gateway dev $iface table $ip4table $initcwrwnd >/dev/null 2>&1 [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip route replace default via $gateway dev $iface metric $id $initcwrwnd >/dev/null 2>&1 #ip route flush cache $id >/dev/null 2>&1 fi @@ -376,7 +385,7 @@ interface_multipath_settings() { commit network EOF else - [ -n "$(ip -6 rule list | grep 6$id)" ] && ip -6 rule del table 6$id > /dev/null 2>&1 + [ -n "$(ip -6 rule list | grep 6$id)" ] && ip -6 rule del table $ip6table > /dev/null 2>&1 ip -6 route flush 6$id > /dev/null 2>&1 fi if [ -n "$gateway6" ] && [ -n "$network6" ]; then @@ -393,23 +402,23 @@ interface_multipath_settings() { set network.${config}_route6=route6 set network.${config}_route6.interface=${config} set network.${config}_route6.target=${network6}/${netmask6} - set network.${config}_route6.table=6${id} + set network.${config}_route6.table=${ip6table} set network.${config}_route6.created=mptcp delete network.${config}_route6_default set network.${config}_route6_default=route6 set network.${config}_route6_default.interface=${config} set network.${config}_route6_default.target='::' set network.${config}_route6_default.gateway=$gateway6 - set network.${config}_route6_default.table=6${id} + set network.${config}_route6_default.table=${ip6table} set network.${config}_route6_default.created=mptcp commit network EOF else - [ -n "$ip6addr" ] && ip -6 rule add from $ip6addr table 6$id pref 0 >/dev/null 2>&1 - [ -z "$(ip rule show pref 0 table 6$id oif $iface)" ] && ip rule add oif $iface table 6$id pref 0 + [ -n "$ip6addr" ] && ip -6 rule add from $ip6addr table $ip6table pref 0 >/dev/null 2>&1 + [ -z "$(ip rule show pref 0 table $ip6table oif $iface)" ] && ip rule add oif $iface table $ip6table pref 0 ip -6 route replace $network6/$netmask6 dev $iface scope link metric 6$id $initcwrwnd >/dev/null 2>&1 - ip -6 route replace $network6/$netmask6 dev $iface scope link table 6$id $initcwrwnd >/dev/null 2>&1 - ip -6 route replace default via $gateway6 dev $iface table 6$id $initcwrwnd >/dev/null 2>&1 + ip -6 route replace $network6/$netmask6 dev $iface scope link table $ip6table $initcwrwnd >/dev/null 2>&1 + ip -6 route replace default via $gateway6 dev $iface table $ip6table $initcwrwnd >/dev/null 2>&1 [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && ip -6 route replace default via $gateway6 dev $iface metric 6$id $initcwrwnd >/dev/null 2>&1 #ip -6 route flush cache 6$id >/dev/null 2>&1 fi From a26255203e4a48eb6fd6f9cf9a016f313b416c6c Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 22 Nov 2024 09:46:07 +0100 Subject: [PATCH 046/199] Disable 9998 metric set when Multipath off --- mptcp/files/etc/init.d/mptcp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index dbaa90b03..7983ec0cc 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -139,8 +139,8 @@ interface_multipath_settings() { metric="1500" elif [ "${config}" = "omr6in4" ]; then metric="1201" - elif [ "$(uci -q get network.${config}.multipath)" = "off" ]; then - metric="9998" +# elif [ "$(uci -q get network.${config}.multipath)" = "off" ]; then +# metric="9998" fi config_set "$config" metric $metric uci -q set network.${config}.metric=$metric From 591b89c551898235f93e815748364d2664d5ae65 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 22 Nov 2024 09:46:39 +0100 Subject: [PATCH 047/199] Force eth0 on LAN for banana-pi R3 --- openmptcprouter/files/etc/uci-defaults/1920-omr-network | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openmptcprouter/files/etc/uci-defaults/1920-omr-network b/openmptcprouter/files/etc/uci-defaults/1920-omr-network index dd5ce04d8..96b3943ef 100755 --- a/openmptcprouter/files/etc/uci-defaults/1920-omr-network +++ b/openmptcprouter/files/etc/uci-defaults/1920-omr-network @@ -107,6 +107,8 @@ if [ "$(grep rockchip /etc/os-release)" != "" ]; then lanif="eth1" elif [ "$(grep filogic /etc/os-release)" != "" ]; then lanif="eth1" +elif [ "$(cat /etc/board.json | jsonfilter -q -e '@.model.id' | tr -d '\n')" = "bananapi_bpi-r3" ]; then + lanif="eth0" elif [ -d /sys/class/net/lan0 -o -n "$(ip link | grep ' lan0')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then lanif="wan" elif [ -d /sys/class/net/lan1 -o -n "$(ip link | grep ' lan1')" ] && [ -d /sys/class/net/wan -o -n "$(ip link | grep ' wan@')" -o -n "$(ip link | grep ' wan:')" ]; then From f9e4c3cf0ec4f1b405b55246ec318020f8b04fdc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 22 Nov 2024 11:16:38 +0100 Subject: [PATCH 048/199] Fix mptcp BPF scheduler --- mptcp/files/etc/init.d/mptcp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index 7983ec0cc..0a5ad56f2 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -72,7 +72,7 @@ global_multipath_settings() { for scheduler in $(ls -1 /usr/share/bpf/scheduler/*.o); do bpftool struct_ops register $scheduler >/dev/null 2>&1 done - sysctl -qew net.mptcp.scheduler="$(echo $mptcp_scheduler | sed 's/mptcp_//' 's/.o//')" >/dev/null 2>&1 + sysctl -qew net.mptcp.scheduler="$(echo $mptcp_scheduler | sed -e 's/mptcp_//' -e 's/.o//')" >/dev/null 2>&1 fi fi [ -z "$congestion" ] || sysctl -qew net.ipv4.tcp_congestion_control="$congestion" From 660e84c205573b3a1b8cb1ca5305518870bfdc02 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 22 Nov 2024 12:01:30 +0100 Subject: [PATCH 049/199] Add routes for all interfaces even when multipath is off in /etc/init.d/mptcp --- mptcp/files/etc/init.d/mptcp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index 0a5ad56f2..0fe3a2356 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -345,6 +345,41 @@ interface_multipath_settings() { ip link set dev $iface txqueuelen 1000 > /dev/null 2>&1 fi fi + if [ -z "$gateway" ] && [ -n "$network" ]; then + if [ "$(uci -q get openmptcprouter.settings.uci_route)" = "1" ]; then + uci -q batch <<-EOF >/dev/null + delete network.${config}_rule + set network.${config}_rule=rule + set network.${config}_rule.lookup=${id} + set network.${config}_rule.priority=0 + set network.${config}_rule.src="${ipaddr}/32" + set network.${config}_rule.created=mptcp + delete network.${config}_route + set network.${config}_route=route + set network.${config}_route.interface=${config} + set network.${config}_route.target=${network} + set network.${config}_route.netmask=${netmask} + set network.${config}_route.table=${ip4table} + set network.${config}_route.created=mptcp + delete network.${config}_route_default + commit network + EOF + else + [ -n "$ipaddr" ] && [ -z "$(ip rule show from $ipaddr table $ip4table)" ] && ip rule add from $ipaddr table $ip4table pref 0 + [ -z "$(ip rule show oif $iface table $ip4table)" ] && ip rule add oif $iface table $ip4table pref 0 + ip route replace $network/$netmask dev $iface scope link metric $id $initcwrwnd >/dev/null 2>&1 + ip route replace $network/$netmask dev $iface scope link table $ip4table $initcwrwnd >/dev/null 2>&1 + #ip route flush cache $id >/dev/null 2>&1 + fi + + if [ "$txqueuelen" != "" ]; then + #ifconfig $iface txqueuelen $txqueuelen > /dev/null 2>&1 + ip link set dev $iface txqueuelen $txqueuelen > /dev/null 2>&1 + else + #ifconfig $iface txqueuelen 1000 > /dev/null 2>&1 + ip link set dev $iface txqueuelen 1000 > /dev/null 2>&1 + fi + fi if [ "$(uci -q get openmptcprouter.settings.disable_ipv6)" != "1" ] && [ "$config" != "omr6in4" ]; then # IPv6 Updates: local ip6addr From 567d6a3e00adb9d1d704a7a187a683c8b2f8f0ef Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sun, 24 Nov 2024 07:40:16 +0100 Subject: [PATCH 050/199] Fix Shadowsocks-Rust --- shadowsocks-rust/files/shadowsocks-rust.init-nft | 1 + 1 file changed, 1 insertion(+) diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index ac349f84d..8adf9b0fc 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -88,6 +88,7 @@ ss_xxx() { json_add_boolean mptcp "$mptcp" #[ "$cfgtype" != "ss_local" ] && json_add_string protocol "${cfgtype/ss_/}" if [ "$cfgtype" != "ss_tunnel" ]; then + [ "$cfgtype" != "ss_local" ] && json_add_string protocol "${cfgtype/ss_/}" [ -z "$local_address" ] || json_add_string local_address "$local_address" [ -z "$local_port" ] || json_add_int local_port "$local_port" [ -z "$local_ipv4_address" ] || json_add_string local_ipv4_address "$local_ipv4_address" From 35e4ead594094e9b60248537a8e4701063d71850 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Sun, 24 Nov 2024 07:41:02 +0100 Subject: [PATCH 051/199] Fix hotplug actions send by OMR-Tracker Post-Tracking scripts --- omr-tracker/files/usr/share/omr/post-tracking.d/002-error | 2 +- omr-tracker/files/usr/share/omr/post-tracking.d/003-up | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error index d81a134db..66fdb45f1 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error @@ -146,7 +146,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp fi if [ -n "$OMR_TRACKER_INTERFACE" ]; then uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='down' - env -i ACTION="disconnecting" INTERFACE="$INTERFACE" DEVICE="$DEVICE" /sbin/hotplug-call iface + env -i ACTION="disconnecting" INTERFACE="$OMR_TRACKER_INTERFACE" DEVICE="$OMR_TRACKER_DEVICE" /sbin/hotplug-call iface fi #if [ "$(sysctl -n net.mptcp.mptcp_enabled | tr -d '\n')" = "1" ]; then # multipath "$OMR_TRACKER_DEVICE" off > /dev/null 2>&1 diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up index 53adb8752..52e349f16 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up @@ -155,7 +155,7 @@ if [ "$OMR_TRACKER_PREV_STATUS" != "" ] && [ "$OMR_TRACKER_PREV_STATUS" != "$OMR } script_alert_up="$(uci -q get omr-tracker.$OMR_TRACKER_INTERFACE.script_alert_up)" [ -n "$script_alert_up" ] && eval $script_alert_up - env -i ACTION="connecting" INTERFACE="$INTERFACE" DEVICE="$DEVICE" /sbin/hotplug-call iface + env -i ACTION="connecting" INTERFACE="$OMR_TRACKER_INTERFACE" DEVICE="$OMR_TRACKER_DEVICE" /sbin/hotplug-call iface fi if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" != "up" ]; then uci -q set openmptcprouter.$OMR_TRACKER_INTERFACE.state='up' From 5dc6df3858ed4c9006428521f94d54b4c8089b67 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 26 Nov 2024 09:03:38 +0100 Subject: [PATCH 052/199] Fix R2S support --- openmptcprouter-full/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index d58738041..eef55f8f9 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -77,7 +77,7 @@ MY_DEPENDS := \ usb-modeswitch !(TARGET_mvebu||TARGET_ipq806x):uqmi \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):umbim !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-mii !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-wdm !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net-qmi-wwan !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net-cdc-mbim !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):umbim \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-huawei-cdc-ncm !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-rndis !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-cdc-ether !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-ipheth !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):usbmuxd !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):libusbmuxd \ - !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-proto-qmi !LINUX_5_4:wpad-mesh-openssl !LINUX_5_4:libopenssl-legacy LINUX_5_4:wpad-basic (TARGET_x86||TARGET_x86_64):kmod-usb-net-rtl8152 \ + !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-proto-qmi !LINUX_5_4:wpad-mesh-openssl !LINUX_5_4:libopenssl-legacy LINUX_5_4:wpad-basic (TARGET_x86||TARGET_x86_64||TARGET_rockchip_armv8):kmod-usb-net-rtl8152 \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-app-mlvpn !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):mlvpn 464xlat kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss iptraf-ng \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim luci-app-ttyd luci-mod-dashboard kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \ hwinfo (TARGET_x86||TARGET_x86_64):dmidecode kmod-bonding luci-proto-bonding luci-app-sysupgrade \ From 4a4ab3d746fc49effa111153a1bd9fda26c531ed Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 26 Nov 2024 14:30:39 +0100 Subject: [PATCH 053/199] Reload MPTCP config when interface is up --- mptcp/files/etc/hotplug.d/iface/30-mptcp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mptcp/files/etc/hotplug.d/iface/30-mptcp b/mptcp/files/etc/hotplug.d/iface/30-mptcp index 33bc70ebe..c01ab8f35 100644 --- a/mptcp/files/etc/hotplug.d/iface/30-mptcp +++ b/mptcp/files/etc/hotplug.d/iface/30-mptcp @@ -6,11 +6,10 @@ /etc/init.d/mptcp enabled || exit 0 -#if [ "$ACTION" = ifup -o "$ACTION" = ifupdate -o "$ACTION" = iflink ] && [ -z "$(echo $DEVICE | grep oip | grep gre)" ]; then -# logger -t "mptcp" "Reloading mptcp config due to $ACTION of $INTERFACE ($DEVICE)" -# /etc/init.d/mptcp reload "$DEVICE" >/dev/null || exit 0 -#else -if [ "$ACTION" = ifdown ]; then +if [ "$ACTION" = ifup -o "$ACTION" = ifupdate -o "$ACTION" = iflink ] && [ -z "$(echo $DEVICE | grep oip | grep gre)" ]; then + logger -t "mptcp" "Reloading mptcp config due to $ACTION of $INTERFACE ($DEVICE)" + /etc/init.d/mptcp reload "$DEVICE" >/dev/null || exit 0 +elif [ "$ACTION" = ifdown ]; then multipath $DEVICE off 2>&1 >/dev/null fi From ec9e8905b596991ea3c0a7b096b5fd8f8b08c2f0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 26 Nov 2024 14:31:17 +0100 Subject: [PATCH 054/199] Fix: use ssserver binary for server on Shadowsocks-Rust --- shadowsocks-rust/files/shadowsocks-rust.init-nft | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index 8adf9b0fc..2c69a2a7b 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -70,7 +70,11 @@ ss_xxx() { local cfg="$1" local cfgtype="$2" # local bin="$ss_bindir/${cfgtype/_/-}" - local bin="$ss_bindir/sslocal" + if [ "$cfgtype" = "ss_server" ]; then + local bin="$ss_bindir/ssserver" + else + local bin="$ss_bindir/sslocal" + fi local confjson="$ss_confdir/$cfgtype.$cfg.json" [ -x "$bin" ] || return From b9a7eeb5ee674c49b201ac8d3f75cc1c93cc7839 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 26 Nov 2024 19:22:17 +0100 Subject: [PATCH 055/199] Fix for BananaPi missing modules --- openmptcprouter-full/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index eef55f8f9..0900ce927 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -93,7 +93,8 @@ MY_DEPENDS := \ (LINUX_5_4&&(TARGET_x86_64||TARGET_aarch64)):kmod-tcp-bbr2 \ TARGET_x86_64:kmod-atlantic \ !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ - !(LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ovpn-dco-v2 lspci + !(LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ovpn-dco-v2 lspci \ + TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware # !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax201 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax200 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax210 \ # !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware From 004851d2dbc924ef22531c4e4ec9795b37daf0f2 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 28 Nov 2024 15:49:23 +0100 Subject: [PATCH 056/199] MPTCP reload via hotplug only when needed --- mptcp/files/etc/hotplug.d/iface/30-mptcp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mptcp/files/etc/hotplug.d/iface/30-mptcp b/mptcp/files/etc/hotplug.d/iface/30-mptcp index c01ab8f35..3c4e940cc 100644 --- a/mptcp/files/etc/hotplug.d/iface/30-mptcp +++ b/mptcp/files/etc/hotplug.d/iface/30-mptcp @@ -6,10 +6,10 @@ /etc/init.d/mptcp enabled || exit 0 -if [ "$ACTION" = ifup -o "$ACTION" = ifupdate -o "$ACTION" = iflink ] && [ -z "$(echo $DEVICE | grep oip | grep gre)" ]; then +if [ "$ACTION" = ifupdate -o "$ACTION" = iflink ] && [ -z "$(echo $DEVICE | grep oip | grep gre)" ] && [ -n "$(uci -q get network.$INTERFACE.multipath)" ] && [ "$(uci -q get network.$INTERFACE.multipath)" != "off" ]; then logger -t "mptcp" "Reloading mptcp config due to $ACTION of $INTERFACE ($DEVICE)" /etc/init.d/mptcp reload "$DEVICE" >/dev/null || exit 0 elif [ "$ACTION" = ifdown ]; then - multipath $DEVICE off 2>&1 >/dev/null + multipath $DEVICE off 2>&1 >/dev/null || exit 0 fi From 4b751558b41b73aa30473c278059db7c63ea7b3a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 28 Nov 2024 15:50:00 +0100 Subject: [PATCH 057/199] No output on multipath command in init.d/mptcp --- mptcp/files/etc/init.d/mptcp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index 0fe3a2356..32748e8f4 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -505,7 +505,7 @@ set_multipath() { done [ "$exist" = "0" ] && [ -z "$(multipath $iface | grep deactivated)" ] && [ "$iface" != "bonding_master" ] && [ -n "$(multipath $iface)" ] && { logger -t "MPTCP" "Disabling MPTCP on interface $iface not found in enabled multipath list" - multipath $iface off + multipath $iface off >/dev/null 2>&1 } done } From c1c6366122b8f6bd49518bf905280bd182c357b3 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 28 Nov 2024 15:51:03 +0100 Subject: [PATCH 058/199] No output on multipath and add a log on tracker reload in OMR-Tracker post-tracking initialize script --- .../files/usr/share/omr/post-tracking.d/001-initialize | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize b/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize index 0d9abed83..cd370e8b3 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/001-initialize @@ -14,15 +14,16 @@ if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$OMR_TRACKER_INTERFACE" != "omr6in4" ]; then if [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.disabled)" = "1" ]; then _log "Disable MPTCP & Tracker on the disabled interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE)" - /etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" - /etc/init.d/omr-tracker restart + /etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" >/dev/null 2>&1 + /etc/init.d/omr-tracker restart >/dev/null 2>&1 exit 0 fi metric="$(uci -q get network.$OMR_TRACKER_INTERFACE.metric)" if [ -z "$metric" ] || { [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -z "$(ip route show table $metric | grep $OMR_TRACKER_DEVICE)" ]; } || { [ -n "$OMR_TRACKER_DEVICE_IP6" ] && [ -z "$(ip -6 route show table 6${metric} | grep $OMR_TRACKER_DEVICE)" ]; }; then _log "Routes not correctly set for $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE table $metric) with IPs $OMR_TRACKER_DEVICE_IP $OMR_TRACKER_DEVICE_IP6" - /etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" - /etc/init.d/omr-tracker restart + /etc/init.d/mptcp reload "$OMR_TRACKER_DEVICE" >/dev/null 2>&1 + _log "Restart OMR-Tracker" + /etc/init.d/omr-tracker restart >/dev/null 2>&1 exit 0 fi fi From 2cef60a0c5db9ea0350de717041055a96d512aed Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 29 Nov 2024 10:42:05 +0100 Subject: [PATCH 059/199] Remove error for some alias interface in omr-bypass --- omr-bypass/files/etc/init.d/omr-bypass-nft | 1 + 1 file changed, 1 insertion(+) diff --git a/omr-bypass/files/etc/init.d/omr-bypass-nft b/omr-bypass/files/etc/init.d/omr-bypass-nft index 041368cb2..b9121e4e5 100755 --- a/omr-bypass/files/etc/init.d/omr-bypass-nft +++ b/omr-bypass/files/etc/init.d/omr-bypass-nft @@ -615,6 +615,7 @@ _intf_rule() { [ -n "$(echo $intf | grep '@')" ] && intf=$(ifstatus "$1" | jsonfilter -q -e '@["device"]') [ -z "$intf" ] && config_get intf $1 device [ -n "$(echo $intf | grep '/')" ] && return + [ -n "$(echo $intf | grep '@')" ] && return #count=$((count+1)) [ "$intf" != "all" ] && config_get count $1 metric [ "$intf" = "all" ] && count="" From 416af94918ed4820e1f265fa93723a7de20ed9a4 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 2 Dec 2024 10:19:51 +0100 Subject: [PATCH 060/199] In OMR-Tracker, Post-Tracking, 003-up script always check connection state even if no status changes --- omr-tracker/files/usr/share/omr/post-tracking.d/003-up | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up index 52e349f16..21be40f3d 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/003-up +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/003-up @@ -11,9 +11,9 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then exit 0 fi -if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$OMR_TRACKER_INTERFACE" != "omr6in4" ] && [ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$OMR_TRACKER_PREV_DEVICE_IP" = "$OMR_TRACKER_DEVICE_IP" ] && [ "$OMR_TRACKER_PREV_DEVICE_IP6" = "$OMR_TRACKER_DEVICE_IP6" ] && (([ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$(ip r show table 991337)" ]) || ([ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$(ip -6 r show table 6991337)" ])); then - exit 0 -fi +#if [ "$OMR_TRACKER_INTERFACE" != "omrvpn" ] && [ "$OMR_TRACKER_INTERFACE" != "omr6in4" ] && [ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ] && [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$OMR_TRACKER_PREV_DEVICE_IP" = "$OMR_TRACKER_DEVICE_IP" ] && [ "$OMR_TRACKER_PREV_DEVICE_IP6" = "$OMR_TRACKER_DEVICE_IP6" ] && (([ -n "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ -n "$(ip r show table 991337)" ]) || ([ -n "$OMR_TRACKER_DEVICE_GATEWAY6" ] && [ -n "$(ip -6 r show table 6991337)" ])); then +# exit 0 +#fi SETROUTE=false From 02ba2a9e8bb6f131517a22adc25a8183577c131b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 2 Dec 2024 10:20:51 +0100 Subject: [PATCH 061/199] Add Captive Portal URLs check in available OMR-ByPass services --- omr-bypass/files/etc/uci-defaults/41_omr-bypass | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/omr-bypass/files/etc/uci-defaults/41_omr-bypass b/omr-bypass/files/etc/uci-defaults/41_omr-bypass index aa4f1f077..b23bb3082 100755 --- a/omr-bypass/files/etc/uci-defaults/41_omr-bypass +++ b/omr-bypass/files/etc/uci-defaults/41_omr-bypass @@ -153,6 +153,19 @@ if [ "$(uci -q get omr-bypass.sky)" = "" ]; then commit omr-bypass EOF fi +if [ "$(uci -q get omr-bypass.captive_portal)" = "" ]; then + uci -q batch <<-EOF >/dev/null + set omr-bypass.captive_portal=proto + add_list omr-bypass.captive_portal.url='captive.apple.com' + add_list omr-bypass.captive_portal.url='connectivitycheck.gstatic.com' + add_list omr-bypass.captive_portal.url='clients3.google.com' + add_list omr-bypass.captive_portal.url='www.msftconnecttest.com' + add_list omr-bypass.captive_portal.url='www.msftncsi.com' + add_list omr-bypass.captive_portal.url='nmcheck.gnome.org' + add_list omr-bypass.captive_portal.url='networkcheck.kde.org' + commit omr-bypass + EOF +fi #if [ "$(uci -q get omr-bypass.global)" = "" ]; then # uci -q batch <<-EOF >/dev/null # set omr-bypass.global=global From 1b33b3fd02c17c427ed0323705c67b7856036d38 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 4 Dec 2024 14:40:26 +0100 Subject: [PATCH 062/199] Some fixes on OMR-ByPass --- omr-bypass/files/etc/init.d/omr-bypass-nft | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/omr-bypass/files/etc/init.d/omr-bypass-nft b/omr-bypass/files/etc/init.d/omr-bypass-nft index b9121e4e5..e81ecbd3c 100755 --- a/omr-bypass/files/etc/init.d/omr-bypass-nft +++ b/omr-bypass/files/etc/init.d/omr-bypass-nft @@ -144,8 +144,8 @@ _bypass_domain() { done fi fi - if [ "$(uci -q get dhcp.omr_dst_bypass_$intf | grep /$domain/)" = "" ]; then - uci -q add_list dhcp.omr_dst_bypass_$intf.domain="$domain" + if [ "$(uci -q get dhcp.omr_dst_bypass_${intf}.domain | sed 's/ /\n/g' | grep $domain)" = "" ]; then + uci -q add_list dhcp.omr_dst_bypass_${intf}.domain="$domain" uci -q set firewall.omr_dst_bypass_${type}_4.enabled='1' uci -q set firewall.omr_dst_bypass_${type}_dstip_4.enabled='1' uci -q set firewall.omr_dst_bypass_${type}_dstip_4_accept.enabled='1' @@ -437,7 +437,7 @@ _bypass_proto_without_ndpi() { uci -q batch <<-EOF >/dev/null set firewall.bypass_$proto=ipset set firewall.bypass_$proto.name="bypass_$proto" - set firewall.bypass_$proto.match='dest_ip' + set firewall.bypass_$proto.match='dest_net' set firewall.bypass_$proto.family='ipv4' set firewall.bypass_$proto.enabled='1' set firewall.bypass_$proto_rule=rule @@ -455,7 +455,7 @@ _bypass_proto_without_ndpi() { uci -q batch <<-EOF >/dev/null set firewall.bypass6_$proto=ipset set firewall.bypass6_$proto.name="bypass6_$proto" - set firewall.bypass6_$proto.match='dest_ip' + set firewall.bypass6_$proto.match='dest_net' set firewall.bypass6_$proto.family='ipv6' set firewall.bypass6_$proto.enabled='1' set firewall.bypass6_$proto_rule=rule @@ -635,12 +635,12 @@ _intf_rule() { uci -q batch <<-EOF set firewall.omr_dst_bypass_${intf}_4=ipset set firewall.omr_dst_bypass_${intf}_4.name="omr_dst_bypass_${intf}_4" - set firewall.omr_dst_bypass_${intf}_4.match='dest_ip' + set firewall.omr_dst_bypass_${intf}_4.match='dest_net' set firewall.omr_dst_bypass_${intf}_4.family='ipv4' set firewall.omr_dst_bypass_${intf}_4.enabled='1' set firewall.omr_dst_bypass_${intf}_6=ipset set firewall.omr_dst_bypass_${intf}_6.name="omr_dst_bypass_${intf}_6" - set firewall.omr_dst_bypass_${intf}_6.match='dest_ip' + set firewall.omr_dst_bypass_${intf}_6.match='dest_net' set firewall.omr_dst_bypass_${intf}_6.family='ipv6' set firewall.omr_dst_bypass_${intf}_6.enabled='1' EOF @@ -1000,6 +1000,8 @@ start_service() { sqlite3 /usr/share/omr-bypass/omr-bypass.db "select distinct(proto) from (select proto from hostproto union all select proto from ipproto) a order by proto;" ".exit" > /usr/share/omr-bypass/omr-bypass-proto.lst config_load omr-bypass config_foreach _add_proto_without_ndpi proto + uci -q commit dhcp + uci -q commit firewall sort < /usr/share/omr-bypass/omr-bypass-proto.lst > /usr/share/omr-bypass/omr-bypass-proto.lst.new mv /usr/share/omr-bypass/omr-bypass-proto.lst.new /usr/share/omr-bypass/omr-bypass-proto.lst logger -t "omr-bypass" "OMR-ByPass is running" From 8e1a2e2dc7eb0318c8d1cde965aed72cedac797d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 11:03:16 +0100 Subject: [PATCH 063/199] Remove https-dns-proxy --- https-dns-proxy/Makefile | 48 ---- https-dns-proxy/files/README.md | 3 - https-dns-proxy/files/https-dns-proxy.config | 18 -- https-dns-proxy/files/https-dns-proxy.init | 238 ------------------ https-dns-proxy/test.sh | 3 - luci-app-https-dns-proxy/Makefile | 18 -- .../luasrc/controller/https-dns-proxy.lua | 25 -- .../ch.digitale-gesellschaft.dns.lua | 6 - .../providers.disabled/cn.rubyfish.dns.lua | 6 - .../providers.disabled/sb.dns.lua | 6 - .../providers/com.adguard.dns-family.lua | 8 - .../providers/com.adguard.dns.lua | 8 - .../providers/com.cloudflare-dns-family.lua | 6 - .../providers/com.cloudflare-dns-malware.lua | 6 - .../providers/com.cloudflare-dns.lua | 6 - .../https-dns-proxy/providers/cz.nic.odvr.lua | 6 - .../https-dns-proxy/providers/google.dns.lua | 7 - .../providers/gr.libredns.doh-ads.lua | 8 - .../providers/gr.libredns.doh.lua | 8 - .../providers/net.quad9.dns.lua | 8 - .../providers/net.quad9.dns10.lua | 8 - .../providers/net.quad9.dns11.lua | 8 - .../providers/net.quad9.dns9.lua | 8 - .../providers/org.cleanbrowsing.doh-adult.lua | 8 - .../org.cleanbrowsing.doh-family.lua | 8 - .../org.cleanbrowsing.doh-security.lua | 8 - .../luasrc/model/cbi/https-dns-proxy.lua | 174 ------------- .../luasrc/view/https-dns-proxy/buttons.htm | 77 ------ .../luasrc/view/https-dns-proxy/css.htm | 9 - .../luasrc/view/https-dns-proxy/js.htm | 60 ----- .../view/https-dns-proxy/status-textarea.htm | 13 - .../luasrc/view/https-dns-proxy/status.htm | 10 - .../po/bg/https-dns-proxy.po | 168 ------------- .../po/ca/https-dns-proxy.po | 168 ------------- .../po/cs/https-dns-proxy.po | 188 -------------- .../po/de/https-dns-proxy.po | 197 --------------- .../po/el/https-dns-proxy.po | 174 ------------- .../po/en/https-dns-proxy.po | 176 ------------- .../po/es/https-dns-proxy.po | 206 --------------- .../po/fr/https-dns-proxy.po | 176 ------------- .../po/he/https-dns-proxy.po | 168 ------------- .../po/hi/https-dns-proxy.po | 168 ------------- .../po/hu/https-dns-proxy.po | 176 ------------- .../po/it/https-dns-proxy.po | 174 ------------- .../po/ja/https-dns-proxy.po | 168 ------------- .../po/ko/https-dns-proxy.po | 168 ------------- .../po/mr/https-dns-proxy.po | 176 ------------- .../po/ms/https-dns-proxy.po | 168 ------------- .../po/nb_NO/https-dns-proxy.po | 168 ------------- .../po/pl/https-dns-proxy.po | 198 --------------- .../po/pt/https-dns-proxy.po | 197 --------------- .../po/pt_BR/https-dns-proxy.po | 191 -------------- .../po/ro/https-dns-proxy.po | 175 ------------- .../po/ru/https-dns-proxy.po | 175 ------------- .../po/sk/https-dns-proxy.po | 174 ------------- .../po/sv/https-dns-proxy.po | 174 ------------- .../po/templates/https-dns-proxy.pot | 177 ------------- .../po/tr/https-dns-proxy.po | 174 ------------- .../po/uk/https-dns-proxy.po | 175 ------------- .../po/vi/https-dns-proxy.po | 168 ------------- .../po/zh_Hans/https-dns-proxy.po | 207 --------------- .../po/zh_Hant/https-dns-proxy.po | 198 --------------- .../etc/uci-defaults/40_luci-https-dns-proxy | 3 - .../luci/menu.d/luci-app-https-dns-proxy.json | 13 - .../rpcd/acl.d/luci-app-https-dns-proxy.json | 11 - 65 files changed, 6230 deletions(-) delete mode 100644 https-dns-proxy/Makefile delete mode 100644 https-dns-proxy/files/README.md delete mode 100644 https-dns-proxy/files/https-dns-proxy.config delete mode 100755 https-dns-proxy/files/https-dns-proxy.init delete mode 100644 https-dns-proxy/test.sh delete mode 100644 luci-app-https-dns-proxy/Makefile delete mode 100644 luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns-family.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns-malware.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua delete mode 100644 luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm delete mode 100644 luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/css.htm delete mode 100644 luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm delete mode 100644 luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status-textarea.htm delete mode 100644 luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status.htm delete mode 100644 luci-app-https-dns-proxy/po/bg/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/ca/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/cs/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/de/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/el/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/en/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/es/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/fr/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/he/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/hi/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/hu/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/it/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/ja/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/ko/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/mr/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/ms/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/nb_NO/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/pl/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/pt/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/pt_BR/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/ro/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/ru/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/sk/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/sv/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot delete mode 100644 luci-app-https-dns-proxy/po/tr/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/uk/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/vi/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/zh_Hans/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/po/zh_Hant/https-dns-proxy.po delete mode 100644 luci-app-https-dns-proxy/root/etc/uci-defaults/40_luci-https-dns-proxy delete mode 100644 luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json delete mode 100644 luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json diff --git a/https-dns-proxy/Makefile b/https-dns-proxy/Makefile deleted file mode 100644 index 73d0a07cf..000000000 --- a/https-dns-proxy/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=https-dns-proxy -PKG_VERSION:=2021-06-03 -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy -PKG_SOURCE_DATE:=2021-06-03 -PKG_SOURCE_VERSION:=5651b984f770a8bcecb14aeffc224703f8f82586 -PKG_MIRROR_HASH:=b65161936269aa3117debad0fcfce157024726b78d7e7da77c226f7aa8da5b4d -PKG_MAINTAINER:=Stan Grishin -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -CMAKE_OPTIONS += -DCLANG_TIDY_EXE= - -define Package/https-dns-proxy - SECTION:=net - CATEGORY:=Network - TITLE:=DNS Over HTTPS Proxy - URL:=https://docs.openwrt.melmac.net/https-dns-proxy/ - DEPENDS:=+libcares +libcurl +libev +ca-bundle - CONFLICTS:=https_dns_proxy -endef - -define Package/https-dns-proxy/description -https-dns-proxy is a light-weight DNS<-->HTTPS, non-caching translation proxy for the RFC 8484 DoH standard. -It receives regular (UDP) DNS requests and issues them via DoH. -Please see https://docs.openwrt.melmac.net/https-dns-proxy/ for more information. -endef - -define Package/https-dns-proxy/conffiles -/etc/config/https-dns-proxy -endef - -define Package/https-dns-proxy/install - $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d ${1}/etc/config - $(INSTALL_BIN) $(PKG_BUILD_DIR)/https_dns_proxy $(1)/usr/sbin/https-dns-proxy - $(INSTALL_BIN) ./files/https-dns-proxy.init $(1)/etc/init.d/https-dns-proxy - $(SED) "s|^\(PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/https-dns-proxy - $(INSTALL_CONF) ./files/https-dns-proxy.config $(1)/etc/config/https-dns-proxy -endef - -$(eval $(call BuildPackage,https-dns-proxy)) diff --git a/https-dns-proxy/files/README.md b/https-dns-proxy/files/README.md deleted file mode 100644 index 7ebf479e6..000000000 --- a/https-dns-proxy/files/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# README - -README has been moved to [https://docs.openwrt.melmac.net/https-dns-proxy/](https://docs.openwrt.melmac.net/https-dns-proxy/). diff --git a/https-dns-proxy/files/https-dns-proxy.config b/https-dns-proxy/files/https-dns-proxy.config deleted file mode 100644 index 3c5eecf4d..000000000 --- a/https-dns-proxy/files/https-dns-proxy.config +++ /dev/null @@ -1,18 +0,0 @@ -config main 'config' - option update_dnsmasq_config '*' - -config https-dns-proxy - option bootstrap_dns '8.8.8.8,8.8.4.4' - option resolver_url 'https://dns.google/dns-query' - option listen_addr '127.0.0.1' - option listen_port '5053' - option user 'nobody' - option group 'nogroup' - -config https-dns-proxy - option bootstrap_dns '1.1.1.1,1.0.0.1' - option resolver_url 'https://cloudflare-dns.com/dns-query' - option listen_addr '127.0.0.1' - option listen_port '5054' - option user 'nobody' - option group 'nogroup' diff --git a/https-dns-proxy/files/https-dns-proxy.init b/https-dns-proxy/files/https-dns-proxy.init deleted file mode 100755 index ef0ffc7d2..000000000 --- a/https-dns-proxy/files/https-dns-proxy.init +++ /dev/null @@ -1,238 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright 2019-2020 Stan Grishin (stangri@melmac.net) -# shellcheck disable=SC2039,SC3043,SC3060 -PKG_VERSION='dev-test' - -# shellcheck disable=SC2034 -START=80 -# shellcheck disable=SC2034 -USE_PROCD=1 - -if type extra_command 1>/dev/null 2>&1; then - extra_command 'version' 'Show version information' -else -# shellcheck disable=SC2034 - EXTRA_COMMANDS='version' -fi - -readonly PROG=/usr/sbin/https-dns-proxy -dnsmasqConfig=''; forceDNS=''; forceDNSPorts=''; - -version() { echo "$PKG_VERSION"; } - -xappend() { param="$param $1"; } - -append_bool() { - local section="$1" - local option="$2" - local value="$3" - local default="$4" - local _loctmp - [ -z "$default" ] && default="0" - config_get_bool _loctmp "$section" "$option" "$default" - [ "$_loctmp" != "0" ] && xappend "$value" -} - -append_parm() { - local section="$1" - local option="$2" - local switch="$3" - local default="$4" - local _loctmp - config_get _loctmp "$section" "$option" "$default" - [ -z "$_loctmp" ] && return 0 - xappend "$switch $_loctmp" -} - -start_instance() { - local cfg="$1" param listen_addr listen_port i - append_parm "$cfg" 'resolver_url' '-r' - append_parm "$cfg" 'polling_interval' '-i' - append_parm "$cfg" 'listen_addr' '-a' '127.0.0.1' - append_parm "$cfg" 'listen_port' '-p' "$p" - append_parm "$cfg" 'dscp_codepoint' '-c' - append_parm "$cfg" 'bootstrap_dns' '-b' - append_parm "$cfg" 'user' '-u' 'nobody' - append_parm "$cfg" 'group' '-g' 'nogroup' - append_parm "$cfg" 'proxy_server' '-t' - append_parm "$cfg" 'logfile' '-l' - append_bool "$cfg" 'use_http1' '-x' - config_get_bool ipv6_resolvers_only "$cfg" 'use_ipv6_resolvers_only' '0' - config_get verbosity "$cfg" 'verbosity' '0' - -# shellcheck disable=SC2086,SC2154 - for i in $(seq 1 $verbosity); do - xappend '-v' - done -# shellcheck disable=SC2154 - if [ "$ipv6_resolvers_only" = 0 ]; then - xappend '-4' - fi - - procd_open_instance -# shellcheck disable=SC2086 - procd_set_param command ${PROG} ${param} - procd_set_param stderr 1 - procd_set_param stdout 1 - procd_set_param respawn - procd_close_instance - - config_get listen_addr "$cfg" 'listen_addr' '127.0.0.1' - config_get listen_port "$cfg" 'listen_port' "$p" - - if [ "$dnsmasqConfig" = "*" ]; then - config_load 'dhcp' - config_foreach dnsmasq_add_doh_server 'dnsmasq' "${listen_addr}" "${listen_port}" - elif [ -n "$dnsmasqConfig" ]; then - for i in $dnsmasqConfig; do - dnsmasq_add_doh_server "@dnsmasq[${i}]" "${listen_addr}" "${listen_port}" - done - fi - p="$((p+1))" -} - -is_force_dns_active() { iptables-save 2>/dev/null | grep -q -w -- '--dport 53'; } - -start_service() { - local p=5053 c - config_load 'https-dns-proxy' - config_get dnsmasqConfig 'config' 'update_dnsmasq_config' '*' - config_get_bool forceDNS 'config' 'force_dns' '1' - config_get forceDNSPorts 'config' 'force_dns_port' '53 853' - dhcp_backup 'create' - config_load 'https-dns-proxy' - config_foreach start_instance 'https-dns-proxy' - if [ "$forceDNS" -ne 0 ]; then - procd_open_instance 'main' - procd_set_param command /bin/true - procd_set_param stdout 1 - procd_set_param stderr 1 - procd_open_data - json_add_array firewall - for c in $forceDNSPorts; do - if netstat -tuln | grep 'LISTEN' | grep ":${c}" >/dev/null 2>&1 || [ "$c" = "53" ]; then - json_add_object "" - json_add_string type redirect - json_add_string target DNAT - json_add_string src lan - json_add_string proto "tcp udp" - json_add_string src_dport "$c" - json_add_string dest_port "$c" - json_add_boolean reflection 0 - json_close_object - else - json_add_object "" - json_add_string type rule - json_add_string src lan - json_add_string dest "*" - json_add_string proto "tcp udp" - json_add_string dest_port "$c" - json_add_string target REJECT - json_close_object - fi - done - json_close_array - procd_close_data - procd_close_instance - fi - if [ -n "$(uci -q changes dhcp)" ]; then - uci -q commit dhcp - [ -x /etc/init.d/dnsmasq ] && /etc/init.d/dnsmasq restart >/dev/null 2>&1 - fi -} - -stop_service() { - config_load 'https-dns-proxy' - config_get dnsmasqConfig 'config' 'update_dnsmasq_config' '*' - dhcp_backup 'restore' - if [ -n "$(uci -q changes dhcp)" ]; then - uci -q commit dhcp - [ -x /etc/init.d/dnsmasq ] && /etc/init.d/dnsmasq restart >/dev/null 2>&1 - fi -} - -service_triggers() { - procd_add_config_trigger "config.change" "https-dns-proxy" /etc/init.d/https-dns-proxy reload -} - -service_started() { procd_set_config_changed firewall; } -service_stopped() { procd_set_config_changed firewall; } - -dnsmasq_add_doh_server() { - local cfg="$1" address="$2" port="$3" - case $address in - 0.0.0.0|::ffff:0.0.0.0) address='127.0.0.1';; - ::) address='::1';; - esac - uci -q del_list "dhcp.${cfg}.server=${address}#${port}" - uci -q add_list "dhcp.${cfg}.server=${address}#${port}" -} - -dnsmasq_create_server_backup() { - local cfg="$1" - local i - uci -q get "dhcp.${cfg}" >/dev/null || return 1 - if ! uci -q get "dhcp.${cfg}.doh_backup_noresolv" >/dev/null; then - if [ -z "$(uci -q get "dhcp.${cfg}.noresolv")" ]; then - uci -q set "dhcp.${cfg}.noresolv=1" - uci -q set "dhcp.${cfg}.doh_backup_noresolv=-1" - elif [ "$(uci -q get "dhcp.${cfg}.noresolv")" != "1" ]; then - uci -q set "dhcp.${cfg}.noresolv=1" - uci -q set "dhcp.${cfg}.doh_backup_noresolv=0" - fi - fi - if ! uci -q get "dhcp.${cfg}.doh_backup_server" >/dev/null; then - if [ -z "$(uci -q get "dhcp.${cfg}.server")" ]; then - uci -q add_list "dhcp.${cfg}.doh_backup_server=" - fi - for i in $(uci -q get "dhcp.${cfg}.server"); do - uci -q add_list "dhcp.${cfg}.doh_backup_server=$i" - if [ "$i" = "$(echo "$i" | tr -d /\#)" ]; then - uci -q del_list "dhcp.${cfg}.server=$i" - fi - done - uci -q del_list "dhcp.${cfg}.server=127.0.0.1#5353" - fi - return 0 -} - -dnsmasq_restore_server_backup() { - local cfg="$1" - local i - uci -q get "dhcp.${cfg}" >/dev/null || return 0 - if uci -q get "dhcp.${cfg}.doh_backup_noresolv" >/dev/null; then - if [ "$(uci -q get "dhcp.${cfg}.doh_backup_noresolv")" = "0" ]; then - uci -q set "dhcp.${cfg}.noresolv=0" - else - uci -q del "dhcp.${cfg}.noresolv" - fi - uci -q del "dhcp.${cfg}.doh_backup_noresolv" - fi - if uci -q get "dhcp.${cfg}.doh_backup_server" >/dev/null; then - uci -q del "dhcp.${cfg}.server" - for i in $(uci -q get "dhcp.${cfg}.doh_backup_server"); do - uci -q add_list "dhcp.${cfg}.server=$i" - done - uci -q del "dhcp.${cfg}.doh_backup_server" - fi -} - -dhcp_backup() { - local i - config_load 'dhcp' - case "$1" in - create) - if [ "$dnsmasqConfig" = "*" ]; then - config_foreach dnsmasq_create_server_backup 'dnsmasq' - elif [ -n "$dnsmasqConfig" ]; then - for i in $dnsmasqConfig; do - dnsmasq_create_server_backup "@dnsmasq[${i}]" || \ - dnsmasq_create_server_backup "$i" - done - fi - ;; - restore) - config_foreach dnsmasq_restore_server_backup 'dnsmasq' - ;; - esac -} diff --git a/https-dns-proxy/test.sh b/https-dns-proxy/test.sh deleted file mode 100644 index 45469ed96..000000000 --- a/https-dns-proxy/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/etc/init.d/"$1" version 2>&1 | grep "$2" diff --git a/luci-app-https-dns-proxy/Makefile b/luci-app-https-dns-proxy/Makefile deleted file mode 100644 index c6f2da879..000000000 --- a/luci-app-https-dns-proxy/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2017-2018 Stan Grishin (stangri@melmac.net) -# 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 - -LUCI_TITLE:=DNS Over HTTPS Proxy Web UI -LUCI_DESCRIPTION:=Provides Web UI for DNS Over HTTPS Proxy -LUCI_DEPENDS:=+luci-compat +luci-mod-admin-full +https-dns-proxy -LUCI_PKGARCH:=all -PKG_RELEASE:=3 -PKG_VERSION:=omr-202103 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua b/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua deleted file mode 100644 index d236feae0..000000000 --- a/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua +++ /dev/null @@ -1,25 +0,0 @@ -module("luci.controller.https-dns-proxy", package.seeall) -function index() - if nixio.fs.access("/etc/config/https-dns-proxy") then - entry({"admin", "services", "https-dns-proxy"}, cbi("https-dns-proxy"), _("DNS Over HTTPS Proxy")) - entry({"admin", "services", "https-dns-proxy", "action"}, call("https_dns_proxy_action"), nil).leaf = true - end -end - -function https_dns_proxy_action(name) - local packageName = "https-dns-proxy" - if name == "start" then - luci.sys.init.start(packageName) - elseif name == "action" then - luci.util.exec("/etc/init.d/" .. packageName .. " reload >/dev/null 2>&1") - luci.util.exec("/etc/init.d/dnsmasq restart >/dev/null 2>&1") - elseif name == "stop" then - luci.sys.init.stop(packageName) - elseif name == "enable" then - luci.sys.init.enable(packageName) - elseif name == "disable" then - luci.sys.init.disable(packageName) - end - luci.http.prepare_content("text/plain") - luci.http.write("0") -end diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua deleted file mode 100644 index fc190437c..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "Digitale-Gesellschaft", - label = _("Digitale Gesellschaft"), - resolver_url = "https://dns.digitale-gesellschaft.ch/dns-query", - bootstrap_dns = "185.95.218.42,185.95.218.43" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua deleted file mode 100644 index 86c4c56dc..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "rubyfish.cn", - label = _("rubyfish.cn"), - resolver_url = "https://dns.rubyfish.cn/dns-query", - bootstrap_dns = "118.89.110.78,47.96.179.163" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua deleted file mode 100644 index 114d23ed5..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "DNS.SB", - label = _("DNS.SB"), - resolver_url = "https://doh.dns.sb/dns-query", - bootstrap_dns = "185.222.222.222,185.184.222.222" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua deleted file mode 100644 index 56a409f91..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "AdGuard-Family", - label = _("AdGuard (Family Protection)"), - resolver_url = "https://dns-family.adguard.com/dns-query", - bootstrap_dns = "176.103.130.132,176.103.130.134", - help_link = "https://adguard.com/en/adguard-dns/overview.html", - help_link_text = "AdGuard.com" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua deleted file mode 100644 index 504070501..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "AdGuard-Standard", - label = _("AdGuard (Standard)"), - resolver_url = "https://dns.adguard.com/dns-query", - bootstrap_dns = "176.103.130.130,176.103.130.131", - help_link = "https://adguard.com/en/adguard-dns/overview.html", - help_link_text = "AdGuard.com" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns-family.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns-family.lua deleted file mode 100644 index e63bf14ad..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns-family.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "Cloudflare for Families", - label = _("Cloudflare for Families"), - resolver_url = "https://family.cloudflare-dns.com/dns-query", - bootstrap_dns = "1.1.1.3,1.0.0.3" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns-malware.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns-malware.lua deleted file mode 100644 index f114f91e0..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns-malware.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "Cloudflare Malware", - label = _("Cloudflare Malware"), - resolver_url = "https://security.cloudflare-dns.com/dns-query", - bootstrap_dns = "1.1.1.2,1.0.0.2" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua deleted file mode 100644 index e8673d5d5..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "Cloudflare", - label = _("Cloudflare"), - resolver_url = "https://cloudflare-dns.com/dns-query", - bootstrap_dns = "1.1.1.1,1.0.0.1" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua deleted file mode 100644 index 3dfe30936..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - name = "odvr-nic-cz", - label = _("ODVR (nic.cz)"), - resolver_url = "https://odvr.nic.cz/doh", - bootstrap_dns = "193.17.47.1,185.43.135.1" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua deleted file mode 100644 index 6eab04064..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - name = "Google", - label = _("Google"), - resolver_url = "https://dns.google/dns-query", - bootstrap_dns = "8.8.8.8,8.8.4.4", - default = true -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua deleted file mode 100644 index 22e6fffe4..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "LibreDNS (No Ads)", - label = _("LibreDNS (No Ads)"), - resolver_url = "https://doh.libredns.gr/ads", - bootstrap_dns = "116.202.176.26", - help_link = "https://libredns.gr/", - help_link_text = "LibreDNS.gr" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua deleted file mode 100644 index bd51e1be4..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "LibreDNS", - label = _("LibreDNS"), - resolver_url = "https://doh.libredns.gr/dns-query", - bootstrap_dns = "116.202.176.26", - help_link = "https://libredns.gr/", - help_link_text = "LibreDNS.gr" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua deleted file mode 100644 index eaa4b8370..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "Quad9-Recommended", - label = _("Quad 9 (Recommended)"), - resolver_url = "https://dns.quad9.net/dns-query", - bootstrap_dns = "9.9.9.9,149.112.112.112", - help_link = "https://www.quad9.net/doh-quad9-dns-servers/", - help_link_text = "Quad9.net" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua deleted file mode 100644 index 4d1914a0f..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "Quad9-Unsecured", - label = _("Quad 9 (Unsecured)"), - resolver_url = "https://dns10.quad9.net/dns-query", - bootstrap_dns = "9.9.9.10,149.112.112.10", - help_link = "https://www.quad9.net/doh-quad9-dns-servers/", - help_link_text = "Quad9.net" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua deleted file mode 100644 index 36fbeb39e..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "Quad9-ECS", - label = _("Quad 9 (Secured with ECS Support)"), - resolver_url = "https://dns11.quad9.net/dns-query", - bootstrap_dns = "9.9.9.11,149.112.112.11", - help_link = "https://www.quad9.net/doh-quad9-dns-servers/", - help_link_text = "Quad9.net" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua deleted file mode 100644 index 61ca444ef..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "Quad9-Secured", - label = _("Quad 9 (Secured)"), - resolver_url = "https://dns9.quad9.net/dns-query", - bootstrap_dns = "9.9.9.9,149.112.112.9", - help_link = "https://www.quad9.net/doh-quad9-dns-servers/", - help_link_text = "Quad9.net" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua deleted file mode 100644 index 5b4d90854..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "CleanBrowsing-Adult", - label = _("CleanBrowsing (Adult Filter)"), - resolver_url = "https://doh.cleanbrowsing.org/doh/adult-filter/", - bootstrap_dns = "185.228.168.168", - help_link = "https://cleanbrowsing.org/guides/dnsoverhttps", - help_link_text = "CleanBrowsing.org" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua deleted file mode 100644 index 47a0654d2..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "CleanBrowsing-Family", - label = _("CleanBrowsing (Family Filter)"), - resolver_url = "https://doh.cleanbrowsing.org/doh/family-filter/", - bootstrap_dns = "185.228.168.168", - help_link = "https://cleanbrowsing.org/guides/dnsoverhttps", - help_link_text = "CleanBrowsing.org" -} diff --git a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua b/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua deleted file mode 100644 index 6e370d513..000000000 --- a/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - name = "CleanBrowsing-Security", - label = _("CleanBrowsing (Security Filter)"), - resolver_url = "https://doh.cleanbrowsing.org/doh/security-filter/", - bootstrap_dns = "185.228.168.168", - help_link = "https://cleanbrowsing.org/guides/dnsoverhttps", - help_link_text = "CleanBrowsing.org" -} diff --git a/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua b/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua deleted file mode 100644 index d4fee9e00..000000000 --- a/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua +++ /dev/null @@ -1,174 +0,0 @@ -local sys = require "luci.sys" -local util = require "luci.util" -local fs = require "nixio.fs" -local dispatcher = require "luci.dispatcher" -local i18n = require "luci.i18n" -local uci = require("luci.model.uci").cursor() - -local packageName = "https-dns-proxy" -local providers_dir = "/usr/lib/lua/luci/" .. packageName .. "/providers/" -local helperText = "" - -function create_helper_text() - local initText = "
" .. translate("For more information on different options check") .. " " - for filename in fs.dir(providers_dir) do - local p_func = loadfile(providers_dir .. filename) - setfenv(p_func, { _ = i18n.translate }) - local p = p_func() - if p.help_link then - local url, domain - url = p.help_link - domain = p.help_link_text or url:match('^%w+://([^/]+)') - if not helperText:find(domain) then - if helperText == "" then - helperText = initText - else - helperText = helperText .. ", " - end - helperText = helperText .. [[
]] .. domain .. [[]] - end - end - end - if helperText ~= "" then - local a = helperText:gsub('(.*),%s.*$', '%1') - helperText = a .. " " .. translate("and") .. helperText:sub(#a + 2) .. "." - end -end - -function get_provider_name(value) - if value ~= nil then - for filename in fs.dir(providers_dir) do - local p_func = loadfile(providers_dir .. filename) - setfenv(p_func, { _ = i18n.translate }) - local p = p_func() - value = value:gsub('[%p%c%s]', '') - p.url_match = p.resolver_url:gsub('[%p%c%s]', '') - if value:match(p.url_match) then - return p.label - end - end - end - return translate("Unknown Provider") -end - -local tmpfsStatus, tmpfsStatusCode -local ubusStatus = util.ubus("service", "list", { name = packageName }) -local tmpfsVersion = tostring(util.trim(sys.exec("opkg list-installed " .. packageName .. " | awk '{print $3}'"))) - -if not tmpfsVersion or tmpfsVersion == "" then - tmpfsStatusCode = -1 - tmpfsVersion = "" - tmpfsStatus = packageName .. " " .. translate("is not installed or not found") -else - tmpfsVersion = " [" .. packageName .. " " .. tmpfsVersion .. "]" - if not ubusStatus or not ubusStatus[packageName] then - tmpfsStatusCode = 0 - tmpfsStatus = translate("Stopped") - if not luci.sys.init.enabled(packageName) then - tmpfsStatus = tmpfsStatus .. " (" .. translate("disabled") .. ")" - end - else - tmpfsStatusCode, tmpfsStatus = 1, "" - for n = 1,1000 do - if ubusStatus and ubusStatus[packageName] and - ubusStatus[packageName]["instances"] and - ubusStatus[packageName]["instances"]["instance" .. n] and - ubusStatus[packageName]["instances"]["instance" .. n]["running"] then - local value, k, v, url, url_flag, la, la_flag, lp, lp_flag - for k, v in pairs(ubusStatus[packageName]["instances"]["instance" .. n]["command"]) do - if la_flag then la, la_flag = v, false end - if lp_flag then lp, lp_flag = v, false end - if url_flag then url, url_flag = v, false end - if v == "-a" then la_flag = true end - if v == "-p" then lp_flag = true end - if v == "-r" then url_flag = true end - end - la = la or "127.0.0.1" - lp = lp or n + 5053 - tmpfsStatus = tmpfsStatus .. translate("Running") .. ": " .. get_provider_name(url) .. " " .. translate("DoH") .. " " .. translate("at") .. " " .. la .. ":" .. lp .. "\n" - else - break - end - end - end -end - -m = Map("https-dns-proxy", translate("DNS Over HTTPS Proxy Settings")) - -h = m:section(TypedSection, "_dummy", translate("Service Status") .. tmpfsVersion) -h.template = "cbi/nullsection" -ss = h:option(DummyValue, "_dummy", translate("Service Status")) -if tmpfsStatusCode == -1 then - ss.template = packageName .. "/status" - ss.value = tmpfsStatus -else - if tmpfsStatusCode == 0 then - ss.template = packageName .. "/status" - else - ss.template = packageName .. "/status-textarea" - end - ss.value = tmpfsStatus - buttons = h:option(DummyValue, "_dummy") - buttons.template = packageName .. "/buttons" -end - -create_helper_text() -s3 = m:section(TypedSection, "https-dns-proxy", translate("Instances"), translate("When you add/remove any instances below, they will be used to override the 'DNS forwardings' section of ") - .. [[ ]] - .. translate("DHCP and DNS") .. [[]] .. "." .. helperText) -s3.template = "cbi/tblsection" -s3.sortable = false -s3.anonymous = true -s3.addremove = true - -prov = s3:option(ListValue, "resolver_url", translate("Resolver")) -for filename in fs.dir(providers_dir) do - local p_func = loadfile(providers_dir .. filename) - setfenv(p_func, { _ = i18n.translate }) - local p = p_func() - prov:value(p.resolver_url, p.label) - if p.default then - prov.default = p.resolver_url - end -end -prov.forcewrite = true -prov.write = function(self, section, value) - if not value then return end - for filename in fs.dir(providers_dir) do - local p_func = loadfile(providers_dir .. filename) - setfenv(p_func, { _ = i18n.translate }) - local p = p_func() - value = value:gsub('[%p%c%s]', '') - p.url_match = p.resolver_url:gsub('[%p%c%s]', '') - if value:match(p.url_match) then - uci:set(packageName, section, "bootstrap_dns", p.bootstrap_dns) - uci:set(packageName, section, "resolver_url", p.resolver_url) - end - end - uci:save(packageName) -end - -la = s3:option(Value, "listen_addr", translate("Listen address")) -la.datatype = "host" -la.placeholder = "127.0.0.1" -la.rmempty = true - -local n = 0 -uci:foreach(packageName, packageName, function(s) - if s[".name"] == section then - return false - end - n = n + 1 -end) - -lp = s3:option(Value, "listen_port", translate("Listen port")) -lp.datatype = "port" -lp.value = n + 5053 - -sa = s3:option(Value, "edns_subnet", translate("EDNS client subnet")) -sa.rmempty = true - -ps = s3:option(Value, "proxy_server", translate("Proxy server")) -ps.rmempty = true - -return m diff --git a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm b/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm deleted file mode 100644 index b7fcd472e..000000000 --- a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm +++ /dev/null @@ -1,77 +0,0 @@ -<%# Copyright 2020 Stan Grishin -%> - -<%+https-dns-proxy/css%> -<%+https-dns-proxy/js%> - -<%- - local packageName = "https-dns-proxy" - local serviceRunning, serviceEnabled = false, false; - - serviceEnabled = luci.sys.init.enabled(packageName) - local ubusStatus = luci.util.ubus("service", "list", { name = packageName }) - if ubusStatus and ubusStatus[packageName] then - serviceRunning = true - end - - if serviceEnabled then - btn_start_status = true - btn_action_status = true - btn_stop_status = true - btn_enable_status = false - btn_disable_status = true - else - btn_start_status = false - btn_action_status = false - btn_stop_status = false - btn_enable_status = true - btn_disable_status = false - end - if serviceRunning then - btn_start_status = false - btn_action_status = true - btn_stop_status = true - else - btn_action_status = false - btn_stop_status = false - end --%> - -
-
- - - - - - -   -   -   -   - - - - -
-
- -<%-if not btn_start_status then%> - -<%-end%> -<%-if not btn_action_status then%> - -<%-end%> -<%-if not btn_stop_status then%> - -<%-end%> -<%-if not btn_enable_status then%> - -<%-end%> -<%-if not btn_disable_status then%> - -<%-end%> diff --git a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/css.htm b/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/css.htm deleted file mode 100644 index 6fb3d51d3..000000000 --- a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/css.htm +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm b/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm deleted file mode 100644 index fac92a392..000000000 --- a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm +++ /dev/null @@ -1,60 +0,0 @@ - - diff --git a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status-textarea.htm b/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status-textarea.htm deleted file mode 100644 index 3840cd19d..000000000 --- a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status-textarea.htm +++ /dev/null @@ -1,13 +0,0 @@ -<%# -Copyright 2017-2019 Stan Grishin (stangri@melmac.net) -This is free software, licensed under the Apache License, Version 2.0 --%> - -<%+cbi/valueheader%> - - - -<%+cbi/valuefooter%> diff --git a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status.htm b/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status.htm deleted file mode 100644 index c45342840..000000000 --- a/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/status.htm +++ /dev/null @@ -1,10 +0,0 @@ -<%# -Copyright 2017-2018 Dirk Brenken (dev@brenken.org) -This is free software, licensed under the Apache License, Version 2.0 --%> - -<%+cbi/valueheader%> - - - -<%+cbi/valuefooter%> diff --git a/luci-app-https-dns-proxy/po/bg/https-dns-proxy.po b/luci-app-https-dns-proxy/po/bg/https-dns-proxy.po deleted file mode 100644 index 9187f341c..000000000 --- a/luci-app-https-dns-proxy/po/bg/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: bg\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/ca/https-dns-proxy.po b/luci-app-https-dns-proxy/po/ca/https-dns-proxy.po deleted file mode 100644 index dbdb2ea03..000000000 --- a/luci-app-https-dns-proxy/po/ca/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: ca\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/cs/https-dns-proxy.po b/luci-app-https-dns-proxy/po/cs/https-dns-proxy.po deleted file mode 100644 index aa4cd1f97..000000000 --- a/luci-app-https-dns-proxy/po/cs/https-dns-proxy.po +++ /dev/null @@ -1,188 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-02-02 09:02+0000\n" -"Last-Translator: Pavel Borecki \n" -"Language-Team: Czech \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 3.11-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP a DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Povolit" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Více informací o dalších možnostech" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Instance" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Naslouchající adresa" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Naslouchající port" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Proxy server" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"Pokud níže přidáte nebo odeberete instance, budou použity k přepsání sekce " -"'DNS forwardings' v" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "a" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" - -#~ msgid "Provider" -#~ msgstr "Poskytovatel" - -#~ msgid "Subnet address" -#~ msgstr "Adresa podsítě" - -#~ msgid "HTTPS DNS Proxy" -#~ msgstr "HTTPS DNS Proxy" - -#~ msgid "HTTPS DNS Proxy Settings" -#~ msgstr "Nastavení HTTPS DNS Proxy" diff --git a/luci-app-https-dns-proxy/po/de/https-dns-proxy.po b/luci-app-https-dns-proxy/po/de/https-dns-proxy.po deleted file mode 100644 index 2ac46c51c..000000000 --- a/luci-app-https-dns-proxy/po/de/https-dns-proxy.po +++ /dev/null @@ -1,197 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-03-05 08:06+0000\n" -"Last-Translator: Tobias Strobel \n" -"Language-Team: German \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.0-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (Familienschutz)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (Standard)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (Familienfilter)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (Familienfilter)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (Sicherheitsfilter)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP und DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "DNS über HTTPS Proxy" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "DNS über HTTPS Proxyeinstellungen" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Digitale Gesellschaft" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Deaktivieren" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "EDNS-Clientsubnetz" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Aktivieren" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Weitere Informationen zu den verschiedenen Optionen finden Sie unter" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Instanzen" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Listen-Adresse" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Listen-Port" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Lade" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Proxyserver" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (empfohlen)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (gesichert mit ECS-Unterstützung)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (gesichert)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (ungesichert)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Neu laden" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "Resolver" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "Laufend" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Dienststatus" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Start" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Stoppen" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Angehalten" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Unbekannter Anbieter" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"Wenn Sie untenstehende Instanzen hinzufügen/entfernen, werden sie für den " -"Abschnitt 'DNS-Weiterleitungen' verwendet von" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "und" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "bei" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "ist nicht installiert oder nicht gefunden" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" - -#~ msgid "DNS over HTTPS Proxy" -#~ msgstr "DNS über HTTPS Proxy" - -#~ msgid "DNS over HTTPS Proxy Settings" -#~ msgstr "DNS über HTTPS Proxy-Einstellungen" - -#~ msgid "Provider" -#~ msgstr "Anbieter" - -#~ msgid "Subnet address" -#~ msgstr "Subnetzadresse" - -#~ msgid "Uknown Provider" -#~ msgstr "Bekannter Anbieter" - -#~ msgid "HTTPS DNS Proxy" -#~ msgstr "HTTPS-DNS-Proxy" - -#~ msgid "HTTPS DNS Proxy Settings" -#~ msgstr "HTTPS-DNS-Proxyeinstellungen" diff --git a/luci-app-https-dns-proxy/po/el/https-dns-proxy.po b/luci-app-https-dns-proxy/po/el/https-dns-proxy.po deleted file mode 100644 index 2a8198cae..000000000 --- a/luci-app-https-dns-proxy/po/el/https-dns-proxy.po +++ /dev/null @@ -1,174 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2019-12-03 08:25+0000\n" -"Last-Translator: Tavaninja \n" -"Language-Team: Greek \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 3.10-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Φόρτωση" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/en/https-dns-proxy.po b/luci-app-https-dns-proxy/po/en/https-dns-proxy.po deleted file mode 100644 index 4c462b5c4..000000000 --- a/luci-app-https-dns-proxy/po/en/https-dns-proxy.po +++ /dev/null @@ -1,176 +0,0 @@ -msgid "" -msgstr "" -"Language: en\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua:3 -msgid "LibreDNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua:3 -msgid "LibreDNS (No Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/es/https-dns-proxy.po b/luci-app-https-dns-proxy/po/es/https-dns-proxy.po deleted file mode 100644 index 106045fbe..000000000 --- a/luci-app-https-dns-proxy/po/es/https-dns-proxy.po +++ /dev/null @@ -1,206 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2020-01-01 23:07+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Spanish \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 3.10\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (Protección familiar)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (estándar)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (Filtro para adultos)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (Filtro familiar)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (Filtro de seguridad)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP y DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "DNS sobre proxy HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "Configuración de DNS sobre proxy HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Sociedad digital" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Desactivar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "Subred de cliente EDNS" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Activar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Para obtener más información sobre diferentes opciones, consulte" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Instancias" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Escuchar dirección" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Puerto" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Cargando" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Servidor proxy" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (recomendado)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (Asegurado con soporte ECS)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (Asegurado)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (No asegurado)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Recargar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "Resolvedor" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "Corriendo" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Estado del servicio" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Iniciar" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Detener" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Detenido" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Proveedor desconocido" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"Cuando agregue/elimine las instancias a continuación, se utilizarán para " -"anular la sección 'Reenvíos DNS' de" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "y" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "a" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "no está instalado o no se encuentra" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" - -#~ msgid "DNS over HTTPS Proxy" -#~ msgstr "DNS sobre proxy HTTPS" - -#~ msgid "DNS over HTTPS Proxy Settings" -#~ msgstr "Configuración de DNS sobre proxy HTTPS" - -#~ msgid "Provider" -#~ msgstr "Proveedor" - -#~ msgid "Subnet address" -#~ msgstr "Direccion de subred" - -#~ msgid "Uknown Provider" -#~ msgstr "Proveedor Desconocido" - -#~ msgid "HTTPS DNS Proxy" -#~ msgstr "Proxy DNS HTTPS" - -#~ msgid "HTTPS DNS Proxy Settings" -#~ msgstr "Configuración de proxy HTTPS DNS" - -#~ msgid "Group name" -#~ msgstr "Nombre del grupo" - -#~ msgid "User name" -#~ msgstr "Nombre de usuario" diff --git a/luci-app-https-dns-proxy/po/fr/https-dns-proxy.po b/luci-app-https-dns-proxy/po/fr/https-dns-proxy.po deleted file mode 100644 index c9259dae9..000000000 --- a/luci-app-https-dns-proxy/po/fr/https-dns-proxy.po +++ /dev/null @@ -1,176 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-03-11 23:49+0000\n" -"Last-Translator: Hydci \n" -"Language-Team: French \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.0-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (protection de la famille)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (Standard)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (Filtre Adulte)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (Filtre Famille)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (Filtre Sécurité)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP et DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "Proxy DNS Over HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "Paramètres du Proxy DNS Over HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Société Digitale" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Désactiver" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "Sous-réseau client EDNS" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Activer" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Pour plus d'informations sur les différentes options, consultez" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Instances" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Adresse d'écoute" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Port d'écoute" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Chargement" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Serveur proxy" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (recommandé)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (sécurisé avec prise en charge ECS)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (sécurisé)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (non sécurisé)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Recharger" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "Résolveur" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "En cours d'exécution" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Statut du service" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Démarrer" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Arrêter" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Arrêté" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Proveedor desconocido" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"Lorsque vous ajoutez/supprimez des instances ci-dessous, elles seront " -"utilisées pour passer outre la section \"redirections DNS\" de" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "et" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "à" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "n'est pas installé ou introuvable" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" diff --git a/luci-app-https-dns-proxy/po/he/https-dns-proxy.po b/luci-app-https-dns-proxy/po/he/https-dns-proxy.po deleted file mode 100644 index 3b445c846..000000000 --- a/luci-app-https-dns-proxy/po/he/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: he\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/hi/https-dns-proxy.po b/luci-app-https-dns-proxy/po/hi/https-dns-proxy.po deleted file mode 100644 index 49b6f01a2..000000000 --- a/luci-app-https-dns-proxy/po/hi/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: hi\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/hu/https-dns-proxy.po b/luci-app-https-dns-proxy/po/hu/https-dns-proxy.po deleted file mode 100644 index 2586d5604..000000000 --- a/luci-app-https-dns-proxy/po/hu/https-dns-proxy.po +++ /dev/null @@ -1,176 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-01-01 23:07+0000\n" -"Last-Translator: Balázs Úr \n" -"Language-Team: Hungarian \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 3.10\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (családvédelem)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (szabványos)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (felnőtt szűrő)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (családszűrő)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (biztonsági szűrő)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP és DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "DNS HTTPS-proxy fölött" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "DNS HTTPS-proxy fölött beállításai" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Digitale Gesellschaft" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Letiltás" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "EDNS ügyfélalhálózat" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Engedélyezés" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "A különböző beállításokkal kapcsolatos további információkért nézze meg" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Példányok" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Cím figyelése" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Port figyelése" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Betöltés" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Proxy-kiszolgáló" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (ajánlott)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (biztonságos ECS támogatással)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (biztonságos)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (nem biztonságos)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Újratöltés" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "Feloldó" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "Fut" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Szolgáltatás állapota" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Indítás" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Leállítás" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Leállítva" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Ismeretlen szolgáltató" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"Ha bármely példányt hozzáadja vagy eltávolítja lent, akkor azok lesznek " -"használva a „DNS továbbítások” szakaszának felülbírálását ennek:" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "és" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "ekkor:" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "nincs telepítve vagy nem található" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" diff --git a/luci-app-https-dns-proxy/po/it/https-dns-proxy.po b/luci-app-https-dns-proxy/po/it/https-dns-proxy.po deleted file mode 100644 index 4d2faf50b..000000000 --- a/luci-app-https-dns-proxy/po/it/https-dns-proxy.po +++ /dev/null @@ -1,174 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-03-07 12:33+0000\n" -"Last-Translator: Giuseppe Valitutto \n" -"Language-Team: Italian \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.0-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP e DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Disabilita" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Abilita" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Caricamento" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/ja/https-dns-proxy.po b/luci-app-https-dns-proxy/po/ja/https-dns-proxy.po deleted file mode 100644 index a3aa6bc9a..000000000 --- a/luci-app-https-dns-proxy/po/ja/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: ja\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/ko/https-dns-proxy.po b/luci-app-https-dns-proxy/po/ko/https-dns-proxy.po deleted file mode 100644 index 5a42245b7..000000000 --- a/luci-app-https-dns-proxy/po/ko/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: ko\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/mr/https-dns-proxy.po b/luci-app-https-dns-proxy/po/mr/https-dns-proxy.po deleted file mode 100644 index 43cc03427..000000000 --- a/luci-app-https-dns-proxy/po/mr/https-dns-proxy.po +++ /dev/null @@ -1,176 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-02-07 09:19+0000\n" -"Last-Translator: Prachi Joshi \n" -"Language-Team: Marathi \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-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "अ‍ॅडगार्ड (कौटुंबिक संरक्षण)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "अ‍ॅडगार्ड (मानक)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "क्लीन ब्राउझिंग (प्रौढ फिल्टर)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "क्लीन ब्राउझिंग (फॅमिली फिल्टर)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "क्लीन ब्राउझिंग (सुरक्षा फिल्टर)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "क्लाउडफ्लेअर" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "डीएचसीपी आणि डीएनएस" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "एचटीटीपीएस प्रॉक्सी वर डीएनएस" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "एचटीटीपीएस प्रॉक्सी सेटिंग वरील डीएनएस" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "डीएनएस.एसबी" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "डिजिटेल गसेल्सशाफ्ट" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "अक्षम करा" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "ईडीएनएस क्लायंट सबनेट" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "सक्षम करा" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "वेगवेगळ्या पर्यायांवर अधिक माहितीसाठी तपासा" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "गूगल" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "उदाहरणे" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "ऐकण्याचा पत्ता" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "ऐकण्याचा पत्ता" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "लोड करीत आहे" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "प्रॉक्सी सर्व्हर" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (शिफारस केलेले)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (ईसीएस समर्थनासह सुरक्षित)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (सुरक्षित)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (असुरक्षित)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "रीलोड करा" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "निराकरणकर्ता" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "चालू आहे" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "सेवा स्थिती" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "प्रारंभ करा" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "थांबा" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "बंद" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "अज्ञात प्रदाता" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"जेव्हा आपण खाली कोणतीही उदाहरणे जोडता / काढता तेव्हा ती 'डीएनएस फॉरवर्डिंग' " -"विभागाच्या अधिलिखितसाठी वापरली जाईल" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "आणि" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "येथे" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "स्थापित केलेले नाही किंवा सापडले नाही" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" diff --git a/luci-app-https-dns-proxy/po/ms/https-dns-proxy.po b/luci-app-https-dns-proxy/po/ms/https-dns-proxy.po deleted file mode 100644 index 26b756b07..000000000 --- a/luci-app-https-dns-proxy/po/ms/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: ms\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/nb_NO/https-dns-proxy.po b/luci-app-https-dns-proxy/po/nb_NO/https-dns-proxy.po deleted file mode 100644 index 63734bc2e..000000000 --- a/luci-app-https-dns-proxy/po/nb_NO/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: nb_NO\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/pl/https-dns-proxy.po b/luci-app-https-dns-proxy/po/pl/https-dns-proxy.po deleted file mode 100644 index ddfc9516e..000000000 --- a/luci-app-https-dns-proxy/po/pl/https-dns-proxy.po +++ /dev/null @@ -1,198 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-04-02 19:50+0000\n" -"Last-Translator: Marcin Net \n" -"Language-Team: Polish \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.0-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (Ochrona rodzinna)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (Standardowy)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (Filtr treści dla dorosłych)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (Filtr rodzinny)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (Filtr bezpieczeństwa)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP i DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "DNS Over HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "Ustawienia DNS Over HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Digitale Gesellschaft" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Wyłącz" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "Podsieć klienta EDNS" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Włącz" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Aby uzyskać więcej informacji na temat różnych opcji, sprawdź" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Instancje" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Nasłuchiwany adres" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Nasłuchiwany port" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Ładowanie" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Serwer proxy" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (Zalecane)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (Zabezpieczony z obsługą ECS)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (Zabezpieczony)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (Niezabezpieczony)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Przeładuj" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "Dostawca" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "Działa" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Status usługi" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Uruchom" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Stop" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Zatrzymany" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Nieznany dostawca" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"Po dodaniu/usunięciu dowolnej instancji poniżej, zastąpią one ustawienia " -"sekcji 'Przekazywania DNS' w" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "i" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "na" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "nie jest zainstalowany lub nie znaleziono" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" - -#~ msgid "DNS over HTTPS Proxy" -#~ msgstr "Proxy DNS over HTTPS" - -#~ msgid "DNS over HTTPS Proxy Settings" -#~ msgstr "Ustawiania proxy DNS over HTTPS" - -#~ msgid "Provider" -#~ msgstr "Dostawca" - -#~ msgid "Subnet address" -#~ msgstr "Adres podsieci" - -#~ msgid "Uknown Provider" -#~ msgstr "Nieznany dostawca" - -#~ msgid "HTTPS DNS Proxy" -#~ msgstr "HTTPS DNS Proxy" - -#~ msgid "HTTPS DNS Proxy Settings" -#~ msgstr "Ustawienia Proxy HTTPS DNS" diff --git a/luci-app-https-dns-proxy/po/pt/https-dns-proxy.po b/luci-app-https-dns-proxy/po/pt/https-dns-proxy.po deleted file mode 100644 index 347238f56..000000000 --- a/luci-app-https-dns-proxy/po/pt/https-dns-proxy.po +++ /dev/null @@ -1,197 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-01-02 16:07+0000\n" -"Last-Translator: ssantos \n" -"Language-Team: Portuguese \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 3.10\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (Proteção da Família)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (Padrão)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (Filtro Adulto)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (Filtro para a Familia)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (Filtro de Segurança)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP e DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "Proxy de DNS Over HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "Configurações de Proxy de DNS Over HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Digitale Gesellschaft" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Desativar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "Sub-rede de clientes EDNS" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Ativar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Para obter mais informações sobre opções diferentes, verifique" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Instâncias" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Endereço de escuta" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Porta de escuta" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "A carregar" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Servidor proxy" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (Recomendado)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (Protegido com Suporte de ECS)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (Seguro)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (Sem Segurança)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Recarregar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "Resolvedor" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "Executando" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Estado do Serviço" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Iniciar" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Parar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Parado" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Provedor Desconhecido" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"Quando adicionar/remover quaisquer instâncias abaixo, serão usadas para " -"substituir a seção 'DNS forwardings' de" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "e" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "em" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "não está instalado ou não foi encontrado" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" - -#~ msgid "DNS over HTTPS Proxy" -#~ msgstr "Proxy de DNS sobre HTTPS" - -#~ msgid "DNS over HTTPS Proxy Settings" -#~ msgstr "Configurações de Proxy DNS sobre HTTPS" - -#~ msgid "Provider" -#~ msgstr "Provedor" - -#~ msgid "Subnet address" -#~ msgstr "Endereço de sub-rede" - -#~ msgid "Uknown Provider" -#~ msgstr "Provedor Desconhecido" - -#~ msgid "HTTPS DNS Proxy" -#~ msgstr "Proxy de DNS HTTPS" - -#~ msgid "HTTPS DNS Proxy Settings" -#~ msgstr "Configurações de proxy HTTPS DNS" diff --git a/luci-app-https-dns-proxy/po/pt_BR/https-dns-proxy.po b/luci-app-https-dns-proxy/po/pt_BR/https-dns-proxy.po deleted file mode 100644 index a0bc44ca4..000000000 --- a/luci-app-https-dns-proxy/po/pt_BR/https-dns-proxy.po +++ /dev/null @@ -1,191 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-02-21 21:18+0000\n" -"Last-Translator: Wellington Terumi Uemura \n" -"Language-Team: Portuguese (Brazil) \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 3.11.1\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (Proteção Familiar)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (Padrão)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (Filtro Adulto)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (Filtro Familiar)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (Filtro de Segurança)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP e DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "DNS sobre Proxy HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "Configurações de Proxy DNS sobre HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Digitale Gesellschaft" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Desativar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "Sub-rede de clientes EDNS" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Ativar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Para obter mais informações sobre diferentes opções, verifique" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Instâncias" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Escutar endereço" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Porta de escuta" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Carregando" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Servidor proxy" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (Preferível)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (Protegido com Suporte a ECS)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (Seguro)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (Sem Segurança)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Recarregar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "Resolvedor" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "Em execução" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Condição do Serviço" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Iniciar" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Parar" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Parado" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Provedor Desconhecido" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" -"Quando você adiciona/remove quaisquer instâncias abaixo, elas serão usadas " -"para substituir a seção 'Encaminhamentos DNS' de" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "e" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "em" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "não está instalado ou não foi encontrado" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" - -#~ msgid "DNS over HTTPS Proxy" -#~ msgstr "DNS sobre Proxy HTTPS" - -#~ msgid "DNS over HTTPS Proxy Settings" -#~ msgstr "Configurações de DNS sobre Proxy HTTPS" - -#~ msgid "Provider" -#~ msgstr "Provedor" - -#~ msgid "Subnet address" -#~ msgstr "Endereço de sub-rede" - -#~ msgid "Uknown Provider" -#~ msgstr "Provedor Desconhecido" diff --git a/luci-app-https-dns-proxy/po/ro/https-dns-proxy.po b/luci-app-https-dns-proxy/po/ro/https-dns-proxy.po deleted file mode 100644 index fbffd76c0..000000000 --- a/luci-app-https-dns-proxy/po/ro/https-dns-proxy.po +++ /dev/null @@ -1,175 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-01-10 12:24+0000\n" -"Last-Translator: Alexandru Stan \n" -"Language-Team: Romanian \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 3.10.1\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Dezactivează" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Activează" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Încărcare" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Pornește" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/ru/https-dns-proxy.po b/luci-app-https-dns-proxy/po/ru/https-dns-proxy.po deleted file mode 100644 index 506cc926d..000000000 --- a/luci-app-https-dns-proxy/po/ru/https-dns-proxy.po +++ /dev/null @@ -1,175 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-03-24 16:46+0000\n" -"Last-Translator: Константин \n" -"Language-Team: Russian \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.0-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (Семейная защита)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (Стандарт)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (Фильтр для взрослых)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (Семейный фильтр)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (Фильтр безопасности)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP и DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "DNS Over HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "Настройки DNS Over HTTPS" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Digitale Gesellschaft" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Отключить" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "Клиентская подсеть EDNS" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Включить" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Для получения дополнительной информации о различных опциях, проверьте" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Адрес" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Порт" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Загрузка" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Прокси сервер" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (Рекомендуется)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (Защищено поддержкой ECS)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (Защищен)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Перезапустить" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "Поставщик" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "Запущен" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Статус сервиса" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Запустить" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Остановить" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Остановлено" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Неизвестный поставщик" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "и" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "не установлен или не найден" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/sk/https-dns-proxy.po b/luci-app-https-dns-proxy/po/sk/https-dns-proxy.po deleted file mode 100644 index 802f26451..000000000 --- a/luci-app-https-dns-proxy/po/sk/https-dns-proxy.po +++ /dev/null @@ -1,174 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-04-04 17:35+0000\n" -"Last-Translator: Dušan Kazik \n" -"Language-Team: Slovak \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.0-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP a DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Zakázať" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Spustiť" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Zastaviť" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/sv/https-dns-proxy.po b/luci-app-https-dns-proxy/po/sv/https-dns-proxy.po deleted file mode 100644 index 88edf2604..000000000 --- a/luci-app-https-dns-proxy/po/sv/https-dns-proxy.po +++ /dev/null @@ -1,174 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2019-12-03 08:25+0000\n" -"Last-Translator: Mattias Münster \n" -"Language-Team: Swedish \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 3.10-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP och DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Inaktivera" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Aktivera" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Lyssningsadress" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Lyssningsport" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Laddar" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "Ladda om" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Starta" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Stoppad" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot b/luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot deleted file mode 100644 index 6b7877f26..000000000 --- a/luci-app-https-dns-proxy/po/templates/https-dns-proxy.pot +++ /dev/null @@ -1,177 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:116 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:94 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:57 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:166 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:54 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:13 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:114 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh.lua:3 -msgid "LibreDNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/gr.libredns.doh-ads.lua:3 -msgid "LibreDNS (No Ads)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:149 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:162 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:169 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:44 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:122 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:96 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:98 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:47 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:49 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:114 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:34 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:86 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -msgid "disabled" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:59 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/tr/https-dns-proxy.po b/luci-app-https-dns-proxy/po/tr/https-dns-proxy.po deleted file mode 100644 index aa8333eab..000000000 --- a/luci-app-https-dns-proxy/po/tr/https-dns-proxy.po +++ /dev/null @@ -1,174 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2019-12-09 20:04+0000\n" -"Last-Translator: İsmail Karslı \n" -"Language-Team: Turkish \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 3.10-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Durdur" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/uk/https-dns-proxy.po b/luci-app-https-dns-proxy/po/uk/https-dns-proxy.po deleted file mode 100644 index 7c09b62e8..000000000 --- a/luci-app-https-dns-proxy/po/uk/https-dns-proxy.po +++ /dev/null @@ -1,175 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-03-11 01:51+0000\n" -"Last-Translator: Olexandr Nesterenko \n" -"Language-Team: Ukrainian \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.0-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard (Сімейний захист)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard (Стандарт)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing (Віковий фільтр)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing (Сімейний фільтр)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing (Безпечний фільтр)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP та DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "DNS через HTTPS проксі" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "Налаштування DNS через HTTPS проксі" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Digitale Gesellschaft" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "Вимкнути" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "Клієнтська підмережа EDNS" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "Увімкнути" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "Для більш детальної інформації по параметрах, перевірте" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "Google" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "Приклади застосування" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "Адреса для прослуховування" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "Порт для прослуховування" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "Завантаження" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "Проксі сервер" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9 (Рекомендовано)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9 (Захищено з підтримкою ECS)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9 (Захищено)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9 (Не захищено)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "Стан сервісу" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "Запустити" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "Зупинити" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "Зупинено" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "Невідомий постачальник" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "та" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "не встановлено, або не знайдено" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" diff --git a/luci-app-https-dns-proxy/po/vi/https-dns-proxy.po b/luci-app-https-dns-proxy/po/vi/https-dns-proxy.po deleted file mode 100644 index 918e17c85..000000000 --- a/luci-app-https-dns-proxy/po/vi/https-dns-proxy.po +++ /dev/null @@ -1,168 +0,0 @@ -msgid "" -msgstr "" -"Language: vi\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" diff --git a/luci-app-https-dns-proxy/po/zh_Hans/https-dns-proxy.po b/luci-app-https-dns-proxy/po/zh_Hans/https-dns-proxy.po deleted file mode 100644 index ea8bc1f61..000000000 --- a/luci-app-https-dns-proxy/po/zh_Hans/https-dns-proxy.po +++ /dev/null @@ -1,207 +0,0 @@ -# -# Yangfl , 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2020-02-19 13:30+0000\n" -"Last-Translator: xiazhang \n" -"Language-Team: Chinese (Simplified) \n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\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\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "AdGuard(家庭保护)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "AdGuard(标准)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "CleanBrowsing(成人过滤器)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "CleanBrowsing(家庭过滤器)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "CleanBrowsing(安全筛选器)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "Cloudflare" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "DHCP/DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "通过 HTTPS 代理的 DNS" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "通过 HTTPS 代理的 DNS 设置" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "DNS.SB" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "Digitale Gesellschaft" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "禁用" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "DoH" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "EDNS 客户端子网" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "启用" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "有关不同选项的更多信息,请检查" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "谷歌" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "实例" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "监听地址" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "监听端口" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "加载中" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "ODVR (nic.cz)" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "代理服务器" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "Quad 9(推荐)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "Quad 9(获得ECS支持)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "Quad 9(安全)" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "Quad 9(不安全)" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "重新载入" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "解析器" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "运行中" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "服务状态" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "启动" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "停止" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "已停止" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "未知的提供商" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "当您添加/删除下面的任何实例时,它们将用于覆盖以下实例的“ DNS转发”部分" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "和" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "在" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "未安装或未找到" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "rubyfish.cn" - -#~ msgid "DNS over HTTPS Proxy" -#~ msgstr "DNS over HTTPS 代理" - -#~ msgid "DNS over HTTPS Proxy Settings" -#~ msgstr "DNS over HTTPS代理设置" - -#~ msgid "Provider" -#~ msgstr "提供商" - -#~ msgid "Subnet address" -#~ msgstr "子网地址" - -#~ msgid "Uknown Provider" -#~ msgstr "未知提供商" - -#~ msgid "HTTPS DNS Proxy" -#~ msgstr "HTTPS DNS 代理" - -#~ msgid "HTTPS DNS Proxy Settings" -#~ msgstr "HTTPS DNS 代理设置" - -#~ msgid "Group name" -#~ msgstr "组名称" - -#~ msgid "User name" -#~ msgstr "用户名" diff --git a/luci-app-https-dns-proxy/po/zh_Hant/https-dns-proxy.po b/luci-app-https-dns-proxy/po/zh_Hant/https-dns-proxy.po deleted file mode 100644 index dd7a75f8a..000000000 --- a/luci-app-https-dns-proxy/po/zh_Hant/https-dns-proxy.po +++ /dev/null @@ -1,198 +0,0 @@ -# -# Yangfl , 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: 2020-02-25 23:11+0000\n" -"Last-Translator: Trevor \n" -"Language-Team: Chinese (Traditional) \n" -"Language: zh_Hant\n" -"MIME-Version: 1.0\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.0-dev\n" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3 -msgid "AdGuard (Family Protection)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns.lua:3 -msgid "AdGuard (Standard)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-adult.lua:3 -msgid "CleanBrowsing (Adult Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-family.lua:3 -msgid "CleanBrowsing (Family Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/org.cleanbrowsing.doh-security.lua:3 -msgid "CleanBrowsing (Security Filter)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.cloudflare-dns.lua:3 -msgid "Cloudflare" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:85 -msgid "DHCP and DNS" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4 -msgid "DNS Over HTTPS Proxy" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64 -msgid "DNS Over HTTPS Proxy Settings" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/sb.dns.lua:3 -msgid "DNS.SB" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/ch.digitale-gesellschaft.dns.lua:3 -msgid "Digitale Gesellschaft" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:53 -msgid "Disable" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "DoH" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:143 -msgid "EDNS client subnet" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:51 -msgid "Enable" -msgstr "啟用" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:87 -msgid "For more information on different options check" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/google.dns.lua:3 -msgid "Google" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "Instances" -msgstr "例項" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:126 -msgid "Listen address" -msgstr "監聽位址" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:139 -msgid "Listen port" -msgstr "監聽埠" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/js.htm:52 -msgid "Loading" -msgstr "載入中" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/cz.nic.odvr.lua:3 -msgid "ODVR (nic.cz)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:146 -msgid "Proxy server" -msgstr "代理伺服器" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns.lua:3 -msgid "Quad 9 (Recommended)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns11.lua:3 -msgid "Quad 9 (Secured with ECS Support)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns9.lua:3 -msgid "Quad 9 (Secured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/net.quad9.dns10.lua:3 -msgid "Quad 9 (Unsecured)" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:43 -msgid "Reload" -msgstr "重新載入" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:99 -msgid "Resolver" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "Running" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:66 -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:68 -msgid "Service Status" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:41 -msgid "Start" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/view/https-dns-proxy/buttons.htm:45 -msgid "Stop" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:37 -msgid "Stopped" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:22 -msgid "Unknown Provider" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:83 -msgid "" -"When you add/remove any instances below, they will be used to override the " -"'DNS forwardings' section of" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:91 -msgid "and" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:56 -msgid "at" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:32 -msgid "is not installed or not found" -msgstr "" - -#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers.disabled/cn.rubyfish.dns.lua:3 -msgid "rubyfish.cn" -msgstr "" - -#~ msgid "Provider" -#~ msgstr "提供商" - -#~ msgid "Subnet address" -#~ msgstr "子網位址" - -#~ msgid "HTTPS DNS Proxy" -#~ msgstr "HTTPS DNS 代理" - -#~ msgid "HTTPS DNS Proxy Settings" -#~ msgstr "HTTPS DNS 代理設定" - -#~ msgid "Group name" -#~ msgstr "組名稱" - -#~ msgid "User name" -#~ msgstr "使用者名稱" diff --git a/luci-app-https-dns-proxy/root/etc/uci-defaults/40_luci-https-dns-proxy b/luci-app-https-dns-proxy/root/etc/uci-defaults/40_luci-https-dns-proxy deleted file mode 100644 index a1ecfcea2..000000000 --- a/luci-app-https-dns-proxy/root/etc/uci-defaults/40_luci-https-dns-proxy +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -rm -rf /var/luci-modulecache/; rm -f /var/luci-indexcache; -exit 0 diff --git a/luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json b/luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json deleted file mode 100644 index 6b44c21df..000000000 --- a/luci-app-https-dns-proxy/root/usr/share/luci/menu.d/luci-app-https-dns-proxy.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "admin/services/https-dns-proxy": { - "title": "Proxy DNS Over HTTPS", - "order": 20, - "action": { - "type": "cbi", - "path": "https-dns-proxy" - }, - "depends": { - "acl": [ "luci-app-https-dns-proxy" ] - } - } -} diff --git a/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json b/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json deleted file mode 100644 index b2f1cbc0d..000000000 --- a/luci-app-https-dns-proxy/root/usr/share/rpcd/acl.d/luci-app-https-dns-proxy.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-https-dns-proxy": { - "description": "Grant UCI access for luci-app-https-dns-proxy", - "read": { - "uci": [ "https-dns-proxy" ] - }, - "write": { - "uci": [ "https-dns-proxy" ] - } - } -} \ No newline at end of file From 6cacf2cc06616f429743fc2d835a9efd17440913 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 11:03:38 +0100 Subject: [PATCH 064/199] Add smartdns --- luci-app-smartdns/Makefile | 25 + .../resources/view/smartdns/smartdns.js | 1178 +++++++++++++++++ luci-app-smartdns/po/ar/smartdns.po | 897 +++++++++++++ luci-app-smartdns/po/bg/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/bn_BD/smartdns.po | 892 +++++++++++++ luci-app-smartdns/po/ca/smartdns.po | 893 +++++++++++++ luci-app-smartdns/po/cs/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/da/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/de/smartdns.po | 963 ++++++++++++++ luci-app-smartdns/po/el/smartdns.po | 893 +++++++++++++ luci-app-smartdns/po/es/smartdns.po | 1021 ++++++++++++++ luci-app-smartdns/po/fi/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/fr/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/ga/smartdns.po | 944 +++++++++++++ luci-app-smartdns/po/he/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/hi/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/hu/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/it/smartdns.po | 902 +++++++++++++ luci-app-smartdns/po/ja/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/ko/smartdns.po | 893 +++++++++++++ luci-app-smartdns/po/lt/smartdns.po | 910 +++++++++++++ luci-app-smartdns/po/mr/smartdns.po | 892 +++++++++++++ luci-app-smartdns/po/ms/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/nb_NO/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/nl/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/pl/smartdns.po | 949 +++++++++++++ luci-app-smartdns/po/pt/smartdns.po | 945 +++++++++++++ luci-app-smartdns/po/pt_BR/smartdns.po | 982 ++++++++++++++ luci-app-smartdns/po/ro/smartdns.po | 897 +++++++++++++ luci-app-smartdns/po/ru/smartdns.po | 951 +++++++++++++ luci-app-smartdns/po/sk/smartdns.po | 893 +++++++++++++ luci-app-smartdns/po/sv/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/templates/smartdns.pot | 885 +++++++++++++ luci-app-smartdns/po/tr/smartdns.po | 938 +++++++++++++ luci-app-smartdns/po/uk/smartdns.po | 897 +++++++++++++ luci-app-smartdns/po/vi/smartdns.po | 896 +++++++++++++ luci-app-smartdns/po/zh_Hans/smartdns.po | 917 +++++++++++++ luci-app-smartdns/po/zh_Hant/smartdns.po | 950 +++++++++++++ .../share/luci/menu.d/luci-app-smartdns.json | 12 + .../share/rpcd/acl.d/luci-app-smartdns.json | 22 + openmptcprouter-full/Makefile | 7 +- 41 files changed, 34089 insertions(+), 3 deletions(-) create mode 100644 luci-app-smartdns/Makefile create mode 100644 luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js create mode 100644 luci-app-smartdns/po/ar/smartdns.po create mode 100644 luci-app-smartdns/po/bg/smartdns.po create mode 100644 luci-app-smartdns/po/bn_BD/smartdns.po create mode 100644 luci-app-smartdns/po/ca/smartdns.po create mode 100644 luci-app-smartdns/po/cs/smartdns.po create mode 100644 luci-app-smartdns/po/da/smartdns.po create mode 100644 luci-app-smartdns/po/de/smartdns.po create mode 100644 luci-app-smartdns/po/el/smartdns.po create mode 100644 luci-app-smartdns/po/es/smartdns.po create mode 100644 luci-app-smartdns/po/fi/smartdns.po create mode 100644 luci-app-smartdns/po/fr/smartdns.po create mode 100644 luci-app-smartdns/po/ga/smartdns.po create mode 100644 luci-app-smartdns/po/he/smartdns.po create mode 100644 luci-app-smartdns/po/hi/smartdns.po create mode 100644 luci-app-smartdns/po/hu/smartdns.po create mode 100644 luci-app-smartdns/po/it/smartdns.po create mode 100644 luci-app-smartdns/po/ja/smartdns.po create mode 100644 luci-app-smartdns/po/ko/smartdns.po create mode 100644 luci-app-smartdns/po/lt/smartdns.po create mode 100644 luci-app-smartdns/po/mr/smartdns.po create mode 100644 luci-app-smartdns/po/ms/smartdns.po create mode 100644 luci-app-smartdns/po/nb_NO/smartdns.po create mode 100644 luci-app-smartdns/po/nl/smartdns.po create mode 100644 luci-app-smartdns/po/pl/smartdns.po create mode 100644 luci-app-smartdns/po/pt/smartdns.po create mode 100644 luci-app-smartdns/po/pt_BR/smartdns.po create mode 100644 luci-app-smartdns/po/ro/smartdns.po create mode 100644 luci-app-smartdns/po/ru/smartdns.po create mode 100644 luci-app-smartdns/po/sk/smartdns.po create mode 100644 luci-app-smartdns/po/sv/smartdns.po create mode 100644 luci-app-smartdns/po/templates/smartdns.pot create mode 100644 luci-app-smartdns/po/tr/smartdns.po create mode 100644 luci-app-smartdns/po/uk/smartdns.po create mode 100644 luci-app-smartdns/po/vi/smartdns.po create mode 100644 luci-app-smartdns/po/zh_Hans/smartdns.po create mode 100644 luci-app-smartdns/po/zh_Hant/smartdns.po create mode 100644 luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json create mode 100644 luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json diff --git a/luci-app-smartdns/Makefile b/luci-app-smartdns/Makefile new file mode 100644 index 000000000..875a50347 --- /dev/null +++ b/luci-app-smartdns/Makefile @@ -0,0 +1,25 @@ +# +# Copyright 2018-2020 Nick Peng +# Licensed to the public under the GPL V3 License. + +include $(TOPDIR)/rules.mk + +PKG_LICENSE:=GPL-3.0-or-later +PKG_MAINTAINER:=Nick Peng +PKG_VERSION:=1.2023.42 +PKG_RELEASE:=1 + +LUCI_TITLE:=LuCI for smartdns +LUCI_DESCRIPTION:=Provides Luci for smartdns +LUCI_DEPENDS:=+luci-base +smartdns + +define Package/$(PKG_NAME)/config +# shown in make menuconfig +help + $(LUCI_TITLE) + Version: $(PKG_VERSION)-$(PKG_RELEASE) +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js b/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js new file mode 100644 index 000000000..191e57e58 --- /dev/null +++ b/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js @@ -0,0 +1,1178 @@ +/************************************************************************* + * + * Copyright (C) 2018-2023 Ruilin Peng (Nick) . + * + * smartdns is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * smartdns is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +'use strict'; +'require fs'; +'require uci'; +'require form'; +'require view'; +'require poll'; +'require rpc'; +'require ui'; + +var conf = 'smartdns'; +var callServiceList = rpc.declare({ + object: 'service', + method: 'list', + params: ['name'], + expect: { '': {} } +}); +var pollAdded = false; + +function getServiceStatus() { + return L.resolveDefault(callServiceList(conf), {}) + .then(function (res) { + var is_running = false; + try { + is_running = res[conf]['instances']['smartdns']['running']; + } catch (e) { } + return is_running; + }); +} + +function smartdnsServiceStatus() { + return Promise.all([ + getServiceStatus() + ]); +} + +function smartdnsRenderStatus(res) { + var renderHTML = ""; + var isRunning = res[0]; + + var autoSetDnsmasq = uci.get_first('smartdns', 'smartdns', 'auto_set_dnsmasq'); + var smartdnsPort = uci.get_first('smartdns', 'smartdns', 'port'); + var dnsmasqServer = uci.get_first('dhcp', 'dnsmasq', 'server'); + + if (isRunning) { + renderHTML += "SmartDNS - " + _("RUNNING") + ""; + } else { + renderHTML += "SmartDNS - " + _("NOT RUNNING") + ""; + return renderHTML; + } + + if (autoSetDnsmasq === '1' && smartdnsPort != '53') { + var matchLine = "127.0.0.1#" + smartdnsPort; + + uci.unload('dhcp'); + uci.load('dhcp'); + if (dnsmasqServer == undefined || dnsmasqServer.indexOf(matchLine) < 0) { + renderHTML += "
" + _("Dnsmasq Forwarded To Smartdns Failure") + ""; + } + } + + return renderHTML; +} + +return view.extend({ + load: function () { + return Promise.all([ + uci.load('dhcp'), + uci.load('smartdns'), + ]); + }, + render: function (stats) { + var m, s, o; + var ss, so; + var servers, download_files; + + m = new form.Map('smartdns', _('SmartDNS')); + m.title = _("SmartDNS Server"); + m.description = _("SmartDNS is a local high-performance DNS server, supports finding fastest IP, " + + "supports ad filtering, and supports avoiding DNS poisoning."); + + s = m.section(form.NamedSection, '_status'); + s.anonymous = true; + s.render = function (section_id) { + var renderStatus = function () { + return L.resolveDefault(smartdnsServiceStatus()).then(function (res) { + var view = document.getElementById("service_status"); + if (view == null) { + return; + } + + view.innerHTML = smartdnsRenderStatus(res); + }); + } + + if (pollAdded == false) { + poll.add(renderStatus, 1); + pollAdded = true; + } + + return E('div', { class: 'cbi-section' }, [ + E('div', { id: 'service_status' }, + _('Collecting data ...')) + ]); + } + + //////////////// + // Basic; + //////////////// + s = m.section(form.TypedSection, "smartdns", _("Settings"), _("General Settings")); + s.anonymous = true; + + s.tab("settings", _("General Settings")); + s.tab("advanced", _('Advanced Settings')); + s.tab("seconddns", _("Second Server Settings")); + s.tab("dns64", _("DNS64 Server Settings")); + s.tab("files", _("Download Files Setting"), _("Download domain list files for domain-rule and include config files, please refresh the page after download to take effect.")); + s.tab("proxy", _("Proxy Server Settings")); + s.tab("custom", _("Custom Settings")); + + /////////////////////////////////////// + // Basic Settings + /////////////////////////////////////// + o = s.taboption("settings", form.Flag, "enabled", _("Enable"), _("Enable or disable smartdns server")); + o.rmempty = false; + o.default = o.disabled; + + // server name; + o = s.taboption("settings", form.Value, "server_name", _("Server Name"), _("Smartdns server name")); + o.default = "smartdns"; + o.datatype = "hostname"; + o.rempty = false; + + // Port; + o = s.taboption("settings", form.Value, "port", _("Local Port"), + _("Smartdns local server port, smartdns will be automatically set as main dns when the port is 53.")); + o.placeholder = 53; + o.default = 53; + o.datatype = "port"; + o.rempty = false; + + // auto-conf-dnsmasq; + o = s.taboption("settings", form.Flag, "auto_set_dnsmasq", _("Automatically Set Dnsmasq"), _("Automatically set as upstream of dnsmasq when port changes.")); + o.rmempty = false; + o.default = o.enabled; + + /////////////////////////////////////// + // advanced settings; + /////////////////////////////////////// + // Speed check mode; + o = s.taboption("advanced", form.Value, "speed_check_mode", _("Speed Check Mode"), _("Smartdns speed check mode.")); + o.rmempty = true; + o.placeholder = "default"; + o.value("", _("default")); + o.value("ping,tcp:80,tcp:443"); + o.value("ping,tcp:443,tcp:80"); + o.value("tcp:80,tcp:443,ping"); + o.value("tcp:443,tcp:80,ping"); + o.value("none", _("None")); + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + if (value == "none") { + return true; + } + + var check_mode = value.split(",") + for (var i = 0; i < check_mode.length; i++) { + if (check_mode[i] == "ping") { + continue; + } + + if (check_mode[i].indexOf("tcp:") == 0) { + var port = check_mode[i].split(":")[1]; + if (port == "") { + return _("TCP port is empty"); + } + + continue; + } + + return _("Speed check mode is invalid."); + } + + return true; + } + + // response mode; + o = s.taboption("advanced", form.ListValue, "response_mode", _("Response Mode"), + _("Smartdns response mode, First Ping: return the first ping IP, Fastest IP: return the fastest IP, Fastest Response: return the fastest DNS response.")); + o.rmempty = true; + o.placeholder = "default"; + o.value("", _("default")); + o.value("first-ping", _("First Ping")); + o.value("fastest-ip", _("Fastest IP")); + o.value("fastest-response", _("Fastest Response")); + + // Enable TCP server; + o = s.taboption("advanced", form.Flag, "tcp_server", _("TCP Server"), _("Enable TCP DNS Server")); + o.rmempty = false; + o.default = o.enabled; + + // Support IPV6; + o = s.taboption("advanced", form.Flag, "ipv6_server", _("IPV6 Server"), _("Enable IPV6 DNS Server")); + o.rmempty = false; + o.default = o.enabled; + + // bind to device; + o = s.taboption("advanced", form.Flag, "bind_device", _("Bind Device"), _("Listen only on the specified interfaces.")); + o.rmempty = false; + o.default = o.enabled; + + // bind device name; + o = s.taboption("advanced", form.Value, "bind_device_name", _("Bind Device Name"), _("Name of device name listen on.")); + o.placeholder = "default"; + o.rempty = true; + o.datatype = "string"; + + // Support DualStack ip selection; + o = s.taboption("advanced", form.Flag, "dualstack_ip_selection", _("Dual-stack IP Selection"), + _("Enable IP selection between IPV4 and IPV6")); + o.rmempty = false; + o.default = o.enabled; + + // Domain prefetch load ; + o = s.taboption("advanced", form.Flag, "prefetch_domain", _("Domain prefetch"), + _("Enable domain prefetch, accelerate domain response speed.")); + o.rmempty = true; + o.default = o.disabled; + + // Domain Serve expired + o = s.taboption("advanced", form.Flag, "serve_expired", _("Serve expired"), + _("Attempts to serve old responses from cache with a TTL of 0 in the response without waiting for the actual resolution to finish.")); + o.rmempty = false; + o.default = o.enabled; + + // cache-size; + o = s.taboption("advanced", form.Value, "cache_size", _("Cache Size"), _("DNS domain result cache size")); + o.rempty = true; + + // cache-persist; + o = s.taboption("advanced", form.Flag, "cache_persist", _("Cache Persist"), _("Write cache to disk on exit and load on startup.")); + o.rmempty = false; + o.default = o.enabled; + + // cache-size; + o = s.taboption("advanced", form.Flag, "resolve_local_hostnames", _("Resolve Local Hostnames"), _("Resolve local hostnames by reading Dnsmasq lease file.")); + o.rmempty = false; + o.default = o.enabled; + + // Force AAAA SOA + o = s.taboption("advanced", form.Flag, "force_aaaa_soa", _("Force AAAA SOA"), _("Force AAAA SOA.")); + o.rmempty = true; + o.default = o.disabled; + + // Force HTTPS SOA + o = s.taboption("advanced", form.Flag, "force_https_soa", _("Force HTTPS SOA"), _("Force HTTPS SOA.")); + o.rmempty = false; + o.default = o.enabled; + + // Ipset no speed. + o = s.taboption("advanced", form.Value, "ipset_no_speed", _("No Speed IPset Name"), + _("Ipset name, Add domain result to ipset when speed check fails.")); + o.rmempty = true; + o.datatype = "string"; + o.rempty = true; + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var ipset = value.split(",") + for (var i = 0; i < ipset.length; i++) { + if (!ipset[i].match(/^(#[4|6]:)?[a-zA-Z0-9\-_]+$/)) { + return _("ipset name format error, format: [#[4|6]:]ipsetname"); + } + } + + return true; + } + + // NFTset no speed. + o = s.taboption("advanced", form.Value, "nftset_no_speed", _("No Speed NFTset Name"), + _("Nftset name, Add domain result to nftset when speed check fails, format: [#[4|6]:[family#table#set]]")); + o.rmempty = true; + o.datatype = "string"; + o.rempty = true; + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var nftset = value.split(",") + for (var i = 0; i < nftset.length; i++) { + if (!nftset[i].match(/^#[4|6]:[a-zA-Z0-9\-_]+#[a-zA-Z0-9\-_]+#[a-zA-Z0-9\-_]+$/)) { + return _("NFTset name format error, format: [#[4|6]:[family#table#set]]"); + } + } + + return true; + } + + // rr-ttl; + o = s.taboption("advanced", form.Value, "rr_ttl", _("Domain TTL"), _("TTL for all domain result.")); + o.rempty = true; + + // rr-ttl-min; + o = s.taboption("advanced", form.Value, "rr_ttl_min", _("Domain TTL Min"), + _("Minimum TTL for all domain result.")); + o.rempty = true; + o.placeholder = "600"; + o.default = 600; + o.optional = true; + + // rr-ttl-max; + o = s.taboption("advanced", form.Value, "rr_ttl_max", _("Domain TTL Max"), + _("Maximum TTL for all domain result.")); + o.rempty = true; + + // rr-ttl-reply-max; + o = s.taboption("advanced", form.Value, "rr_ttl_reply_max", _("Reply Domain TTL Max"), + _("Reply maximum TTL for all domain result.")); + o.rempty = true; + + // other args + o = s.taboption("advanced", form.Value, "server_flags", _("Additional Server Args"), + _("Additional server args, refer to the help description of the bind option.")) + o.default = "" + o.rempty = true + + // include config + download_files = uci.sections('smartdns', 'download-file'); + o = s.taboption("advanced", form.DynamicList, "conf_files", _("Include Config Files
/etc/smartdns/conf.d"), + _("Include other config files from /etc/smartdns/conf.d or custom path, can be downloaded from the download page.")); + for (var i = 0; i < download_files.length; i++) { + if (download_files[i].type == undefined) { + continue; + } + + if (download_files[i].type != 'config') { + continue + } + + o.value(download_files[i].name); + } + + /////////////////////////////////////// + // second dns server; + /////////////////////////////////////// + // Enable; + o = s.taboption("seconddns", form.Flag, "seconddns_enabled", _("Enable"), + _("Enable or disable second DNS server.")); + o.default = o.disabled; + o.rempty = true; + + // Port; + o = s.taboption("seconddns", form.Value, "seconddns_port", _("Local Port"), _("Smartdns local server port")); + o.placeholder = 6553; + o.default = 6553; + o.datatype = "port"; + o.rempty = false; + + // Enable TCP server; + o = s.taboption("seconddns", form.Flag, "seconddns_tcp_server", _("TCP Server"), _("Enable TCP DNS Server")); + o.rmempty = false; + o.default = o.enabled; + + // dns server group; + o = s.taboption("seconddns", form.Value, "seconddns_server_group", _("Server Group"), + _("Query DNS through specific dns server group, such as office, home.")); + o.rmempty = true; + o.placeholder = "default"; + o.datatype = "hostname"; + o.rempty = true; + + o = s.taboption("seconddns", form.Flag, "seconddns_no_speed_check", _("Skip Speed Check"), + _("Do not check speed.")); + o.rmempty = true; + o.default = o.disabled; + + // skip address rules; + o = s.taboption("seconddns", form.Flag, "seconddns_no_rule_addr", _("Skip Address Rules"), + _("Skip address rules.")); + o.rmempty = true; + o.default = o.disabled; + + // skip name server rules; + o = s.taboption("seconddns", form.Flag, "seconddns_no_rule_nameserver", _("Skip Nameserver Rule"), + _("Skip nameserver rules.")); + o.rmempty = true; + o.default = o.disabled; + + // skip ipset rules; + o = s.taboption("seconddns", form.Flag, "seconddns_no_rule_ipset", _("Skip Ipset Rule"), + _("Skip ipset rules.")); + o.rmempty = true; + o.default = o.disabled; + + // skip soa address rule; + o = s.taboption("seconddns", form.Flag, "seconddns_no_rule_soa", _("Skip SOA Address Rule"), + _("Skip SOA address rules.")); + o.rmempty = true; + o.default = o.disabled; + + o = s.taboption("seconddns", form.Flag, "seconddns_no_dualstack_selection", _("Skip Dualstack Selection"), + _("Skip Dualstack Selection.")); + o.rmempty = true; + o.default = o.disabled; + + // skip cache; + o = s.taboption("seconddns", form.Flag, "seconddns_no_cache", _("Skip Cache"), _("Skip Cache.")); + o.rmempty = true; + o.default = o.disabled; + + // Force AAAA SOA + o = s.taboption("seconddns", form.Flag, "seconddns_force_aaaa_soa", _("Force AAAA SOA"), _("Force AAAA SOA.")); + o.rmempty = true; + o.default = o.disabled; + + o = s.taboption("seconddns", form.Value, "seconddns_ipset_name", _("IPset Name"), _("IPset name.")); + o.rmempty = true; + o.datatype = "string"; + o.rempty = true; + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var ipset = value.split(",") + for (var i = 0; i < ipset.length; i++) { + if (!ipset[i].match(/^(#[4|6]:)?[a-zA-Z0-9\-_]+$/)) { + return _("ipset name format error, format: [#[4|6]:]ipsetname"); + } + } + + return true; + } + + o = s.taboption("seconddns", form.Value, "seconddns_nftset_name", _("NFTset Name"), _("NFTset name, format: [#[4|6]:[family#table#set]]")); + o.rmempty = true; + o.datatype = "string"; + o.rempty = true; + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var nftset = value.split(",") + for (var i = 0; i < nftset.length; i++) { + if (!nftset[i].match(/^#[4|6]:[a-zA-Z0-9\-_]+#[a-zA-Z0-9\-_]+#[a-zA-Z0-9\-_]+$/)) { + return _("NFTset name format error, format: [#[4|6]:[family#table#set]]"); + } + } + + return true; + } + + // other args + o = s.taboption("seconddns", form.Value, "seconddns_server_flags", _("Additional Server Args"), + _("Additional server args, refer to the help description of the bind option.")) + o.default = "" + o.rempty = true + + /////////////////////////////////////// + // DNS64 Settings + /////////////////////////////////////// + o = s.taboption("dns64", form.Value, "dns64", _("DNS64")); + o.placeholder = "64:ff9b::/96"; + o.datatype = "ip6addr"; + o.rempty = true; + + /////////////////////////////////////// + // download Files Settings + /////////////////////////////////////// + o = s.taboption("files", form.Flag, "enable_auto_update", _("Enable Auto Update"), _("Enable daily auto update.")); + o.rmempty = true; + o.default = o.disabled; + o.rempty = true; + + o = s.taboption("files", form.FileUpload, "upload_conf_file", _("Upload Config File"), + _("Upload smartdns config file to /etc/smartdns/conf.d")); + o.rmempty = true + o.datatype = "file" + o.rempty = true + o.root_directory = "/etc/smartdns/conf.d" + + o = s.taboption("files", form.FileUpload, "upload_list_file", _("Upload Domain List File"), + _("Upload domain list file to /etc/smartdns/domain-set")); + o.rmempty = true + o.datatype = "file" + o.rempty = true + o.root_directory = "/etc/smartdns/domain-set" + + o = s.taboption('files', form.DummyValue, "_update", _("Update Files")); + o.renderWidget = function () { + return E('button', { + 'class': 'btn cbi-button cbi-button-apply', + 'id': 'btn_update', + 'click': ui.createHandlerFn(this, function () { + return fs.exec('/etc/init.d/smartdns', ['updatefiles']) + .catch(function (e) { ui.addNotification(null, E('p', e.message), 'error') }); + }) + }, [_("Update")]); + } + + o = s.taboption('files', form.SectionValue, '__files__', form.GridSection, 'download-file', _('Download Files'), + _('List of files to download.')); + + ss = o.subsection; + + ss.addremove = true; + ss.anonymous = true; + ss.sortable = true; + + so = ss.option(form.Value, 'name', _('File Name'), _('File Name')); + so.rmempty = true; + so.datatype = 'file'; + + so = ss.option(form.Value, 'url', _('URL'), _('URL')); + so.rmempty = true; + so.datatype = 'string'; + so.validate = function (section_id, value) { + if (value == "") { + return true; + } + + if (!value.match(/^(http|https|ftp|sftp):\/\//)) { + return _("URL format error, format: http:// or https://"); + } + + return true; + } + + so = ss.option(form.ListValue, "type", _("type"), _("File Type")); + so.value("list", _("domain list (/etc/smartdns/domain-set)")); + so.value("config", _("smartdns config (/etc/smartdns/conf.d)")); + so.default = "list"; + so.rempty = false; + + so = ss.option(form.Value, 'desc', _('Description'), _('Description')); + so.rmempty = true; + so.datatype = 'string'; + + /////////////////////////////////////// + // Proxy server settings; + /////////////////////////////////////// + o = s.taboption("proxy", form.Value, "proxy_server", _("Proxy Server"), _("Proxy Server URL, format: [socks5|http]://user:pass@ip:port.")); + o.datatype = 'string'; + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + if (!value.match(/^(socks5|http):\/\//)) { + return _("Proxy server URL format error, format: [socks5|http]://user:pass@ip:port."); + } + + return true; + } + + /////////////////////////////////////// + // custom settings; + /////////////////////////////////////// + o = s.taboption("custom", form.TextValue, "custom_conf", + "", _("smartdns custom settings")); + o.rows = 20; + o.cfgvalue = function (section_id) { + return fs.trimmed('/etc/smartdns/custom.conf'); + }; + o.write = function (section_id, formvalue) { + return this.cfgvalue(section_id).then(function (value) { + if (value == formvalue) { + return + } + return fs.write('/etc/smartdns/custom.conf', formvalue.trim().replace(/\r\n/g, '\n') + '\n'); + }); + }; + + o = s.taboption("custom", form.Flag, "coredump", _("Generate Coredump"), + _("Generate Coredump file when smartdns crash, coredump file is located at /tmp/smartdns.xxx.core.")); + o.rmempty = true; + o.default = o.disabled; + + o = s.taboption("custom", form.Value, "log_size", _("Log Size")); + o.rmempty = true; + o.placeholder = "default"; + + o = s.taboption("custom", form.ListValue, "log_level", _("Log Level")); + o.rmempty = true; + o.placeholder = "default"; + o.value("", _("default")); + o.value("debug"); + o.value("info"); + o.value("notice"); + o.value("warn"); + o.value("error"); + o.value("fatal"); + o.value("off"); + + o = s.taboption("custom", form.Value, "log_num", _("Log Number")); + o.rmempty = true; + o.placeholder = "default"; + + o = s.taboption("custom", form.Value, "log_file", _("Log File")) + o.rmempty = true + o.placeholder = "/var/log/smartdns/smartdns.log" + + //////////////// + // Upstream servers; + //////////////// + s = m.section(form.GridSection, "server", _("Upstream Servers"), + _("Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS servers, " + + "including multiple foreign DNS servers.")); + s.anonymous = true; + s.addremove = true; + s.sortable = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + + // enable flag; + o = s.taboption("general", form.Flag, "enabled", _("Enable")); + o.rmempty = false; + o.default = o.enabled; + o.editable = true; + + // name; + o = s.taboption("general", form.Value, "name", _("DNS Server Name")); + + // IP address; + o = s.taboption("general", form.Value, "ip", _("DNS Server ip")); + o.datatype = "or(ipaddr, string)"; + o.rmempty = false; + + // port; + o = s.taboption("general", form.Value, "port", _("DNS Server port")); + o.placeholder = "default"; + o.datatype = "port"; + o.rempty = true; + o.depends("type", "udp"); + o.depends("type", "tcp"); + o.depends("type", "tls"); + + // type; + o = s.taboption("general", form.ListValue, "type", _("DNS Server type")); + o.placeholder = "udp"; + o.value("udp", _("udp")); + o.value("tcp", _("tcp")); + o.value("tls", _("tls")); + o.value("https", _("https")); + o.default = "udp"; + o.rempty = false; + + // server group + o = s.taboption("general", form.Value, "server_group", _("DNS Server group")) + o.rmempty = true; + o.placeholder = "default"; + o.datatype = "hostname"; + o.rempty = true; + servers = uci.sections('smartdns', 'server'); + var groupnames = new Set(); + for (var i = 0; i < servers.length; i++) { + if (servers[i].server_group == undefined) { + continue; + } + groupnames.add(servers[i].server_group); + } + + for (const groupname of groupnames) { + o.value(groupname); + } + + // Advanced Options + o = s.taboption("advanced", form.Flag, "exclude_default_group", _("Exclude Default Group"), _("Exclude DNS Server from default group.")) + o.rmempty = true; + o.default = o.disabled; + o.editable = true; + o.modalonly = true; + + // blacklist_ip + o = s.taboption("advanced", form.Flag, "blacklist_ip", _("IP Blacklist Filtering"), + _("Filtering IP with blacklist")) + o.rmempty = true + o.default = o.disabled + o.modalonly = true; + + // TLS host verify + o = s.taboption("advanced", form.Value, "tls_host_verify", _("TLS Hostname Verify"), + _("Set TLS hostname to verify.")) + o.default = "" + o.datatype = "string" + o.rempty = true + o.modalonly = true; + o.depends("type", "tls") + o.depends("type", "https") + + // certificate verify + o = s.taboption("advanced", form.Flag, "no_check_certificate", _("No check certificate"), + _("Do not check certificate.")) + o.rmempty = true + o.default = o.disabled + o.modalonly = true; + o.depends("type", "tls") + o.depends("type", "https") + + // SNI host name + o = s.taboption("advanced", form.Value, "host_name", _("TLS SNI name"), + _("Sets the server name indication for query. '-' for disable SNI name.")) + o.default = "" + o.datatype = "hostname" + o.rempty = true + o.modalonly = true; + o.depends("type", "tls") + o.depends("type", "https") + + // http host + o = s.taboption("advanced", form.Value, "http_host", _("HTTP Host"), + _("Set the HTTP host used for the query. Use this parameter when the host of the URL address is an IP address.")) + o.default = "" + o.datatype = "hostname" + o.rempty = true + o.modalonly = true; + o.depends("type", "https") + + // SPKI pin + o = s.taboption("advanced", form.Value, "spki_pin", _("TLS SPKI Pinning"), + _("Used to verify the validity of the TLS server, The value is Base64 encoded SPKI fingerprint, " + + "leaving blank to indicate that the validity of TLS is not verified.")) + o.default = "" + o.datatype = "string" + o.rempty = true + o.modalonly = true; + o.depends("type", "tls") + o.depends("type", "https") + + // mark + o = s.taboption("advanced", form.Value, "set_mark", _("Marking Packets"), + _("Set mark on packets.")) + o.default = "" + o.rempty = true + o.datatype = "uinteger" + o.modalonly = true; + + // use proxy + o = s.taboption("advanced", form.Flag, "use_proxy", _("Use Proxy"), + _("Use proxy to connect to upstream DNS server.")) + o.default = o.disabled + o.modalonly = true; + o.optional = true; + o.rempty = true; + o.validate = function (section_id, value) { + var flag = this.formvalue(section_id); + if (flag == "0") { + return true; + } + + var proxy_server = uci.sections("smartdns", "smartdns")[0].proxy_server; + var server_type = this.section.formvalue(section_id, "type"); + if (proxy_server == "" || proxy_server == undefined) { + return _("Please set proxy server first."); + } + + if (server_type == "udp" && !proxy_server.match(/^(socks5):\/\//)) { + return _("Only socks5 proxy support udp server."); + } + + return true; + } + + // other args + o = s.taboption("advanced", form.Value, "addition_arg", _("Additional Server Args"), + _("Additional Args for upstream dns servers")) + o.default = "" + o.rempty = true + o.modalonly = true; + + //////////////// + // domain rules; + //////////////// + s = m.section(form.TypedSection, "domain-rule", _("Domain Rules"), _("Domain Rules Settings")); + s.anonymous = true; + s.nodescriptions = true; + + s.tab("forwarding", _('DNS Forwarding Setting')); + s.tab("block", _("DNS Block Setting")); + s.tab("domain-rule-list", _("Domain Rule List"), _("Set Specific domain rule list.")); + s.tab("domain-address", _("Domain Address"), _("Set Specific domain ip address.")); + s.tab("blackip-list", _("IP Blacklist"), _("Set Specific ip blacklist.")); + + /////////////////////////////////////// + // domain forwarding; + /////////////////////////////////////// + o = s.taboption("forwarding", form.Value, "server_group", _("Server Group"), _("DNS Server group belongs to, such as office, home.")) + o.rmempty = true + o.placeholder = "default" + o.datatype = "hostname" + o.rempty = true + for (const groupname of groupnames) { + o.value(groupname); + } + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var val = uci.sections('smartdns', 'server'); + for (var i = 0; i < val.length; i++) { + if (value == val[i].server_group) { + return true; + } + } + + return _('Server Group %s not exists').format(value); + + } + + o = s.taboption("forwarding", form.Flag, "no_speed_check", _("Skip Speed Check"), + _("Do not check speed.")); + o.rmempty = true; + o.default = o.disabled; + + o = s.taboption("forwarding", form.Flag, "force_aaaa_soa", _("Force AAAA SOA"), _("Force AAAA SOA.")); + o.rmempty = true; + o.default = o.disabled; + + o = s.taboption("forwarding", form.Value, "ipset_name", _("IPset Name"), _("IPset name.")); + o.rmempty = true; + o.datatype = "string"; + o.rempty = true; + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var ipset = value.split(",") + for (var i = 0; i < ipset.length; i++) { + if (!ipset[i].match(/^(#[4|6]:)?[a-zA-Z0-9\-_]+$/)) { + return _("ipset name format error, format: [#[4|6]:]ipsetname"); + } + } + + return true; + } + + o = s.taboption("forwarding", form.Value, "nftset_name", _("NFTset Name"), _("NFTset name, format: [#[4|6]:[family#table#set]]")); + o.rmempty = true; + o.datatype = "string"; + o.rempty = true; + o.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var nftset = value.split(",") + for (var i = 0; i < nftset.length; i++) { + if (!nftset[i].match(/^#[4|6]:[a-zA-Z0-9\-_]+#[a-zA-Z0-9\-_]+#[a-zA-Z0-9\-_]+$/)) { + return _("NFTset name format error, format: [#[4|6]:[family#table#set]]"); + } + } + + return true; + } + + // other args + o = s.taboption("forwarding", form.Value, "addition_flag", _("Additional Rule Flag"), + _("Additional Flags for rules, read help on domain-rule for more information.")) + o.default = "" + o.rempty = true + o.modalonly = true; + + o = s.taboption("forwarding", form.FileUpload, "forwarding_domain_set_file", _("Domain List File"), + _("Upload domain list file, or configure auto download from Download File Setting page.")); + o.rmempty = true + o.datatype = "file" + o.rempty = true + o.editable = true + o.root_directory = "/etc/smartdns/domain-set" + + o = s.taboption("forwarding", form.TextValue, "domain_forwarding_list", + _("Domain List"), _("Configure forwarding domain name list.")); + o.rows = 10; + o.cols = 64; + o.monospace = true; + o.cfgvalue = function (section_id) { + return fs.trimmed('/etc/smartdns/domain-forwarding.list').catch(function (e) { + return ""; + }); + }; + o.write = function (section_id, formvalue) { + return this.cfgvalue(section_id).then(function (value) { + if (value == formvalue) { + return + } + return fs.write('/etc/smartdns/domain-forwarding.list', formvalue.trim().replace(/\r\n/g, '\n') + '\n'); + }); + }; + + /////////////////////////////////////// + // domain block; + /////////////////////////////////////// + o = s.taboption("block", form.FileUpload, "block_domain_set_file", _("Domain List File"), _("Upload domain list file.")); + o.rmempty = true + o.datatype = "file" + o.rempty = true + o.editable = true + o.root_directory = "/etc/smartdns/domain-set" + + o = s.taboption("block", form.TextValue, "domain_block_list", + _("Domain List"), _("Configure block domain list.")); + o.rows = 10; + o.cols = 64; + o.cfgvalue = function (section_id) { + return fs.trimmed('/etc/smartdns/domain-block.list').catch(function (e) { + return ""; + }); + }; + o.write = function (section_id, formvalue) { + return this.cfgvalue(section_id).then(function (value) { + if (value == formvalue) { + return + } + return fs.write('/etc/smartdns/domain-block.list', formvalue.trim().replace(/\r\n/g, '\n') + '\n'); + }); + }; + + /////////////////////////////////////// + // domain rule list; + /////////////////////////////////////// + o = s.taboption('domain-rule-list', form.SectionValue, '__domain-rule-list__', form.GridSection, 'domain-rule-list', _('Domain Rule List'), + _('Configure domain rule list.')); + + ss = o.subsection; + + ss.addremove = true; + ss.anonymous = true; + ss.sortable = true; + + // enable flag; + so = ss.option(form.Flag, "enabled", _("Enable"), _("Enable")); + so.rmempty = false; + so.default = so.enabled; + so.editable = true; + + // name; + so = ss.option(form.Value, "name", _("Domain Rule Name"), _("Domain Rule Name")); + + so = ss.option(form.Value, "server_group", _("Server Group"), _("DNS Server group belongs to, such as office, home.")) + so.rmempty = true + so.placeholder = "default" + so.datatype = "hostname" + so.rempty = true + for (const groupname of groupnames) { + so.value(groupname); + } + so.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var val = uci.sections('smartdns', 'server'); + for (var i = 0; i < val.length; i++) { + if (value == val[i].server_group) { + return true; + } + } + + return _('Server Group %s not exists').format(value); + + } + + so = ss.option(form.FileUpload, "domain_list_file", _("Domain List File"), + _("Upload domain list file, or configure auto download from Download File Setting page.")); + so.rmempty = true + so.datatype = "file" + so.rempty = true + so.root_directory = "/etc/smartdns/domain-set" + + so = ss.option(form.ListValue, "block_domain_type", _("Block domain"), _("Block domain.")); + so.rmempty = true; + so.value("none", _("None")); + so.value("all", "IPv4/IPv6"); + so.value("ipv4", "IPv4"); + so.value("ipv6", "IPv6"); + so.modalonly = true; + + // Support DualStack ip selection; + so = ss.option(form.ListValue, "dualstack_ip_selection", _("Dual-stack IP Selection"), + _("Enable IP selection between IPV4 and IPV6")); + so.rmempty = true; + so.default = "default"; + so.modalonly = true; + so.value("", _("default")); + so.value("yes", _("Yes")); + so.value("no", _("No")); + + so = ss.option(form.Value, "speed_check_mode", _("Speed Check Mode"), _("Smartdns speed check mode.")); + so.rmempty = true; + so.placeholder = "default"; + so.modalonly = true; + so.value("", _("default")); + so.value("ping,tcp:80,tcp:443"); + so.value("ping,tcp:443,tcp:80"); + so.value("tcp:80,tcp:443,ping"); + so.value("tcp:443,tcp:80,ping"); + so.value("none", _("None")); + so.validate = function (section_id, value) { + if (value == "") { + return true; + } + + if (value == "none") { + return true; + } + + var check_mode = value.split(",") + for (var i = 0; i < check_mode.length; i++) { + if (check_mode[i] == "ping") { + continue; + } + + if (check_mode[i].indexOf("tcp:") == 0) { + var port = check_mode[i].split(":")[1]; + if (port == "") { + return _("TCP port is empty"); + } + + continue; + } + + return _("Speed check mode is invalid."); + } + + return true; + } + + so = ss.option(form.Flag, "force_aaaa_soa", _("Force AAAA SOA"), _("Force AAAA SOA.")); + so.rmempty = true; + so.default = so.disabled; + so.modalonly = true; + + + so = ss.option(form.Value, "ipset_name", _("IPset Name"), _("IPset name.")); + so.rmempty = true; + so.datatype = "hostname"; + so.rempty = true; + so.modalonly = true; + + so = ss.option(form.Value, "nftset_name", _("NFTset Name"), _("NFTset name, format: [#[4|6]:[family#table#set]]")); + so.rmempty = true; + so.datatype = "string"; + so.rempty = true; + so.modalonly = true; + so.validate = function (section_id, value) { + if (value == "") { + return true; + } + + var nftset = value.split(",") + for (var i = 0; i < nftset.length; i++) { + if (!nftset[i].match(/#[4|6]:[a-zA-Z0-9\-_]+#[a-zA-Z0-9\-_]+#[a-zA-Z0-9\-_]+$/)) { + return _("NFTset name format error, format: [#[4|6]:[family#table#set]]"); + } + } + + return true; + } + + // other args + so = ss.option(form.Value, "addition_flag", _("Additional Rule Flag"), + _("Additional Flags for rules, read help on domain-rule for more information.")) + so.default = "" + so.rempty = true + so.modalonly = true; + + /////////////////////////////////////// + // IP Blacklist; + /////////////////////////////////////// + // blacklist; + o = s.taboption("blackip-list", form.TextValue, "blackip_ip_conf", + "", _("Configure IP blacklists that will be filtered from the results of specific DNS server.")); + o.rows = 20; + o.cfgvalue = function (section_id) { + return fs.trimmed('/etc/smartdns/blacklist-ip.conf'); + }; + o.write = function (section_id, formvalue) { + return this.cfgvalue(section_id).then(function (value) { + if (value == formvalue) { + return + } + return fs.write('/etc/smartdns/blacklist-ip.conf', formvalue.trim().replace(/\r\n/g, '\n') + '\n'); + }); + }; + + /////////////////////////////////////// + // domain address + /////////////////////////////////////// + o = s.taboption("domain-address", form.TextValue, "address_conf", + "", + _("Specify an IP address to return for any host in the given domains, Queries in the domains are never " + + "forwarded and always replied to with the specified IP address which may be IPv4 or IPv6.")); + o.rows = 20; + o.cfgvalue = function (section_id) { + return fs.trimmed('/etc/smartdns/address.conf'); + }; + o.write = function (section_id, formvalue) { + return this.cfgvalue(section_id).then(function (value) { + if (value == formvalue) { + return + } + return fs.write('/etc/smartdns/address.conf', formvalue.trim().replace(/\r\n/g, '\n') + '\n'); + }); + }; + + //////////////// + // Support + //////////////// + s = m.section(form.TypedSection, "smartdns", _("Technical Support"), + _("If you like this software, please buy me a cup of coffee.")); + s.anonymous = true; + + o = s.option(form.Button, "web"); + o.title = _("SmartDNS official website"); + o.inputtitle = _("open website"); + o.inputstyle = "apply"; + o.onclick = function () { + window.open("https://pymumu.github.io/smartdns", '_blank'); + }; + + o = s.option(form.Button, "report"); + o.title = _("Report bugs"); + o.inputtitle = _("Report bugs"); + o.inputstyle = "apply"; + o.onclick = function () { + window.open("https://github.com/pymumu/smartdns/issues", '_blank'); + }; + + o = s.option(form.Button, "Donate"); + o.title = _("Donate to smartdns"); + o.inputtitle = _("Donate"); + o.inputstyle = "apply"; + o.onclick = function () { + window.open("https://pymumu.github.io/smartdns/#donate", '_blank'); + }; + + o = s.option(form.DummyValue, "_restart", _("Restart Service")); + o.renderWidget = function () { + return E('button', { + 'class': 'btn cbi-button cbi-button-apply', + 'id': 'btn_restart', + 'click': ui.createHandlerFn(this, function () { + return fs.exec('/etc/init.d/smartdns', ['restart']) + .catch(function (e) { ui.addNotification(null, E('p', e.message), 'error') }); + }) + }, [_("Restart")]); + } + return m.render(); + } +}); diff --git a/luci-app-smartdns/po/ar/smartdns.po b/luci-app-smartdns/po/ar/smartdns.po new file mode 100644 index 000000000..56c7dc71e --- /dev/null +++ b/luci-app-smartdns/po/ar/smartdns.po @@ -0,0 +1,897 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-07-16 16:41+0000\n" +"Last-Translator: Rex_sa \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\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 5.7-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "إعدادات متقدمة" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "لا" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "خادم الوكيل" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "الاعدادات" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "تحديث" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/bg/smartdns.po b/luci-app-smartdns/po/bg/smartdns.po new file mode 100644 index 000000000..8cf5fde38 --- /dev/null +++ b/luci-app-smartdns/po/bg/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-02-28 14:29+0000\n" +"Last-Translator: Boyan Alexiev \n" +"Language-Team: Bulgarian \n" +"Language: bg\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 5.5-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Разширени настройки" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Събиране на данни ..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Включване" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Общи настройки" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "НЕ СЕ ИЗПЪЛНЯВА" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "ИЗПЪЛНЕНИЕ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Настройки" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL адрес" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "по подразбиране" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/bn_BD/smartdns.po b/luci-app-smartdns/po/bn_BD/smartdns.po new file mode 100644 index 000000000..bff634b0e --- /dev/null +++ b/luci-app-smartdns/po/bn_BD/smartdns.po @@ -0,0 +1,892 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: bn_BD\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/ca/smartdns.po b/luci-app-smartdns/po/ca/smartdns.po new file mode 100644 index 000000000..a69b1189d --- /dev/null +++ b/luci-app-smartdns/po/ca/smartdns.po @@ -0,0 +1,893 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/cs/smartdns.po b/luci-app-smartdns/po/cs/smartdns.po new file mode 100644 index 000000000..ed106b5a4 --- /dev/null +++ b/luci-app-smartdns/po/cs/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-22 12:01+0000\n" +"Last-Translator: Ondřej Vajda \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\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 5.8.2-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Další argumenty pro upstream servery DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Pokročilá nastavení" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/da/smartdns.po b/luci-app-smartdns/po/da/smartdns.po new file mode 100644 index 000000000..4578900c1 --- /dev/null +++ b/luci-app-smartdns/po/da/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-25 02:53+0000\n" +"Last-Translator: drax red \n" +"Language-Team: Danish \n" +"Language: da\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 5.4-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Beskrivelse" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Aktiver" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Generelle indstillinger" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "KØRE IKKE" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "KØRE" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Indstillinger" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/de/smartdns.po b/luci-app-smartdns/po/de/smartdns.po new file mode 100644 index 000000000..1e266665e --- /dev/null +++ b/luci-app-smartdns/po/de/smartdns.po @@ -0,0 +1,963 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-07-17 22:44+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: German \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 5.7-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Zusätzliche Argumente für Upstream-DNS-Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Zusätzliche Flags für Regeln. Weitere Informationen finden Sie in der Hilfe " +"zu Domänenregeln." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "Zusätzliches Regel-Flag" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Zusätzliche Server Parameter" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" +"Zusätzliche Server-Argumente, siehe die Hilfebeschreibung der Option bind." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Erweiterte Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Versuche, eine alte Antwort vom Cache mit TTL 0 zurückzugeben, ohne auf die " +"eigentliche Auflösung zu warten." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Dnsmasq automatisch setzen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "Setze automatisch als Upstream von dnsmasq when sich der Port ändert." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Bind-Gerät" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Bind-Gerätename" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Domain blockieren" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Domain blockieren." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Cache Speicher" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Zwischenspeichergröße" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Sammeln von Daten ..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" +"Definition einer IP basierten Blockierliste, welche Ergebnisse eines " +"spezifischen DNS Servers filtert." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "Block-Domänenliste konfigurieren." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "Konfigurieren der Domänenregel-Liste." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "Konfigurieren der Liste der Weiterleitungsdomänennamen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Benutzerdefinierte Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "DNS Block Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "DNS-Weiterleitungseinstellung" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "DNS Server Name" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "DNS-Servergruppe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "DNS Server zu dem die Gruppe gehört. Bsp.: Büro, Zu Hause." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "DNS-Server IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "DNS-Server-Port" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "DNS-Server Typ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "DNS Domain Ergebnisspeichergröße" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "DNS64 Server Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Beschreibung" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "Dnsmasq weitergeleitet zu Smartdns Fehler" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "Zertifikat nicht prüfen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "Geschwindigkeit nicht testen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Domain Adresse" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Domänen Liste" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Domänen Liste Datei" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Domänen Regel Liste" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Domänen Regel Name" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Domänen Regeln" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Domänen Regeln Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "Domäne TTL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "Domäne TTL Max" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "Domäne TTL Min" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "Vorabruf der Domäne" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Spenden" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "An smartdns spenden" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Download Dateien" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Download Datei Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"Domänen Listen Dateien herunterladen für Domänen Regeln und " +"Konfigurationsdateien einschließen. Bitte die Seite nach dem Download neu " +"laden damit es wirksam wird." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "Dual-Stack-IP-Auswahl" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Aktivieren" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Auto Update einschalten" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "Aktiviere Wahl zwischen IPv4 und IPv6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "Aktivere IPv6 DNS-Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "Aktiviere TCP DNS Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Tägliches auto update einschalten." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" +"Aktivieren Sie Domänen-Prefetch, um die Reaktionsgeschwindigkeit der Domäne " +"zu beschleunigen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "Aktivieren oder deaktivieren des zweiten DNS-Servers." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "Aktivieren oder deaktivieren des Smartdns-Servers" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "DNS Server von der standard Gruppe ausschließen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "Standard Gruppe ausschließen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "Schnellste IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Schnellste Antwort" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Dateiname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Dateityp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "Filtern von IP mit negativ-Liste" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "erster Ping" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "Erzwinge AAAA SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "Erzwinge AAAA SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "Erzwinge HTTPS SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "Erzwinge HTTPS SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Allgemeine Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "Generiere Coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"Erzeugt eine Coredump-Datei, wenn smartdns abstürzt. Die Coredump-Datei " +"befindet sich unter /tmp/smartdns.xxx.core." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "Zugriff auf die LuCI-App smartdns gewähren" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "HTTP-Host" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "IP Negativ-Liste" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "Filterung von IP-Blacklists" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "IPV6-Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "IPset Name" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "IPset Name." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" +"Wenn Ihnen diese Software gefällt, spendieren Sie mir bitte eine Tasse " +"Kaffee." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Config Dateien einschließen
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"Andere Konfigurationsdateien aus /etc/smartdns/conf.d oder einem " +"benutzerdefinierten Pfad können von der Download-Seite heruntergeladen " +"werden." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" +"Ipset-Name, Domänenergebnis zu ipset hinzufügen, wenn " +"Geschwindigkeitsprüfung fehlschlägt." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "Liste der Dateien zum Herunterladen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Nur an den angegebenen Schnittstellen lauschen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Lokaler Port" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Protokolldatei" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Protokollierungslevel" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Protokollnummer" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Log Größe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "Pakete Markieren" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "Maximale TTL für alle Ergebnisse der Domäne." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "Minimale TTL für alle Ergebnisse der Domäne." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "NFTset Name" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "NFTset-Namensformatfehler, Format: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "NFTset-Name, Format: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "LÄUFT NICHT" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "Name des Geräts, auf das gehört werden soll." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"Nftset-Name, Hinzufügen des Domänenergebnisses zum Nftset, wenn die " +"Geschwindigkeitsprüfung fehlschlägt, Format: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Nein" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "Keine Geschwindigkeit IPset-Name" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "Keine Geschwindigkeit NFTset Name" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "Kein Check der Zertifikate" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Keine" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "Nur der Socks5 Proxy unterstützt einen udp-Server." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Bitte stelle zuerst den Proxy-Server ein." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Proxy-Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Proxy Server Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "Proxy-Server-URL, Format: [socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Proxyserver-URL-Formatfehler, Format: [socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" +"Abfrage von DNS über eine bestimmte DNS-Servergruppe, z. B. Büro, Zuhause." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "LÄUFT" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "Max TTL der Antwortdomäne" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "Maximale Antwort-TTL für alle Domänen-Ergebnisse." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Bugs melden" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "Lokale Hostnamen auflösen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "Lokale Hostnamen durch Lesen der Dnsmasq-Lease-Datei auflösen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Antwortmodus" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Neustart" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Dienst neu starten" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "Einstellungen für den zweiten Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "Serve abgelaufen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Servergruppe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "Server-Gruppe %s nicht vorhanden" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Servername" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Spezifische Domänen-IP-Adresse einstellen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Liste der spezifischen Domänenregeln festlegen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "Spezifische IP-Blacklist einstellen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "TLS-Hostname zur Überprüfung einstellen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Markierung der Pakete setzen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"Legt den für die Abfrage verwendeten HTTP-Host fest. Verwenden Sie diesen " +"Parameter, wenn der Host der URL-Adresse eine IP-Adresse ist." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" +"Legt die Angabe des Servernamens für die Abfrage fest. '-' für SNI-Name " +"deaktivieren." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "Adressregeln überspringen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Cache überspringen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Cache überspringen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "Dualstack-Auswahl überspringen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "Dualstack-Auswahl überspringen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "Ipset-Regel überspringen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "Nameserver-Regel überspringen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "SOA-Adressregel überspringen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "SOA-Adressregeln überspringen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "Geschwindigkeitsprüfung überspringen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "Adressregeln überspringen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "ipset-Regeln überspringen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "Nameserver-Regeln überspringen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "SmartDNS-Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" +"SmartDNS ist ein lokaler Hochleistungs-DNS-Server, der die Suche nach der " +"schnellsten IP unterstützt, die Filterung von Werbung und die Vermeidung von " +"DNS-Poisoning ermöglicht." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "Offizielle Website von SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "Lokaler Smartdns-Serverport" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"Lokaler Smartdns-Serverport, smartdns wird automatisch als Haupt-DNS " +"eingestellt, wenn 53 der Port ist." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"Smartdns-Antwortmodus, First Ping: Rückgabe der ersten Ping-IP, Schnellste " +"IP: Rückgabe der schnellsten IP, Schnellste Antwort: Rückgabe der " +"schnellsten DNS-Antwort." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "Smartdns-Servername" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "Smartdns-Geschwindigkeitsprüfungsmodus." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"Geben Sie eine IP-Adresse an, die für einen beliebigen Host in den " +"angegebenen Domänen zurückgegeben werden soll. Abfragen in den Domänen " +"werden nie weitergeleitet und immer mit der angegebenen IP-Adresse " +"beantwortet, die IPv4 oder IPv6 sein kann." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "Geschwindigkeitsüberprüfungsmodus" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "Geschwindigkeitsprüfmodus ist ungültig." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "TCP-Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "TCP-Port ist leer" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "Überprüfung des TLS-Hostnamens" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "TLS-SNI-Name" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "TLS-SPKI-Pinning" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "TTL für alle Domänenergebnisse." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Technische Unterstützung" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "URL-Formatfehler, Format: http:// oder https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Aktualisierung" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Update-Dateien" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Konfigurationsdatei Hochladen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Domainlisten-Datei Hochladen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Domainlisten-Datei zu /etc/smartdns/domain-set Hochladen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" +"Domainlisten-Datei Hochladen oder Autiomatischen Download von " +"Dateieinstellungsseite Konfigurieren." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Domainlisten-Datei Hochladen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "Smartdns Konfigurationsdatei zu /etc/smartdns/conf.d hochladen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Upstream-Server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"Upstream-Server, die die Protokolle UDP und TCP unterstützen. Bitte " +"konfigurieren Sie mehrere DNS-Server, einschließlich mehrerer ausländischer " +"DNS-Server." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Proxy verwenden" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "Proxy für die Verbindung zu einem Upstream DNS-Server verwenden." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"Wird verwendet, um die Gültigkeit des TLS-Servers zu überprüfen. Der Wert " +"ist ein Base64-kodierter SPKI-Fingerabdruck, leer lassen bedeutet, dass die " +"Gültigkeit von TLS nicht überprüft wird." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "Cache beim Beenden auf die Festplatte schreiben und beim Starten laden." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Ja" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "Standard" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "Domain-Liste (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "Fehler des ipset-Namensformats, format: [#[4|6]:]ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "Webseite öffnen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "Smartdns Konfiguration (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "Benutzerdefinierte SmartDNS-Einstellungen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "Typ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" + +#~ msgid "ip" +#~ msgstr "IP" + +#~ msgid "port" +#~ msgstr "Port" + +#~ msgid "" +#~ "DNS Server group belongs to, used with nameserver, such as office, home." +#~ msgstr "" +#~ "DNS-Server-Gruppe, zu jener der Nameserver gehört, z. B. Büro, Zuhause." + +#~ msgid "Dnsmasq Forwared To Smartdns Failure" +#~ msgstr "Fehler der Dnsmasq-Weiterleitung an Smartdns" + +#~ msgid "Sets the server name indication for query." +#~ msgstr "Legt die Anzeige des Servernamens für die Abfrage fest." + +#~ msgid "none" +#~ msgstr "kein" diff --git a/luci-app-smartdns/po/el/smartdns.po b/luci-app-smartdns/po/el/smartdns.po new file mode 100644 index 000000000..72b0a8278 --- /dev/null +++ b/luci-app-smartdns/po/el/smartdns.po @@ -0,0 +1,893 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/es/smartdns.po b/luci-app-smartdns/po/es/smartdns.po new file mode 100644 index 000000000..dd9884927 --- /dev/null +++ b/luci-app-smartdns/po/es/smartdns.po @@ -0,0 +1,1021 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2020-07-02 17:20-0300\n" +"PO-Revision-Date: 2024-09-05 22:11+0000\n" +"Last-Translator: brodrigueznu \n" +"Language-Team: Spanish \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 5.8-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Args adicionales para servidores DNS aguas arriba" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Indicadores adicionales para las reglas. Para obtener más información, " +"consulte la ayuda sobre reglas de dominio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "Indicador adicional de regla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Args adicionales del servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" +"Argumentos adicionales del servidor, consulte la descripción de ayuda de la " +"opción de vinculación." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Ajustes avanzados" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Intenta servir respuestas antiguas de la memoria caché con un TTL de 0 en la " +"respuesta sin esperar a que finalice la resolución real." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Establecer Dnsmasq automáticamente" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" +"Establecido automáticamente como conexión ascendente de dnsmasq cuando " +"cambia el puerto." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Dispositivo vinculado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Nombre de dispositivo vinculado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Bloquear dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Bloquear dominio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Caché persistente" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Tamaño del caché" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Recopilando los datos..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" +"Configure listas negras de IP que se filtrarán de los resultados de un " +"servidor DNS específico." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "Configurar la lista de dominios de bloqueo." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "Configurar la lista de reglas de dominio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "Configure la lista de nombres de dominio de reenvío." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Configuraciones personalizadas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "Configuración de bloqueo de DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "Configuración de reenvío de DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "Nombre del servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "Grupo de servidores DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "Grupo al que pertenece el servidor DNS p.e. oficina o casa." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "IP del servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "Puerto del servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "Tipo de servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "Tamaño del caché de resultados del dominio DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "Configuración del servidor DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Descripción" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "Error de reenvío de Dnsmasq a Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "No verifique el certificado." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "No verifique la velocidad." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Dirección de dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Lista de dominios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Archivo de lista de dominios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Lista de reglas de dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Nombre de regla de dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Reglas de dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Configuración de reglas de dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "TTL del dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "TTL Máx. del dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "TTL Mín. del dominio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "Prebúsqueda de dominios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Donar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "Donar a smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Descargar archivos" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Ajuste de descarga de archivos" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"Descarga los archivos de lista de dominios para las reglas de dominio " +"incluyendo archivos de configuración. Por favor, refresca la página después " +"de la descarga para que surtan efecto." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "Selección de IP de doble pila" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Activar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Activar actualización automática" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "Activar la selección de IP entre IPv4 e IPv6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "Activar servidor DNS IPv6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "Activar el servidor DNS TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Activar la actualización automática diaria." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" +"Active la captación previa del dominio, acelere la velocidad de respuesta " +"del dominio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "Activar o desactivar el segundo servidor DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "Activar o desactivar el servidor smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "Excluir el servidor DNS del grupo predeterminado." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "Excluir grupo predeterminado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "IP más rápida" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Respuesta más rápida" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Nombre del archivo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Tipo de archivo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "Filtrado de IP con lista negra" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "Primer ping" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "Forzar AAAA SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "Forzar AAAA SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "Forzar HTTPS SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "Forzar HTTPS SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Ajustes generales" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "Generar Coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"Genere el archivo Coredump cuando smartdns falla, el archivo coredump se " +"encuentra en /tmp/smartdns.xxx.core." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "Conceder acceso a la aplicación LuCI smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "Host HTTP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "Lista negra de IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "Filtrado de la lista negra de IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "Servidor IPv6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "Nombre del conjunto IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "Nombre del conjunto IP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "Si le gusta este software, cómpreme una taza de café." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Incluir archivos de configuración
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"Incluye otros archivos de configuración desde /etc/smartdns/conf.d o una " +"ruta personalizada, se puede obtener desde la página de descarga." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" +"Nombre de conjunto ip, agrega el resultado del dominio al conjunto ip cuando " +"falla la verificación de velocidad." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "Lista de archivos a descargar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Escucha solo en las interfaces especificadas." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Puerto local" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Archivo de registro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Nivel de registro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Número de registro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Tamaño de registro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "Etiquetado de paquetes" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "TTL máximo para todos los resultados de dominio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "TTL mínimo para todos los resultados de dominio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "Nombre del conjunto NFT" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" +"Error en formato de nombre del conjunto NFT, formato: " +"[#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "Nombre del conjunto NFT, formato: [#[4|6]:[familia#tabla#conjunto]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "NO EN EJECUCIÓN" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "Nombre del dispositivo en el que se escucha." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"Nombre de Nftset, agregando el resultado del dominio al nftset cuando falla " +"la verificación de velocidad, formato: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "No" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "Nombre del conjunto IP sin velocidad" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "Nombre del conjunto NFT sin velocidad" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "No verificar el certificado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Ninguno" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "Solo el proxy Socks5 admite el servidor UDP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Por favor, establezca primero el servidor proxy." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Servidor proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Ajustes de servidor proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"URL de servidor proxy, formato: [socks5|http]://usuario:contraseña@ip:puerto." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Error en formato de URL de servidor proxy, formato: " +"[socks5|http]://usuario:contraseña@ip:puerto." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" +"Consulta DNS a través de un grupo de servidores dns específico, como " +"oficina, hogar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "EN EJECUCIÓN" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "TTL máximo del dominio de respuesta" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "Responda el TTL máximo para todos los resultados del dominio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Informar errores" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "Resolver nombres de host locales" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" +"Resuelva los nombres de host locales leyendo el archivo de concesiones de " +"Dnsmasq." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Modo de respuesta" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Reiniciar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Reiniciar servicio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "Segunda configuración del servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "Servir expirado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Grupo de servidores" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "El grupo de servidores %s no existe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Nombre del servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Establecer dirección IP de dominio específico." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Establecer lista de reglas para dominios específicos." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "Establecer lista negra de IP específica." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "Establezca el nombre de host TLS para verificar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Establecer marca en los paquetes." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"Establezca el host HTTP utilizado para la consulta. Use este parámetro " +"cuando el host de la dirección URL sea una dirección IP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" +"Establece la indicación del nombre del servidor para la consulta. '-' para " +"desactivar el nombre SNI." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Ajustes" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "Omitir reglas de dirección" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Omitir caché" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Omitir caché." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "Omitir selección de pila doble" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "Omitir selección de pila doble." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "Omitir regla de Ipset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "Omitir regla de servidor de nombres" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "Omitir regla de dirección SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "Omita las reglas de dirección SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "Omitir comprobación de velocidad" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "Omitir reglas de dirección." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "Omitir las reglas de ipset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "Omitir las reglas del servidor de nombres." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "Servidor SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" +"SmartDNS es un servidor DNS local de alto rendimiento, admite la búsqueda de " +"la IP más rápida, admite el filtrado de anuncios y evita el envenenamiento " +"de DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "Sitio web oficial de SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "Puerto del servidor local Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"Puerto del servidor local de Smartdns, se configurará automáticamente como " +"DNS principal cuando el puerto sea 53." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"Modo de respuesta de SmartDNS, Primer Ping: devuelve la primera IP que " +"responde al ping, IP Más Rápida: devuelve la IP más rápida, Respuesta Más " +"Rápida: devuelve la respuesta DNS más rápida." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "Nombre del servidor de Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "Modo de verificación de velocidad de SmartDNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"Especifique una dirección IP para devolver para cualquier host en los " +"dominios dados, las consultas en los dominios nunca se reenvían y siempre se " +"responden con la dirección IP especificada que puede ser IPv4 o IPv6." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "Modo de Verificación de Velocidad" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "El modo de verificación de velocidad no es válido." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "Servidor TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "El puerto TCP está vacío" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "Verificar nombre de host TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "Nombre SNI de TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "TLS SPKI Anclado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "TTL para todos los resultados de dominio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Soporte técnico" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "Error en el formato de la URL, formato: http:// o https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Actualizar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Actualizar archivos" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Cargar archivo de configuración" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Cargar el archivo de lista de dominios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Cargue el archivo de lista de dominios en /etc/smartdns/domain-set" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" +"Cargue el archivo de la lista de dominios o configure la descarga automática " +"desde la página Configuración de descarga de archivos." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Cargar el archivo de lista de dominios." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "Cargue el archivo de configuración de smartdns en /etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Servidores aguas arriba" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"Servidores aguas arriba, soporte UDP, protocolo TCP. Configure varios " +"servidores DNS, incluidos varios servidores DNS externos." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Utilizar proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "Utilizar proxy para conectarse al servidor DNS ascendente." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"Se utiliza para verificar la validez del servidor TLS. El valor es la huella " +"digital SPKI codificada en Base64, y se deja en blanco para indicar que no " +"se verifica la validez de TLS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "Escriba la caché en el disco al salir y la cargue al arrancar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Si" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "por defecto" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "lista de dominios (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "Error de formato de nombre de ipset, formato: [#[4|6]:]ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "abrir sitio web" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "Configuración de smartdns (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "configuraciones personalizadas de smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "tipo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" + +#~ msgid "ip" +#~ msgstr "ip" + +#~ msgid "port" +#~ msgstr "puerto" + +#~ msgid "" +#~ "DNS Server group belongs to, used with nameserver, such as office, home." +#~ msgstr "" +#~ "El grupo del servidor DNS pertenece a, usado con el servidor de nombres, " +#~ "como la oficina, el hogar." + +#~ msgid "Dnsmasq Forwared To Smartdns Failure" +#~ msgstr "Fallo en el reenvío de dnsmasq a SmartDNS" + +#~ msgid "Sets the server name indication for query." +#~ msgstr "Establece la indicación del nombre del servidor para la consulta." + +#~ msgid "IPV4 53 Port Redirect Failure" +#~ msgstr "Error de reenvío de puerto IPv4 53" + +#~ msgid "IPV6 53 Port Redirect Failure" +#~ msgstr "Error de reenvío de puerto IPv6 53" + +#~ msgid "Redirect" +#~ msgstr "Redirigir" + +#~ msgid "Redirect 53 port to SmartDNS" +#~ msgstr "Redirigir el puerto 53 a SmartDNS" + +#~ msgid "Run as dnsmasq upstream server" +#~ msgstr "Ejecutar como servidor dnsmasq aguas arriba" + +#~ msgid "SmartDNS redirect mode" +#~ msgstr "Modo de redireccionamiento SmartDNS" + +#~ msgid "none" +#~ msgstr "ninguno" + +#~ msgid "DNS Server group belongs to," +#~ msgstr "El grupo del servidor DNS pertenece a," + +#~ msgid "" +#~ "SmartDNS is a local high-performance DNS server, supports finding fastest " +#~ "IP," +#~ msgstr "" +#~ "SmartDNS es un servidor DNS local de alto rendimiento, admite la búsqueda " +#~ "de IP más rápida," + +#~ msgid "" +#~ "Specify an IP address to return for any host in the given domains, " +#~ "Queries in the domains are never" +#~ msgstr "" +#~ "Especifique una dirección IP para devolver para cualquier host en los " +#~ "dominios dados, las consultas en los dominios nunca son" + +#~ msgid "" +#~ "Upstream Servers, support UDP, TCP protocol. Please configure multiple " +#~ "DNS servers," +#~ msgstr "" +#~ "Servidores aguas arriba, soporte UDP, protocolo TCP. Configura varios " +#~ "servidores DNS," + +#~ msgid "" +#~ "Used to verify the validity of the TLS server, The value is Base64 " +#~ "encoded SPKI fingerprint," +#~ msgstr "" +#~ "Se utiliza para verificar la validez del servidor TLS. El valor es la " +#~ "huella digital SPKI codificada en Base64," diff --git a/luci-app-smartdns/po/fi/smartdns.po b/luci-app-smartdns/po/fi/smartdns.po new file mode 100644 index 000000000..058888873 --- /dev/null +++ b/luci-app-smartdns/po/fi/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-08-31 15:13+0000\n" +"Last-Translator: Kieli Puoli \n" +"Language-Team: Finnish \n" +"Language: fi\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 5.8-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Ota käyttöön" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "EI KÄYNNISSÄ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "KÄYNNISSÄ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Asetukset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/fr/smartdns.po b/luci-app-smartdns/po/fr/smartdns.po new file mode 100644 index 000000000..26a4c7498 --- /dev/null +++ b/luci-app-smartdns/po/fr/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-02-01 22:49+0000\n" +"Last-Translator: ButterflyOfFire \n" +"Language-Team: French \n" +"Language: fr\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 5.4-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Paramètres avancés" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Description" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Activer" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Réglages généraux" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/ga/smartdns.po b/luci-app-smartdns/po/ga/smartdns.po new file mode 100644 index 000000000..80839c90d --- /dev/null +++ b/luci-app-smartdns/po/ga/smartdns.po @@ -0,0 +1,944 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-09-06 19:05+0000\n" +"Last-Translator: Aindriú Mac Giolla Eoin \n" +"Language-Team: Irish \n" +"Language: ga\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(" +"n>6 && n<11) ? 3 : 4;\n" +"X-Generator: Weblate 5.8-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Args breise do fhreastalaithe dns suas sruth" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Bratacha breise le haghaidh rialacha, léigh cabhair ar riail fearainn le " +"haghaidh tuilleadh faisnéise." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "Bratach Rialacha Breise" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Args Freastalaí Breise" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" +"Args freastalaí breise, féach don tuairisc chabhrach ar an rogha ceangail." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Socruithe chun cinn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Déanann iarracht sean-fhreagairtí ó taisce a sheirbheáil le TTL de 0 sa " +"fhreagra gan fanacht go gcríochnóidh an réiteach iarbhír." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Socraigh Dnsmasq go huathoibríoch" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" +"Socraigh go huathoibríoch mar thuas sruth de dnsmasq nuair a athraíonn " +"calafort." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Gléas Ceangail" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Ceangail Ainm Gléas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Bloc fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Bloc fearainn." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Leanann taisce" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Méid taisce" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Sonraí á mbailiú ..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "Cumraigh liostaí dubha IP a scagfar ó thorthaí freastalaí DNS ar leith." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "Cumraigh liosta fearainn bloc." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "Cumraigh liosta riail fearainn." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "Cumraigh liosta ainm fearainn ar aghaidh." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Socruithe Saincheaptha" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "Socrú Bloc DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "Socrú Seoladh DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "Ainm Freastalaí DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "Grúpa freastalaí DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "Baineann grúpa Freastalaí DNS le, mar shampla oifig, baile." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "IP freastalaí DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "Calafort freastalaí DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "Cineál freastalaí DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "Méid taisce torthaí fearainn DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "Socruithe Freastalaí DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Cur síos" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "Dnsmasq ar aghaidh chuig Teip Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "Ná seiceáil deimhniú." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "Ná seiceáil luas." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Seoladh Fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Liosta Fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Comhad Liosta Fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Liosta Rialacha Fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Ainm Riail Fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Rialacha Fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Socruithe Rialacha Fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "Fearainn TTL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "Fearainn TTL Max" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "Fearainn TTL Min" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "Prefetch fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Deontas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "Bronnadh chuig smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Íoslódáil Comhaid" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Íoslódáil Socrú Comhaid" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"Íoslódáil comhaid liosta fearainn le haghaidh riail fearainn agus cuir " +"comhaid chumraithe san áireamh, déan an leathanach a athnuachan tar éis an " +"íoslódáil chun dul i bhfeidhm." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "Roghnú IP dé-chraiste" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Cumasaigh" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Cumasaigh Nuashonrú Auto" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "Cumasaigh roghnú IP idir IPV4 agus IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "Cumasaigh Freastalaí DNS IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "Cumasaigh Freastalaí DNS TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Cumasaigh nuashonrú uathoibríoch laethúil." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" +"Cumasaigh réamhfhillteach fearainn, luasghéarú luas freagartha fearainn." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "Cumasaigh nó díchumasaigh an dara freastalaí DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "Cumasaigh nó díchumasaigh freastalaí smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "Fág Freastalaí DNS as an ngrúpa réamhshocraithe." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "An Grúpa Réamhshocraithe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "IP is tapúla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Freagra is gasta" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Ainm an Chomhaid" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Cineál Comhad" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "Scagadh IP le liosta dubh" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "An Chéad Ping" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "Fórsa AAAA SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "Fórsa AAAA SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "Fórsa HTTPS SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "Fórsa HTTPS SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Socruithe Ginearálta" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "Cruthaigh Coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"Cruthaigh comhad Coredump nuair a thimpiste smartdns, tá comhad coredump " +"suite ag /tmp/smartdns.xxx.core." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "Rochtain a dheonú ar aip LuCi smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "Óstach HTTP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "Liosta Dubh IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "Scagadh Liosta Dubh IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "Freastalaí IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "Ainm IPSet" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "Ainm IPSet." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "Más maith leat na bogearraí seo, ceannaigh cupán caife dom le do thoil." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Cuir Comhaid Cumraíochta san áireamh
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"Cuir comhaid chumraithe eile san áireamh ó /etc/smartdns/conf.d nó cosán " +"saincheaptha, is féidir iad a íoslódáil ón leathanach íoslódála." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" +"Ainm Ipset, Cuir toradh fearainn le ipset nuair a theipeann ar sheiceáil " +"luais." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "Liosta na gcomhaid le híoslódáil." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Éist ach ar na comhéadain shonraithe." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Port Áitiúil" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Comhad Logáil" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Leibhéal Logála" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Uimhir Logála" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Méid Logála" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "Pacáistí Marcála" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "TTL uasta do gach toradh fearainn." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "TTL íosta do gach toradh fearainn." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "Ainm NFTSet" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" +"Earráid formáid ainm NFTSet, formáid: [# [4|6]: [teaghlach #table #set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "Ainm NFTSet, formáid: [# [4|6]: [teaghlach #table #set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "NÍ RÚCHÁN" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "Ainm ainm na feiste éist air." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"Ainm Nftset, Cuir toradh fearainn le nftset nuair a theipeann ar sheiceáil " +"luais, formáid: [# [4|6]: [teaghlach #table #set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Níl" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "Gan Ainm Luas IPSet" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "Gan Ainm Luas NFTSet" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "Gan deimhniú seiceála" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Dada" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "Ní thacaíonn ach socks5 seachfhreastalaí udp." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Socraigh seachfhreastalaí ar dtús." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Seachfhreastalaí" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Socruithe Freastalaí Proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"URL Freastalaí Seachfhreastalaí, formáid: [socks5|http] " +"http://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Earráid formáid URL seachfhreastalaí, formáid: [socks5|http]//user:pass " +"@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "Fiosraigh DNS trí ghrúpa freastalaí dns ar leith, mar oifig, baile." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "REATHA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "Freagra Réimse TTL Max" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "Freagra ar TTL uasta do gach toradh fearainn." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Tuairisc fabhtanna" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "Réiteach Óstaigh Áitiúla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "Réiteach óstainmneacha áitiúla trí chomhad léasa Dnsmasq a léamh." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Mód Freagartha" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Athosaigh" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Seirbhís atosaigh" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "Socruithe Dara Freastalaí" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "Freastal in éag" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Grúpa Freastalaí" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "Níl Grúpa Freastalaí %s ann" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Ainm Freastalaí" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Socraigh seoladh ip fearainn sonrach." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Socraigh liosta riail fearainn sonrach." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "Socraigh liosta dubh IP sonrach." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "Socraigh ainm óstach TLS le fíorú." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Socraigh marc ar phacéid." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"Socraigh an t-óstach HTTP a úsáidtear don cheist. Úsáid an paraiméadar seo " +"nuair is seoladh IP é óstach an seoladh URL." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" +"Socraíonn sé tásc ainm an fhreastalaí le haghaidh ceist. '-' le haghaidh " +"ainm SNI a dhíchumasú." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Socruithe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "Rialacha Seoladh Scipeála" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Scipeáil Cache" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Scipeáil Cache." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "Scipeáil Roghnú Dualstack" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "Scipeáil Roghnú Dualstack." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "Skip Ipset Riail" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "Skipeáil Riail Seirbhíse Ainmneacha" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "Skip Riail Seoladh SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "Scipeáil rialacha seoltaí SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "Scipeáil Seiceáil Luais" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "Skipeáil rialacha seoltaí." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "Scipeáil rialacha ipset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "Scipeáil rialacha freastalaí ainmneacha." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "Freastalaí SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" +"Is freastalaí DNS ardfheidhmíochta áitiúil é SmartDNS, tacaíonn sé le teacht " +"ar an IP is tapúla, tacaíonn sé le scagadh fógraí, agus tacaíonn sé le " +"nimhiú DNS a sheachaint." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "Láithreán gréasáin oifigiúil SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "Port freastalaí áitiúil Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"Socrófar calafort freastalaí áitiúil Smartdns, smartdns go huathoibríoch mar " +"phríomhdns nuair a bhíonn an calafort 53." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"Modh freagartha Smartdns, An Chéad Ping: cuir an chéad IP ping ar ais, IP is " +"tapúla: cuir an IP is tapúla ar ais, Freagra is tapa: cuir an freagra DNS is " +"gasta ar ais." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "Ainm freastalaí Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "Modh seiceála luais Smartdns." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"Sonraigh seoladh IP le filleadh d'aon óstach sna fearainn ar leith, Ní " +"chuirtear ceisteanna sna fearainn ar aghaidh riamh agus freagraítear iad i " +"gcónaí leis an seoladh IP sonraithe a d'fhéadfadh a bheith IPv4 nó IPv6." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "Mód Seiceála Luais" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "Tá modh seiceála luais neamhbhailí." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "Freastalaí TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "Tá calafort TCP folamh" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "Fíoraigh Óstainm TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "Ainm TLS SNI" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "Pin TLS SPKI" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "TTL le haghaidh gach toradh fearainn." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Tacaíocht Theicniúil" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "Earráid formáid URL, formáid: http://nó https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Nuashonraigh" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Nuashonrú Comhaid" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Uaslódáil Comhad Configúrtha" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Uaslódáil Comhad Liosta Fearainn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Uaslódáil comhad liosta fearainn chuig /etc/smartdns/domain-set" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" +"Uaslódáil comhad liosta fearainn, nó cumraigh íoslódáil uathoibríoch ó " +"leathanach Socrú Comhad Íoslódáil." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Uaslódáil comhad liosta fearainn." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "Uaslódáil comhad cumraíochta smartdns chuig /etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Freastalaithe suas sruth" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"Freastalaithe In aghaidh an tsrutha, tacú le UDP, prótacal TCP. Cumraigh " +"freastalaithe DNS iolracha, lena n-áirítear go leor freastalaithe DNS " +"coigríche." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Úsáid Proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" +"Úsáid seachfhreastalaí chun ceangal leis an bhfreastalaí DNS in aghaidh an " +"tsrutha." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"Úsáidtear chun bailíocht an fhreastalaí TLS a fhíorú, Is é an luach méarlorg " +"SPKI ionchódaithe Base64, ag fágáil bán chun a léiriú nach ndéantar " +"bailíocht TLS a fhíorú." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "Scríobh taisce chuig an diosca ar imeacht agus luchtaigh ar thosú." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Tá" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "réamhshocraithe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "liosta fearainn (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "earráid formáid ainm ipset, formáid: [# [4|6]:] ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "suíomh Gréasáin oscailte" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "cumraíocht smartdns (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "socruithe saincheaptha smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "cineál" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" diff --git a/luci-app-smartdns/po/he/smartdns.po b/luci-app-smartdns/po/he/smartdns.po new file mode 100644 index 000000000..d1df3bc80 --- /dev/null +++ b/luci-app-smartdns/po/he/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-10 20:57+0000\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: Hebrew \n" +"Language: he\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 5.4-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "תיאור" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/hi/smartdns.po b/luci-app-smartdns/po/hi/smartdns.po new file mode 100644 index 000000000..f334845c9 --- /dev/null +++ b/luci-app-smartdns/po/hi/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-07-06 11:32+0000\n" +"Last-Translator: Sathvic \n" +"Language-Team: Hindi \n" +"Language: hi\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 5.7-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "उन्नत सेटिंग्स" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/hu/smartdns.po b/luci-app-smartdns/po/hu/smartdns.po new file mode 100644 index 000000000..699ba2a91 --- /dev/null +++ b/luci-app-smartdns/po/hu/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-08-23 13:30+0000\n" +"Last-Translator: hmzs \n" +"Language-Team: Hungarian \n" +"Language: hu\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 5.7.1-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Haladó beállítások" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Általános beállítások" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Proxy-kiszolgáló" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/it/smartdns.po b/luci-app-smartdns/po/it/smartdns.po new file mode 100644 index 000000000..be2efa0e9 --- /dev/null +++ b/luci-app-smartdns/po/it/smartdns.po @@ -0,0 +1,902 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-07-02 08:08+0000\n" +"Last-Translator: moreno \n" +"Language-Team: Italian \n" +"Language: it\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 5.7-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Argomenti aggiuntivi per server DNS upstream" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Impostazioni aggiuntive per le regole, per più informazioni leggi la guida " +"sulle \"domain-rule\"." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "indicatore di Regola Aggiuntiva" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Ulteriori server Args" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" +"Ulteriori server args, fare riferimento alla descrizione dell'aiuto " +"dell'opzione bind." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Impostazioni avanzate" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Tenta di usare vecchie risposte dalla cache con un TTL di 0 nella risposta, " +"senza attendere che la risoluzione effettiva sia completata." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Caricamento dei dati in corso..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Descrizione" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Abilitare" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Impostazioni Generali" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "NON IN ESECUZIONE" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "No" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "IN ESECUZIONE" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Riavvia" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Impostazioni" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Si" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/ja/smartdns.po b/luci-app-smartdns/po/ja/smartdns.po new file mode 100644 index 000000000..3f8fe56f2 --- /dev/null +++ b/luci-app-smartdns/po/ja/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-03-28 23:40+0000\n" +"Last-Translator: Ioroi Kouhei \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.5-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "アップストリームDNSサーバーの追加引数" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "詳細設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/ko/smartdns.po b/luci-app-smartdns/po/ko/smartdns.po new file mode 100644 index 000000000..eca7fe268 --- /dev/null +++ b/luci-app-smartdns/po/ko/smartdns.po @@ -0,0 +1,893 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/lt/smartdns.po b/luci-app-smartdns/po/lt/smartdns.po new file mode 100644 index 000000000..7df471525 --- /dev/null +++ b/luci-app-smartdns/po/lt/smartdns.po @@ -0,0 +1,910 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-20 19:09+0000\n" +"Last-Translator: Džiugas Januševičius \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\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%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.8-rc\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Papildomi serverio argumentai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Pažangūs nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Automatiškai nustatyti „Dnsmasq“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Pririšti įrenginį" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Pririšti įrenginio pavadinimą" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Blokuoti domeną-sritį" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Blokuoti domeną-sritį." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Pastovi talpykla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Talpyklos dydis" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Renkami duomenys..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Pasirinktiniai nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "„DNS“ blokavimo nustatymas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "„DNS“ persiuntimo nustatymas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "„DNS“ serverio pavadinimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "„DNS“ serverio grupė" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "„DNS“ serverio grupė priklauso... (pvz: namams, biurui)." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "„DNS“ serverio IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "„DNS“ serverio prievadas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "„DNS“ serverio tipas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "„DNS“ domeno-srities talpyklos vieta rezultate" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "„DNS64“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "„DNS64“ Serverio nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Aprašas/-ymas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "Netikrinti sertifikato." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "Netikrinti greičio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Domeno-Srities adresas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Domenų-Sričių sąrašas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Domenų-Sričių sąrašo failas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Domenų-Sričių taisyklių sąrašas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Domenų-Sričių taisyklės pavadinimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Domenų-Sričių taisyklės" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Domenų-Sričių taisyklių nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "Domeno-srities „TTL“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "Domeno-srities „TTL maks.“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "Domeno-srities „TTL min.“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Paremti/Paaukoti" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "Paremti „smartdns“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Atsisiųsti failus" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Atsisiųstų failų nustatymas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Įjungti/Įgalinti" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Įgalinti automatinį atnaujinimą" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "Įjungti/Įgalinti IP parinktį tarp IPv4 ir IPv6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "Įjungti/Įgalinti IPv6 „DNS“ serverį" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "Įjungti/Įgalinti „TCP“ „DNS“ serverį" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Įgalinti automatinius, kasdieninius atnaujinimus." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "Greičiausias IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Greičiausias atsakas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Failo pavadinimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Failo tipas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "Pirmasis ryšio atsakas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "Priversti „AAAA SOA“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "Priversti „AAAA SOA“." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "Priversti „HTTPS SOA“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "Priversti „HTTPS SOA“." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Bendri nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "Duoti prieigą prie „LuCI app smartdns“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "„HTTP“ skleidėjas/vedėjas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "Draudžiamasis IP sąrašas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "Draudžiamojo IP sąrašo filtravimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "IPV6 serveris" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "„IPset“ pavadinimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "„IPset“ pavadinimas." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" +"Jeigu jums patinka mano taikomoji programa, prašau nupirkti man kavos " +"puodelį." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Įtraukti konfigūracijos failus
„/etc/smartdns/conf.d“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "Failų sąrašas, kuriuos atsisiųsite." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Laukti prisijungimo/jungties ryšio tik ant nurodytų sąsajų ir sietuvų." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Vietinis prievadas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Žurnalo failas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Žurnalo lygis" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Žurnalo numeris" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Žurnalo dydis" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "„NFTset“ pavadinimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" +"„NFTset“ pavadinimo formato klaida, formatas: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "„NFTset“ pavadinimas, formatas: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "NEVEIKIA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "Įrenginio pavadinimas, ant kurio laukiamas prisijungimo/jungties ryšys." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Ne" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "Be patikrinimo, sertifikatas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Joks (-ia/-ie)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Prašome pirma nustatyti įgaliotąjį serverį." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Įgaliotasis serveris" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Įgalioto serverio nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Įgalioto serverio „URL“ – saitas, formatas: " +"[socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Įgalioto serverio „URL“ – saito formato klaida, formatas: " +"[socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "VEIKIA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Atsakymo veiksena" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Paleisti iš naujo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Iš naujo paleisti tarnybą" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "Antro serverio nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Serverio grupė" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "Serverio grupė/-s %s neegzistuoja" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Serverio pavadinimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Nustatyti savitą domeno-srities IP adresą." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Nustatyti savitą domeno-srities taisyklių sąrašą." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Nustatyti žymę ant paketų." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Praleisti talpyklą" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Praleisti talpyklą." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "„SmartDNS“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "„SmartDNS“ serveris" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "„SmartDNS“ oficialus tinklapis" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "„SmartDNS“ vietinis serverio prievadas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "„SmartDNS“ serverio pavadinimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "„TCP“ serveris" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "„TCP“ prievadas yra tuščias" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "„TLS SNI“ pavadinimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "„TLS SPKI“ prisegimas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Techninė pagalba" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "„URL“ – Saitas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "„URL“ – Saito formato klaida, formatas: „http://“ arba „https://“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Atnaujinti" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Atnaujinimo failai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Įkelti konfigūracijos failą" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Įkelti domenų-sričių sąrašo failą" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Įkelti domenų-sričių sąrašo failą į „/etc/smartdns/domain-set“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Įkelti domenų-sričių sąrašo failą." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Išsiunčiamo srauto serveriai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Naudoti įgaliotąjį" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Taip" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "numatytas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "domeno-sričių sąrašas („/etc/smartdns/domain-set“)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "„https“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "atidaryti svetainę/tinklapį" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "„smartdns“ konfigūracija („/etc/smartdns/conf.d“)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "„smartdns“ pasirinktiniai nustatymai" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "„tcp“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "„tls“" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "tipas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "„udp“" + +#~ msgid "ip" +#~ msgstr "„ip“" + +#~ msgid "port" +#~ msgstr "prievadas" diff --git a/luci-app-smartdns/po/mr/smartdns.po b/luci-app-smartdns/po/mr/smartdns.po new file mode 100644 index 000000000..7fd84f7dd --- /dev/null +++ b/luci-app-smartdns/po/mr/smartdns.po @@ -0,0 +1,892 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/ms/smartdns.po b/luci-app-smartdns/po/ms/smartdns.po new file mode 100644 index 000000000..603a279c5 --- /dev/null +++ b/luci-app-smartdns/po/ms/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-22 09:21+0000\n" +"Last-Translator: Abdul Muizz Bin Abdul Jalil \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Pemboleh" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Tidak" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Ya" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "mungkir" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/nb_NO/smartdns.po b/luci-app-smartdns/po/nb_NO/smartdns.po new file mode 100644 index 000000000..b8ea49aa6 --- /dev/null +++ b/luci-app-smartdns/po/nb_NO/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-26 16:51+0000\n" +"Last-Translator: Allan Nordhøy \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb_NO\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 5.4-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Avanserte innstillinger" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Samler data …" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Skru på" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Generelle innstillinger" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "Kjører ikke" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "Kjører" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/nl/smartdns.po b/luci-app-smartdns/po/nl/smartdns.po new file mode 100644 index 000000000..188ac7ff1 --- /dev/null +++ b/luci-app-smartdns/po/nl/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-04-18 14:03+0000\n" +"Last-Translator: Stephan \n" +"Language-Team: Dutch \n" +"Language: nl\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 5.5-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Inschakelen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/pl/smartdns.po b/luci-app-smartdns/po/pl/smartdns.po new file mode 100644 index 000000000..40ee1cf40 --- /dev/null +++ b/luci-app-smartdns/po/pl/smartdns.po @@ -0,0 +1,949 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-06-01 07:02+0000\n" +"Last-Translator: Matthaiks \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\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 5.6-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Dodatkowe argumenty dla nadrzędnych serwerów DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Dodatkowe flagi dla reguł, przeczytaj pomoc dotyczącą reguły domeny, aby " +"uzyskać więcej informacji." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "Dodatkowa flaga reguły" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Dodatkowe argumenty serwera" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" +"Dodatkowe argumenty serwera można znaleźć w opisie pomocy dotyczącym opcji " +"wiązania." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Ustawienia zaawansowane" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Próby zwrócenia starych odpowiedzi z pamięci podręcznej z TTL 0, nie " +"czekając na rzeczywiste rozwiązanie." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Automatycznie ustaw Dnsmasq" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" +"Automatycznie ustawiaj jako łącze nadrzędne Dnsmasq przy zmianie portu." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Powiąż urządzenie" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Nazwa połączonego urządzenia" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Zablokuj domenę" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Zablokuj domenę." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Trwała pamięć podręczna" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Rozmiar pamięci podręcznej" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Zbieranie danych..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" +"Skonfiguruj czarne listy IP, które będą filtrowane na podstawie wyników " +"konkretnego serwera DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "Skonfiguruj listę blokowanych domen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "Skonfiguruj listę reguł domeny." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "Skonfiguruj listę nazw domen przekazywania." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Ustawienia niestandardowe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "Ustawienie blokowania DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "Ustawienie przekazywania DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "Nazwa serwera DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "Grupa serwerów DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "Grupa serwerów DNS należy do np. biura, domu." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "IP serwera DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "Port serwera DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "Typ serwera DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "Rozmiar pamięci podręcznej wyników domeny DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "Ustawienia serwera DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Opis" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "Dnsmasq przekazany do błędu Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "Nie sprawdzaj certyfikatu." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "Nie sprawdzaj prędkości." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Adres domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Lista domen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Plik listy domen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Lista reguł domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Nazwa reguły domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Zasady domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Ustawienia reguł domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "TTL domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "Maksimum TTL domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "Minimum TTL domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "Wstępne wyszukiwanie domeny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Wspomóż" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "Wspomóż smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Pobierz pliki" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Ustawienia pobierania plików" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"Pobierz pliki listy domen dla reguły domeny i dołącz pliki konfiguracyjne. " +"Po pobraniu odśwież stronę, aby zastosować." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "Wybór IP z podwójnym stosem" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Włącz" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Włącz automatyczną aktualizację" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "Włącz wybór IP pomiędzy IPv4 a IPv6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "Włącz serwer DNS IPv6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "Włącz serwer DNS TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Włącz codzienną automatyczną aktualizację." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "Włącz wstępne wyszukiwanie domeny, zwiększ szybkość odpowiedzi domeny." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "Włącz lub wyłącz drugi serwer DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "Włącz lub wyłącz serwer smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "Wyklucz serwer DNS z grupy domyślnej." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "Wyklucz grupę domyślną" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "Najszybszy IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Najszybsza reakcja" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Nazwa pliku" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Typ pliku" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "Filtrowanie adresów IP za pomocą czarnej listy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "Pierwszy ping" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "Wymuś AAAA SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "Wymuś AAAA SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "Wymuś HTTPS SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "Wymuś HTTPS SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Ustawienia główne" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "Wygeneruj Coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"Generuj plik Coredump w przypadku awarii smartdns. Plik coredump znajduje " +"się w /tmp/smartdns.xxx.core." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "Udziel dostępu do aplikacji LuCI smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "Host HTTP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "Czarna lista adresów IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "Filtrowanie czarnej listy adresów IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "Serwer IPv6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "Nazwa IPset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "Nazwa IPset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "Jeśli podoba Ci się to oprogramowanie, postaw mi filiżankę kawy." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Dołącz pliki konfiguracyjne
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"Dołącz inne pliki konfiguracyjne z pliku /etc/smartdns/conf.d lub ścieżki " +"niestandardowej, które można pobrać ze strony pobierania." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" +"Nazwa IPset. Dodaj wynik domeny do ipset, gdy sprawdzenie szybkości nie " +"powiedzie się." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "Lista plików do pobrania." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Nasłuchuj tylko na określonych interfejsach." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Port lokalny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Plik dziennika" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Poziom dziennika" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Liczba dziennika" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Rozmiar dziennika" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "Oznakowanie pakietów" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "Maksymalny TTL dla wszystkich wyników domeny." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "Minimalny TTL dla wszystkich wyników domeny." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "Nazwa NFTset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "Błąd formatu nazwy NFTset, format: [#[4|6]:[rodzina#tablica#zestaw]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "Nazwa NFTset, format: [#[4|6]:[rodzina#tablica#zestaw]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "NIEURUCHOMIONE" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "Nazwa urządzenia nasłuchującego." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"Nazwa Nftset. Dodaj wynik domeny do nftset, gdy sprawdzenie szybkości nie " +"powiedzie się, format: [#[4|6]:[rodzina#tablica#zestaw]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Nie" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "Nazwa IPset bez ograniczenia prędkości" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "Nazwa NFTset bez ograniczenia prędkości" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "Bez sprawdzania certyfikatu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Brak" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "Tylko proxy SOCKS5 obsługuje serwer UDP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Najpierw ustaw serwer proxy." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Serwer proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Ustawienia serwera proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Adres URL serwera proxy, format: [socks5|http]://użytkownik:hasło@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Błąd formatu adresu URL serwera proxy, format: [socks5|http]://użytkownik:" +"hasło@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" +"Odpytaj DNS za pośrednictwem określonej grupy serwerów DNS, takiej jak biuro " +"czy dom." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "URUCHOMIONE" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "Maksymalny TTL domeny odpowiedzi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "Maksymalna odpowiedź TTL dla wszystkich wyników w domenie." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Zgłoś błędy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "Rozwiąż lokalne nazwy hostów" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "Rozwiąż lokalne nazwy hostów, czytając plik dzierżawy Dnsmasq." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Tryb odpowiedzi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Restartuj" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Restartuj usługę" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "Ustawienia drugiego serwera" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "Serwer wygasł" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Grupa serwerów" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "Grupa serwerów %s nie istnieje" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Nazwa serwera" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Ustaw konkretny adres IP domeny." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Ustaw określoną listę reguł domeny." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "Ustaw określoną czarną listę IP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "Ustaw nazwę hosta TLS do sprawdzenia." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Ustaw znacznik na pakietach." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"Ustaw host HTTP używany w zapytaniu. Użyj tego parametru, jeśli hostem " +"adresu URL jest adres IP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" +"Ustawia wskazanie nazwy serwera dla zapytania. '-', aby wyłączyć nazwę SNI." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Ustawienia" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "Pomiń reguły adresowe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Pomiń pamięć podręczną" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Pomiń pamięć podręczną." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "Pomiń wybór podwójnego stosu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "Pomiń wybór podwójnego stosu." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "Pomiń regułę IPset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "Pomiń regułę serwera nazw" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "Pomiń regułę adresu SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "Pomiń regułę adresu SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "Pomiń sprawdzanie prędkości" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "Pomiń reguły adresowe." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "Pomiń reguły ipset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "Pomiń reguły serwera nazw." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "Serwer SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" +"SmartDNS to lokalny serwer DNS o wysokiej wydajności, obsługuje wyszukiwanie " +"najszybszego adresu IP, obsługuje filtrowanie reklam i pomaga unikać " +"zatruwania DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "Oficjalna strona SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "Port lokalnego serwera Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"Port lokalnego serwera Smartdns, zostanie on automatycznie ustawiony jako " +"główny DNS, gdy port będzie miał numer 53." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"Tryb odpowiedzi Smartdns. Pierwszy ping: zwróć adres IP pierwszego pingu. " +"Najszybszy adres IP: zwróć najszybszy adres IP. Najszybsza odpowiedź: zwróć " +"najszybszą odpowiedź DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "Nazwa serwera Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "Tryb sprawdzania prędkości Smartdns." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"Określ adres IP, który ma zostać zwrócony dla dowolnego hosta w podanych " +"domenach. Zapytania w domenach nigdy nie są przekazywane dalej i zawsze " +"odpowiadają na nie podanym adresem IP, którym może być IPv4 lub IPv6." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "Tryb sprawdzania prędkości" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "Tryb sprawdzania prędkości jest nieprawidłowy." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "Serwer TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "Port TCP jest pusty" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "Weryfikacja nazwy hosta TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "Nazwa SNI TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "Przypinanie SPKI TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "TTL dla wyniku w całej domenie." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Pomoc techniczna" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "Adres URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "Błąd formatu adresu URL, format: http:// lub https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Aktualizacja" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Aktualizuj pliki" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Prześlij plik konfiguracyjny" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Prześlij plik listy domen" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Prześlij plik listy domen do /etc/smartdns/domain-set" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" +"Prześlij plik listy domen lub skonfiguruj automatyczne pobieranie ze strony " +"ustawień pobierania plików." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Prześlij plik listy domen." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "Prześlij plik konfiguracyjny smartdns do /etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Serwery nadrzędne" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"Serwery nadrzędne obsługują protokoły UDP i TCP. Skonfiguruj wiele serwerów " +"DNS, w tym wiele zagranicznych serwerów DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Użyj serwera proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "Użyj serwera proxy, aby połączyć się z nadrzędnym serwerem DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"Służy do weryfikacji ważności serwera TLS. Wartość to odcisk palca SPKI " +"zakodowany w formacie Base64, pozostawiając puste pole, aby wskazać, że " +"ważność TLS nie została zweryfikowana." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" +"Zapisz pamięć podręczną na dysku przy wyjściu i załaduj przy uruchomieniu." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Tak" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "domyślna" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "lista domen (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "błąd formatu nazwy ipset, format: [#[4|6]:]nazwaipset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "otwórz witrynę internetową" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "konfiguracja smartdns (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "niestandardowe ustawienia smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "typ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" + +#~ msgid "ip" +#~ msgstr "ip" + +#~ msgid "port" +#~ msgstr "port" diff --git a/luci-app-smartdns/po/pt/smartdns.po b/luci-app-smartdns/po/pt/smartdns.po new file mode 100644 index 000000000..63091ba51 --- /dev/null +++ b/luci-app-smartdns/po/pt/smartdns.po @@ -0,0 +1,945 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-07-20 20:10+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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 5.7-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Args adicionais para servidores dns upstream" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Sinalizadores adicionais para as regras, leia a ajuda na regra do domínio " +"para obter mais informações." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "Sinalizador da regra adicional" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Args Adicionais Sobre o Servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" +"Args adicionais do servidor, consulte a descrição de ajuda da opção de " +"vinculação." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Configurações avançadas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Tentativas de servir respostas antigas do cache com um TTL de 0 na resposta " +"sem esperar o término da resolução real." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Definir o Dnsmasq automaticamente" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" +"Definido automaticamente como upstream do dnsmasq quando a porta se alterar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Vincular dispositivo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Nome do dispositivo vinculado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Bloquear domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Bloquear domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Cache persistente" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Tamanho do Cache" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "A coletar dados ..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" +"Configure as listas negras dos IP que serão filtradas a partir dos " +"resultados de um servidor DNS específico." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "Configure a lista de bloqueio dos domínios." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "Configurar a lista das regras do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "Configurar a lista de encaminhamento dos nomes do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Configurações Personalizadas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "Configuração do bloco do DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "Configuração de encaminhamento do DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "Nome do Servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "Grupo de servidores DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "O grupo a qual o servidor de DNS pertence, como escritório, casa." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "Endereço IP do Servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "Porta do Servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "Tipo do Servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "Tamanho do cache para o resultado do domínio DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "Configurações do servidor DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Descrição" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "Falha no encaminhamento do Dnsmasq para o Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "Não verifique o certificado." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "Não verifique a velocidade." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Endereço do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Lista de domínios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Ficheiro da lista de domínios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Lista das regras de domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Nome da regra do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Regras do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Configurações das regras do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "TTL do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "TTL Max. do Domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "TTL Min. do Domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "Pré-aquisição do Domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Doe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "Doar para o smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Descarregar os ficheiros" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Descarregar os ficheiros de configuração" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"Descarregue os ficheiros da lista dos domínios para a regra do domínio e " +"inclua os ficheiros de configuração. Atualize a página após a descarga para " +"entrar em vigor." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "Seleção IP com pilha dupla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Ativar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Ativar a atualização automática" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "Ative a seleção do IP entre o IPV4 e o IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "Ativar o Servidor IPV6 do DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "Ative o TCP do servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Ativar a atualização diária automática." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" +"Ative a pré-aquisição do domínio, acelera a velocidade de resposta do " +"domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "Ative ou desative o segundo servidor DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "Ative ou desative o servidor smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "Excluir o servidor DNS do grupo padrão." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "Excluir o grupo padrão" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "IP mais rápido" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Resposta mais rápida" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Nome do ficheiro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Tipo do ficheiro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "A filtrar o IP com uma lista negra" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "Primeiro ping" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "Impor AAAA SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "Impor AAAA SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "Impor o HTTPS SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "Impor o HTTPS SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Configurações gerais" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "Gerar Coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"Gere um ficheiro Coredump quando o smartdns falhar, o ficheiro coredump está " +"localizado em /tmp/smartdns.xxx.core." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "Conceder acesso à app smartdns do LuCI" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "Host HTTP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "Lista negra de IPs" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "Filtragem da Lista Negra dos IPs" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "Servidor IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "Nome do IPSet" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "Nome do IPset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "Caso goste deste software, por favor, me pague uma chávena de café." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Incluir os ficheiros de configuração
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"Incluir os outros ficheiros de configuração de /etc/smartdns/conf.d ou o " +"caminho personalizado, pode ser descarregado da página de descargas." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" +"Nome do IPset. Adicionar o resultado do domínio ao ipset quando a " +"verificação da velocidade falhar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "Lista de ficheiros a descarregar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Ouça apenas nas interfaces indicadas." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Porta Local" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Ficheiro de registo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Nível do registo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Número do registo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Tamanho do registo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "Marcação dos pacotes" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "TTL máximo para todos os resultados do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "TTL mínimo para todos os resultados do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "Nome do NFTset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "Erro no formato do nome NFTset, formato: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "Nome do NFTset, formato: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "NÃO ESTÁ EM EXECUÇÃO" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "O nome do nome do dispositivo da escuta." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"Nome do nftset, adicionar o resultado do domínio ao nftset quando a " +"verificação de velocidade falhar, formato: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Não" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "Nome do conjunto de IP sem velocidade" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "Nome do conjunto NFT sem velocidade" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "Não verifique o certificado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Nenhum" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "Somente o proxy socks5 suporta o servidor udp." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Defina o servidor de proxy primeiro." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Servidor de proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Configurações do servidor de proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "URL do servidor de proxy, formato: [socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Erro no formato da URL do servidor de proxy, formato: " +"[socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" +"Consulta o DNS através de um grupo específico de servidores dns, como " +"office, casa." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "EM EXECUÇÃO" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "Responda ao domínio com TTL Max" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "Responda com TTL máximo em todos os resultados do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Reportar problemas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "Resolve os nomes dos host locais" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "Resolve os nomes dos hosts lendo o ficheiro de concessão do Dnsmasq." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Modo de resposta" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Reiniciar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Reiniciar o serviço" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "Configurações do Segundo Servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "O servir expirou" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Grupo dos Servidores" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "O grupo de servidores %s não existe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Nome do Servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Defina um endereço IP específico para o domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Definir a lista das regras específicas do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "Defina um IP específico para a lista negra." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "Defina o nome do host TLS para verificar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Definir uma marca nos pacotes." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"Defina o host HTTP utilizado para a consulta. Use este parâmetro quando o " +"host da URL do endereço for um endereço IP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" +"Define a indicação do nome do servidor para consulta. '-' para desativar o " +"nome SNI." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Configurações" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "Ignora as Regras do Endereço" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Ignora a Cache" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Ignora a Cache." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "Ignora a Seleção da Pilha Dupla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "Ignora a Seleção da Pilha Dupla." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "Ignora a Regra Ipset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "Ignora a Regra do Servidor de Nomes" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "Ignorar a Regra do Endereço SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "Ignorar a Regra do Endereço SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "Ignorar a Verificação da Velocidade" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "Ignora as Regras do Endereço." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "Ignore as regras do ipset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "Ignora a regra do servidor de nomes." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "Servidor SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" +"O SmartDNS é um servidor DNS local de alto desempenho, é compatível com a " +"localização rápida do IP, suporta filtragem de anúncios e previne o " +"envenenamento do DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "Site oficial do SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "Porta do servidor local Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"Porta do servidor local do Smartdns, o smartdns será automaticamente " +"definido como dns principal quando a porta for 53." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"Modo de resposta Smartdns, First ping: retorna o primeiro ping do IP, " +"Fastest IP: retorna o IP mais rápido, Fastest Response: retorna o DNS com a " +"resposta mais rápida." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "Nome do servidor Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "Modo de verificação de velocidade Smartdns." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"Especifique um endereço IP para retornar para qualquer host nos domínios " +"determinados, as consultas nos domínios nunca são encaminhadas e sempre " +"respondidas de forma especificada com o endereço IP que tanto pode ser IPv4 " +"ou IPv6." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "Modo de aferição da velocidade" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "O modo de aferição da velocidade é inválido." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "Servidor TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "A porta TCP está vazia" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "Verificar o Nome do Host TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "Nome TLS SNI" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "Fixação TLS SPKI" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "O TTL para todos os resultados do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Suporte Técnico" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "Houve um erro no formato da URL, formato: http:// ou https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Atualizar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Atualizar os ficheiros" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Enviar o ficheiro de configuração" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Enviar o ficheiro da lista dos domínios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Enviar o ficheiro da lista dos domínios para /etc/smartdns/domain-set" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" +"Enviar o ficheiro da lista dos domínios ou configure a descarga automática " +"na página Descarregar o ficheiro de configuração." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Enviar o ficheiro da lista dos domínios." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "Enviar o ficheiro da configuração do smartdns para /etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Servidores upstream" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"Servidores upstream, suporte UDP, protocolo TCP. Configure os vários " +"servidores DNS, incluindo vários servidores DNS externos." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Usar proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "Use o proxy para se conectar ao servidor DNS upstream." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"Utilizado para verificar a validade do servidor TLS, o valor é a impressão " +"digital SPKI codificada com base64, deixando em branco para indicar que a " +"validade do TLS não será verificada." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "Grave o cache no disco ao encerrar e carregue-o na inicialização." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Sim" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "padrão" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "lista com os domínios (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "Houve um erro no formato do nome ipset, formato: [#[4|6]:]ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "abrir o website" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "Configuração do smartdns (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "configurações personalizadas do smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "tipo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" diff --git a/luci-app-smartdns/po/pt_BR/smartdns.po b/luci-app-smartdns/po/pt_BR/smartdns.po new file mode 100644 index 000000000..bf1bb85c2 --- /dev/null +++ b/luci-app-smartdns/po/pt_BR/smartdns.po @@ -0,0 +1,982 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-06-24 23:51+0000\n" +"Last-Translator: Janderson Vieira Santos \n" +"Language-Team: Portuguese (Brazil) \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 5.6-rc\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Args adicionais para servidores dns upstream" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Sinalizadores adicionais para as regras, leia a ajuda na regra do domínio " +"para obter mais informações." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "Sinalizador da regra adicional" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Args Adicionais Sobre o Servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" +"Args adicionais do servidor, consulte a descrição de ajuda da opção de " +"vinculação." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Configurações avançadas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Tentativas de servir respostas antigas do cache com um TTL de 0 na resposta " +"sem esperar o término da resolução real." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Definir o Dnsmasq automaticamente" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" +"Definido automaticamente como upstream do dnsmasq quando a porta se alterar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Vincular dispositivo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Nome do dispositivo vinculado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Bloquear domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Bloquear domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Cache persistente" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Tamanho do Cache" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Coletando dados ..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" +"Configure as listas negras dos IP que serão filtradas a partir dos " +"resultados de um servidor DNS específico." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "Configure a lista de bloqueio dos domínios." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "Configurar a lista das regras do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "Configurar a lista de encaminhamento dos nomes do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Configurações Personalizadas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "Configuração do bloco do DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "Configuração de encaminhamento do DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "Nome do Servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "Grupo de servidores DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "O grupo a qual o servidor de DNS pertence, como escritório, casa." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "Endereço IP do Servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "Porta do Servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "Tipo do Servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "Tamanho do cache para o resultado do domínio DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "Configurações do servidor DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Descrição" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "Falha no encaminhamento do Dnsmasq para o Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "Não verifique o certificado." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "Não verifique a velocidade." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Endereço do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Lista de domínios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Arquivo da lista de domínios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Lista das regras de domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Nome da regra do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Regras do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Configurações das regras do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "TTL do domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "TTL Max. do Domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "TTL Min. do Domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "Pré-aquisição do Domínio" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Doe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "Doar para o smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Baixar os arquivos" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Baixar os arquivos de configuração" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"Faça o download dos arquivos da lista dos domínios para a regra do domínio e " +"inclua os arquivos de configuração. Atualize a página após o download para " +"entrar em vigor." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "Seleção IP com pilha dupla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Habilitar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Ativar a atualização automática" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "Ative a seleção do IP entre o IPV4 e o IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "Ativar o Servidor IPV6 do DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "Ative o TCP do servidor DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Ativar a atualização diária automática." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" +"Ative a pré-aquisição do domínio, acelera a velocidade de resposta do " +"domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "Ative ou desative o segundo servidor DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "Ative ou desative o servidor smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "Excluir o servidor DNS do grupo padrão." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "Excluir o grupo padrão" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "IP mais rápido" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Resposta mais rápida" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Nome do arquivo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Tipo do arquivo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "Filtrando o IP com um alista negra" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "Primeiro ping" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "Impor AAAA SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "Impor AAAA SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "Impor o HTTPS SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "Impor o HTTPS SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Configurações gerais" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "Gerar Coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"Gere um arquivo Coredump quando o smartdns falhar, o arquivo coredump está " +"localizado em /tmp/smartdns.xxx.core." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "Conceda acesso ao LuCI app smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "Host HTTP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "Lista negra de IPs" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "Filtragem da Lista Negra dos IPs" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "Servidor IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "Nome do conjunto de ips" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "Nome do conjunto IP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "Caso goste deste software, por favor, me pague uma xícara de café." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Incluir os arquivos de configuração
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"Incluir os outros arquivos de configuração de /etc/smartdns/conf.d ou o " +"caminho personalizado, pode ser baixado da página de download." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" +"Nome do conjunto de ips, adicionar o resultado do domínio ao ipset quando a " +"verificação da velocidade falhar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "Lista dos arquivos para download." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Ouça apenas nas interfaces indicadas." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Porta Local" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Arquivo de registro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Nível do registro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Número do registro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Tamanho do registro" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "Marcação dos pacotes" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "TTL máximo para todos os resultados do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "TTL mínimo para todos os resultados do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "Nome do NFTset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "Erro no formato do nome NFTset, formato: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "Nome do NFTset, formato: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "NÃO ESTÁ EM EXECUÇÃO" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "O nome do nome do dispositivo da escuta." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"Nome do nftset, adicionar o resultado do domínio ao nftset quando a " +"verificação de velocidade falhar, formato: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Não" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "Nome do conjunto de IP sem velocidade" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "Nome do conjunto NFT sem velocidade" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "Não verifique o certificado" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Nenhum" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "Somente o proxy socks5 suporta o servidor udp." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Defina o servidor de proxy primeiro." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Servidor de proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Configurações do servidor de proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "URL do servidor de proxy, formato: [socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Erro no formato da URL do servidor de proxy, formato: [socks5|http]://user:" +"pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" +"Consulta o DNS através de um grupo específico de servidores dns, como " +"office, casa." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "EM EXECUÇÃO" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "Responda ao domínio com TTL Max" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "Responda com TTL máximo em todos os resultados do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Reportar problemas" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "Resolve os nomes dos host locais" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "Resolve os nomes dos hosts lendo o arquivo de concessão do Dnsmasq." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Modo de resposta" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Reiniciar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Reiniciar o serviço" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "Configurações do Segundo Servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "O servir expirou" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Grupo dos Servidores" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "O grupo de servidores %s não existe" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Nome do Servidor" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Defina um endereço IP específico para o domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Definir a lista das regras específicas do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "Defina um IP específico para a lista negra." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "Defina o nome do host TLS para verificar." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Definir uma marca nos pacotes." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"Defina o host HTTP utilizado para a consulta. Use este parâmetro quando o " +"host da URL do endereço for um endereço IP." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" +"Define a indicação do nome do servidor para consulta. '-' para desativar o " +"nome SNI." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Configurações" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "Ignora as Regras do Endereço" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Ignora a Cache" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Ignora a Cache." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "Ignora a Seleção da Pilha Dupla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "Ignora a Seleção da Pilha Dupla." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "Ignora a Regra Ipset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "Ignora a Regra do Servidor de Nomes" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "Ignorar a Regra do Endereço SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "Ignorar a Regra do Endereço SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "Ignorar a Verificação da Velocidade" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "Ignora as Regras do Endereço." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "Ignore as regras do ipset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "Ignora a regra do servidor de nomes." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "Servidor SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" +"O SmartDNS é um servidor DNS local de alto desempenho, é compatível com a " +"localização rápida do IP, suporta filtragem de anúncios e previne o " +"envenenamento do DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "Site oficial do SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "Porta do servidor local Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"Porta do servidor local do Smartdns, o smartdns será automaticamente " +"definido como dns principal quando a porta for 53." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"Modo de resposta Smartdns, First ping: retorna o primeiro ping do IP, " +"Fastest IP: retorna o IP mais rápido, Fastest Response: retorna o DNS com a " +"resposta mais rápida." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "Nome do servidor Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "Modo de verificação de velocidade Smartdns." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"Especifique um endereço IP para retornar para qualquer host nos domínios " +"determinados, as consultas nos domínios nunca são encaminhadas e sempre " +"respondidas de forma especificada com o endereço IP que tanto pode ser IPv4 " +"ou IPv6." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "Modo de aferição da velocidade" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "O modo de aferição da velocidade é inválido." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "Servidor TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "A porta TCP está vazia" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "Verificar o Nome do Host TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "Nome TLS SNI" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "Fixação TLS SPKI" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "O TTL para todos os resultados do domínio." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Suporte Técnico" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "Houve um erro no formato da URL, formato: http:// ou https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Atualizar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Atualizar os arquivos" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Enviar o arquivo de configuração" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Enviar o arquivo da lista dos domínios" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Enviar o arquivo da lista dos domínios para /etc/smartdns/domain-set" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" +"Enviar o arquivo da lista dos domínios ou configure o download automático na " +"página Baixar o arquivo de configuração." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Enviar o arquivo da lista dos domínios." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "Enviar o arquivo da configuração do smartdns para /etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Servidores upstream" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"Servidores upstream, suporte UDP, protocolo TCP. Configure os vários " +"servidores DNS, incluindo vários servidores DNS externos." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Usar proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "Use o proxy para se conectar ao servidor DNS upstream." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"Utilizado para verificar a validade do servidor TLS, o valor é a impressão " +"digital SPKI codificada com base64, deixando em branco para indicar que a " +"validade do TLS não será verificada." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "Grave o cache no disco ao encerrar e carregue-o na inicialização." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Sim" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "padrão" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "lista com os domínios (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "Houve um erro no formato do nome ipset, formato: [#[4|6]:]ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "abrir o website" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "Configuração do smartdns (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "configurações personalizadas do smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "tipo" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" + +#~ msgid "ip" +#~ msgstr "IP" + +#~ msgid "port" +#~ msgstr "porta" + +#~ msgid "" +#~ "DNS Server group belongs to, used with nameserver, such as office, home." +#~ msgstr "" +#~ "O grupo do Servidor DNS pertence a, usado em conjunto com o nameserver " +#~ "(nome do servidor), assim como em office, em casa." + +#~ msgid "Dnsmasq Forwared To Smartdns Failure" +#~ msgstr "Encaminhamento do Dnsmasq para Falha do Smartdns" + +#~ msgid "Sets the server name indication for query." +#~ msgstr "Define a indicação do nome do servidor para consulta." + +#~ msgid "IPV4 53 Port Redirect Failure" +#~ msgstr "Falha no Redirecionamento da Porta IPV4 53" + +#~ msgid "IPV6 53 Port Redirect Failure" +#~ msgstr "Falha no Redirecionamento da Porta IPV6 53" + +#~ msgid "Redirect" +#~ msgstr "Redirecione" + +#~ msgid "Redirect 53 port to SmartDNS" +#~ msgstr "Redirecionar a porta 53 para o SmartDNS" + +#~ msgid "Run as dnsmasq upstream server" +#~ msgstr "Executar como servidor dnsmasq upstream" + +#~ msgid "SmartDNS redirect mode" +#~ msgstr "SmartDNS, modo de redirecionamento" + +#~ msgid "none" +#~ msgstr "nenhum" diff --git a/luci-app-smartdns/po/ro/smartdns.po b/luci-app-smartdns/po/ro/smartdns.po new file mode 100644 index 000000000..c2e742432 --- /dev/null +++ b/luci-app-smartdns/po/ro/smartdns.po @@ -0,0 +1,897 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-08 01:07+0000\n" +"Last-Translator: Simona Iacob \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\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 5.4-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Args adiționali pentru serverele dns din upstream" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/ru/smartdns.po b/luci-app-smartdns/po/ru/smartdns.po new file mode 100644 index 000000000..7db685ba8 --- /dev/null +++ b/luci-app-smartdns/po/ru/smartdns.po @@ -0,0 +1,951 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-16 19:05+0000\n" +"Last-Translator: Lorekin \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\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 5.8-rc\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Дополнительные параметры для восходящих dns-серверов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Дополнительные флаги для правил, читайте справку по domain-rule для " +"получения дополнительной информации." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "Флаг дополнительного правила" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Дополнительные параметры сервера" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "Дополнительные параметры сервера см. в справочном описании опции bind." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Расширеные настройки" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Попытка обслужить старые ответы из кэша с TTL 0 в ответе, не дожидаясь " +"завершения фактического разрешения." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Автоматическая установка Dnsmasq" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" +"Автоматически устанавливается в качестве восходящего потока dnsmasq при " +"изменении порта." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Привязать устройство" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Имя связанного устройства" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Домен блокировки" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Домен блокировки." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Фиксированный объем кэша" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Размер кэша" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Сбор данных ..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" +"Настройте черные списки IP-адресов, которые будут отфильтровываться из " +"результатов работы определенного DNS-сервера." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "Настройка списка доменов блокировки." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "Настройте список правил домена." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "Настройка списка имен доменов пересылки." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Пользовательские настройки" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "Настройка блокировки DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "Настройка переадресации DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "Название сервера DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "Группа серверов DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "Группа DNS серверов принадлежит, например, офис, дом." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "Сервер DNS ip" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "Порт сервера DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "Тип сервера DNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "Размер кэша результатов DNS-домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "Настройки сервера DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Описание" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "Сбой при пересылке Dnsmasq на Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "Не проверять сертификат." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "Не проверять скорость." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Адрес домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Список доменов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Файл списка доменов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Список правил домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Название правила домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Правила домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Настройки правил домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "TTL домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "Домен макс. TTL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "Домен мин. TTL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "Предварительная загрузка домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Поддержка" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "Поддержать smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Загрузка файлов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Настройка загрузки файлов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"Загрузите файлы списка доменов для domain-rule и включите файлы " +"конфигурации, пожалуйста, обновите страницу после загрузки, чтобы они " +"вступили в силу." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "Выбор двухстекового IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Включить" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Включить автоматическое обновление" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "Включить выбор IP-адреса между IPV4 и IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "Включить DNS-сервер IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "Включить TCP DNS-сервер" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Включите ежедневное автоматическое обновление." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" +"Включите предварительную выборку домена, чтобы ускорить скорость отклика " +"домена." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "Включите или отключите второй DNS-сервер." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "Включить или отключить сервер smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "Исключить DNS-сервер из группы по умолчанию." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "Исключить группу по умолчанию" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "Самый быстрый IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Самый быстрый ответ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Имя файла" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Тип файла" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "Фильтрация IP-адресов с помощью черного списка" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "Первый пинг" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "Принудительно AAAA SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "Принудительно использовать AAAA SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "Принудительно использовать HTTPS SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "Принудительно использовать HTTPS SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Основные Настройки" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "Создание Coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"Генерирует файл Coredump при падении smartdns, файл coredump находится по " +"адресу /tmp/smartdns.xxx.core." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "Предоставьте доступ к приложению LuCI smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "HTTP-хост" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "Черный список IP-адресов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "Фильтрация черных списков IP-адресов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "Сервер IPV6" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "Название IPset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "Название IPset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" +"Если вам понравится эта программа, пожалуйста, угостите меня чашкой кофе." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Включите файлы конфигурации
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"Включите другие файлы конфигурации из /etc/smartdns/conf.d или по " +"собственному пути, их можно загрузить со страницы загрузки." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" +"Название Ipset, Добавить результат домена в ipset при неудачной проверке " +"скорости." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "Список файлов для загрузки." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Слушать только указанные интерфейсы." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Локальный порт" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Файл журнала" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Уровень журнала" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Номер журнала" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Размер журнала" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "Маркировка пакетов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "Максимальный TTL для всех результатов домена." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "Минимальный TTL для всех результатов домена." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "Название NFTset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "Ошибка формата названия NFTset, формат: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "Название NFTset, формат: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "НЕ ЗАПУЩЕН" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "Имя устройства, на котором осуществляется прослушивание." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"Название Nftset, Добавить результат домена в nftset при неудачной проверке " +"скорости, формат: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Нет" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "Имя IP-сети без ограничения скорости" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "Название NFTset без ограничения скорости" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "Отсутствие проверки сертификата" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Отсутствует" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "Только socks5 proxy поддерживает udp-сервер." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Пожалуйста, сначала установите прокси-сервер." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Прокси-сервер" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Настройки прокси-сервера" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "URL-адрес прокси-сервера, формат: [socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Ошибка формата URL-адреса прокси-сервера, формат: [socks5|http]://user:" +"pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" +"Запрос DNS через определенную группу dns-серверов, например, офис, дом." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "ЗАПУЩЕНО" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "Максимальный TTL ответа домена" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "Максимальный TTL ответа для всех результатов домена." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Сообщить об ошибках" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "Разрешение локальных имен хостов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "Разрешение локальных имен хостов путем чтения файла аренды Dnsmasq." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Режим ответа" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Перезапустить" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Перезапуск службы" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "Настройки второго сервера" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "Истекший сервис" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Группа серверов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "Группа серверов %s не существует" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Имя сервера" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Установите определенный ip-адрес домена." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Установите список правил конкретного домена." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "Установить конкретный черный список ip." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "Задайте имя хоста TLS для проверки." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Установите метку на пакетах." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"Задайте хост HTTP, используемый для запроса. Используйте этот параметр, если " +"хост адреса URL является IP-адресом." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" +"Устанавливает указание имени сервера для запроса. '-' для отключения имени " +"SNI." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Настройки" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "Правила пропуска адресов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Пропустить кэш" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Пропустить кэш." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "Пропустить выбор двойного стека" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "Пропустить выбор двойного стека." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "Пропустить правило Ipset" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "Правило пропуска сервера имен" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "Правило пропуска адреса SOA" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "Правила пропуска адреса SOA." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "Пропустить проверку скорости" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "Пропустить правила адресации." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "Пропустить правила ipset." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "Пропустить правила сервера имен." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "Сервер SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" +"SmartDNS - это локальный высокопроизводительный DNS-сервер, поддерживающий " +"поиск самого быстрого IP-адреса, поддерживающий фильтрацию рекламы и " +"предотвращающий отравление DNS." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "Официальный сайт SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "Порт локального сервера Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"Порт локального сервера Smartdns, smartdns будет автоматически установлен в " +"качестве основного dns, если порт равен 53." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"Режим ответа Smartdns, First Ping: возврат первого IP-адреса для пинга, " +"Fastest IP: возврат самого быстрого IP-адреса, Fastest Response: возврат " +"самого быстрого DNS-ответа." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "Имя сервера Smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "Режим проверки скорости Smartdns." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"Укажите IP-адрес, который будет возвращаться для любого узла в указанных " +"доменах. Запросы в доменах никогда не пересылаются и всегда отвечают на " +"указанный IP-адрес, который может быть IPv4 или IPv6." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "Режим проверки скорости" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "Режим проверки скорости недействителен." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "Сервер TCP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "TCP-порт пуст" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "Проверка имени хоста TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "Имя SNI TLS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "Закрепление TLS SPKI" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "TTL для всех результатов работы домена." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Техническая поддержка" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "Ошибка формата URL, формат: http:// или https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Обновление" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Обновление файлов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Загрузка файла конфигурации" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Загрузка файла со списком доменов" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Загрузить файл со списком доменов в /etc/smartdns/domain-set" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" +"Загрузите файл со списком доменов или настройте автоматическую загрузку на " +"странице настройки загрузки файлов." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Загрузить файл со списком доменов." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "Загрузить файл конфигурации smartdns в /etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Восходящие сервера" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"Восходящие сервера, поддерживают протокол UDP, TCP. Пожалуйста, настройте " +"несколько DNS-серверов, включая несколько зарубежных DNS-серверов." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Использовать прокси-сервер" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" +"Использовать прокси-сервер для подключения к DNS-серверу верхнего уровня." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"Используется для проверки валидности TLS-сервера. Значение представляет " +"собой закодированный в Base64 отпечаток SPKI, если оставить пустое значение, " +"то валидность TLS не проверяется." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "Запись кэша на диск при выходе и загрузка из кэша при запуске." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Да" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "по умолчанию" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "список доменов (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "Ошибка формата названия ipset, формат: [#[4|6]:]ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "открытый сайт" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "конфигурация smartdns (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "пользовательские настройки smartdns" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "тип" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" + +#~ msgid "ip" +#~ msgstr "ip" + +#~ msgid "port" +#~ msgstr "порт" diff --git a/luci-app-smartdns/po/sk/smartdns.po b/luci-app-smartdns/po/sk/smartdns.po new file mode 100644 index 000000000..fb079da70 --- /dev/null +++ b/luci-app-smartdns/po/sk/smartdns.po @@ -0,0 +1,893 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: PACKAGE VERSION\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/sv/smartdns.po b/luci-app-smartdns/po/sv/smartdns.po new file mode 100644 index 000000000..e859524f2 --- /dev/null +++ b/luci-app-smartdns/po/sv/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-17 17:11+0000\n" +"Last-Translator: Kristoffer Grundström \n" +"Language-Team: Swedish \n" +"Language: sv\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 5.8-rc\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Avancerade inställningar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Blockera domän" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Blockera domän." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Cache-storlek" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Samlar in data ..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Anpassade inställningar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Beskrivning" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Domänens adress" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Domän-lista" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Domän-regler" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "Domän-TTL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Donera" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Hämta filer" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Aktivera" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "Snabbast svar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Filnamn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Filtyp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "Första ping" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Generella inställningar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "HTTP-värd" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "IPV6-server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Lokal port" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Logg-fil" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Logg-nivå" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Logg-nummer" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Logg-storlek" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "KÖRS INTE" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Nej" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Proxy-server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "KÖRS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Rapportera buggar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Svarsläge" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Starta om" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Starta om tjänsten" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Server-namn" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Inställningar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "SmartDNS-server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "TCP-server" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Teknisk support" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Uppdatera" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Uppdatera filer" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Uppströmsservrar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Använd proxy" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Ja" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "standard" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "öppna hemsida" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "typ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" diff --git a/luci-app-smartdns/po/templates/smartdns.pot b/luci-app-smartdns/po/templates/smartdns.pot new file mode 100644 index 000000000..e8bfd42ac --- /dev/null +++ b/luci-app-smartdns/po/templates/smartdns.pot @@ -0,0 +1,885 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/tr/smartdns.po b/luci-app-smartdns/po/tr/smartdns.po new file mode 100644 index 000000000..c24ef2b1b --- /dev/null +++ b/luci-app-smartdns/po/tr/smartdns.po @@ -0,0 +1,938 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-03-31 19:54+0000\n" +"Last-Translator: Oğuz Han \n" +"Language-Team: Turkish \n" +"Language: tr\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 5.5-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Yukarı akış dns sunucuları için ek komutlar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" +"Kurallar için Ek Bayraklar, daha fazla bilgi için domain-rule hakkındaki " +"yardımı okuyun." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "Ek Kural Bayrağı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "Ek Sunucu Komutları" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "Ek sunucu komutları için bind seçeneğinin yardım açıklamasına bakın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Gelişmiş Ayarlar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" +"Gerçek çözünürlüğün bitmesini beklemeden yanıtta TTL değeri 0 olan " +"önbellekten eski yanıtları sunmaya çalışır." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "Dnsmasq'ı Otomatik Olarak Ayarla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" +"Port değiştiğinde otomatik olarak dnsmasq'ın yukarı akışı olarak ayarlanır." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "Cihazı Bağla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "Cihaz Adı Bağla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "Etki alanını engelle" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "Etki alanını engelle." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "Önbellek Kalıcılığı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "Önbellek Boyutu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "Veri toplama ..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" +"Belirli DNS sunucusunun sonuçlarından filtrelenecek IP kara listelerini " +"yapılandırın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "Engellenen etki alanı listesini yapılandırın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "Alan adı kural listesini yapılandırın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "Yönlendirme alan adı listesini yapılandırın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "Özel Ayarlar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "DNS Engelleme Ayarı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "DNS Yönlendirme Ayarı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "DNS Sunucu Adı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "DNS Sunucu grubu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "DNS Sunucusu grubunun ait olduğu yer, örneğin ofis, ev." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "DNS Sunucusu ip" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "DNS Sunucusu bağlantı noktası" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "DNS Sunucu türü" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "DNS alan adı sonuç önbellek boyutu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "DNS64 Sunucu Ayarları" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "Açıklama" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "Dnsmasq Smartdns'e Yönlendirildi Hatası" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "Sertifikayı kontrol etmeyin." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "Hızı kontrol etmeyin." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "Alan Adı Adresi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "Alan Adı Listesi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "Alan Adı Liste Dosyası" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "Alan Adı Kural Listesi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "Etki Alanı Kural Adı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "Alan Adı Kuralları" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "Alan Adı Kuralları Ayarları" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "Alan Adı TTL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "Alan Adı TTL Maks" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "Alan Adı TTL Min" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "Alan adı ön getirme" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "Bağış" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "smartdns'e bağış yapın" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "Dosyaları İndir" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "Dosyaları İndirme Ayarı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"Alan adı kuralı için alan adı listesi dosyalarını indirin ve yapılandırma " +"dosyalarını ekleyin, lütfen etkili olması için indirdikten sonra sayfayı " +"yenileyin." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "Çift yığınlı IP Seçimi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Etkinleştir" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "Otomatik Güncellemeyi Etkinleştir" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "IPV4 ve IPV6 arasında IP seçimini etkinleştirin" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "IPV6 DNS Sunucusunu Etkinleştir" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "TCP DNS Sunucusunu Etkinleştir" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "Günlük otomatik güncellemeyi etkinleştirin." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "Etki alanı ön getirmeyi etkinleştirin, etki alanı yanıt hızını artırın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "İkinci DNS sunucusunu etkinleştirin veya devre dışı bırakın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "Smartdns sunucusunu etkinleştirme veya devre dışı bırakma" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "DNS Sunucusunu varsayılan gruptan hariç tutun." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "Varsayılan Grubu Hariç Tut" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "En Hızlı IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "En Hızlı Tepki" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "Dosya Adı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "Dosya Türü" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "Kara liste ile IP filtreleme" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "İlk Ping" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "AAAA SOA'yı zorla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "AAAA SOA'yı zorla." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "HTTPS SOA'yı Zorla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "HTTPS SOA'yı zorlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "Genel Ayarlar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "Coredump Oluştur" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"Smartdns çöktüğünde Coredump dosyası oluşturun, coredump dosyası /tmp/" +"smartdns.xxx.core adresinde bulunur." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "LuCI uygulaması smartdns'e erişim izni verin" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "HTTP Ana Bilgisayarı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "IP Kara Listesi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "IP Kara Liste Filtreleme" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "IPV6 Sunucu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "IPset Adı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "IPset adı." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" +"Eğer bu yazılımı beğendiyseniz, lütfen bana bir fincan kahve ısmarlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "Yapılandırma Dosyalarını Dahil Et
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"Diğer yapılandırma dosyalarını /etc/smartdns/conf.d veya özel yoldan " +"ekleyin, indirme sayfasından indirilebilir." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" +"Ipset adı, Hız kontrolü başarısız olduğunda etki alanı sonucunu ipset'e " +"ekleyin." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "İndirilecek dosyaların listesi." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "Yalnızca belirtilen arayüzleri dinleyin." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "Yerel Bağlantı Noktası" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "Günlük Dosyası" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "Günlük Seviyesi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "Günlük Numarası" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "Günlük Boyutu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "Paketlerin İşaretlenmesi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "Tüm alan adı sonuçları için maksimum TTL." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "Tüm alan adı sonuçları için minimum TTL." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "NFTset Adı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "NFTset adı biçim hatası, biçim: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "NFTset adı, biçim: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "ÇALIŞMIYOR" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "Dinleme yapılan cihazın adı." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"Nftset adı, Hız kontrolü başarısız olduğunda etki alanı sonucunu nftset'e " +"ekleyin, biçim: [#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "Hayır" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "No Speed IPset Adı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "No Speed NFTset Adı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "Kontrol sertifikası yok" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "Hiçbiri" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "Yalnızca socks5 proxy udp sunucusunu destekler." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "Lütfen önce proxy sunucusunu ayarlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "Proxy Sunucusu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "Proxy Sunucu Ayarları" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "Proxy Sunucu URL'si, biçim: [socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" +"Proxy sunucu URL biçimi hatası, biçim: [socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "Ofis, ev gibi belirli dns sunucu grubu üzerinden DNS sorgulama." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "ÇALIŞIYOR" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "Yanıt Etki Alanı TTL Maks" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "Tüm etki alanı sonucu için maksimum TTL'yi yanıtlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "Hataları bildir" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "Yerel Ana Bilgisayar Adlarını Çözümleme" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "Dnsmasq kira dosyasını okuyarak yerel ana bilgisayar adlarını çözün." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "Tepki Modu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "Yeniden Başlat" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "Servisi Yeniden Başlat" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "İkinci Sunucu Ayarları" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "Hizmet süresi doldu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "Sunucu Grubu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "Sunucu Grubu %s mevcut değil" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "Sunucu Adı" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "Belirli alan ip adresini ayarlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "Belirli etki alanı kural listesi ayarlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "Belirli ip kara listesini ayarlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "Doğrulamak için TLS ana bilgisayar adını ayarlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "Paketler üzerindeki işareti ayarlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"Sorgu için kullanılan HTTP ana bilgisayarını ayarlayın. URL adresinin ana " +"bilgisayarı bir IP adresi olduğunda bu parametreyi kullanın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" +"Sorgu için sunucu adı göstergesini ayarlar. SNI adını devre dışı bırakmak " +"için '-'." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Ayarlar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "Adres Kurallarını Atlayın" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "Önbelleği Atla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "Önbelleği Atla." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "Çift Yığın Seçimini Atla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "Çift Yığın Seçimini Atla." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "Ipset Kuralını Atla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "Ad Sunucu Kuralını Atla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "SOA Adres Kuralını Atla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "SOA adres kurallarını atlayın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "Hız Kontrolünü Atla" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "Adres kurallarını atla." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "İpset kurallarını atla." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "İsim sunucusu kurallarını atla." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "SmartDNS Sunucusu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" +"SmartDNS yerel bir yüksek performanslı DNS sunucusudur, en hızlı IP'yi " +"bulmayı destekler, reklam filtrelemeyi destekler ve DNS zehirlenmesinden " +"kaçınmayı destekler." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "SmartDNS resmi web sitesi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "Smartdns yerel sunucu bağlantı noktası" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"Smartdns yerel sunucu portu, port 53 olduğunda smartdns otomatik olarak ana " +"dns olarak ayarlanacaktır." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"Smartdns yanıt modu, İlk Ping: ilk ping IP'sini döndürür, En Hızlı IP: en " +"hızlı IP'yi döndürür, En Hızlı Yanıt: en hızlı DNS yanıtını döndürür." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "Smartdns sunucu ismi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "Smartdns hız kontrol modu." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"Verilen etki alanlarındaki herhangi bir ana bilgisayar için döndürülecek bir " +"IP adresi belirtin, Etki alanlarındaki sorgular asla iletilmez ve her zaman " +"IPv4 veya IPv6 olabilen belirtilen IP adresiyle yanıtlanır." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "Hız Kontrol Modu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "Hız kontrol modu geçersiz." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "TCP Sunucusu" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "TCP bağlantı noktası boş" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "TLS Ana Bilgisayar Adı Doğrulama" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "TLS SNI ismi" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "TLS SPKI Sabitleme" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "Tüm alan adı sonuçları için TTL." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "Teknik Destek" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "URL biçim hatası, biçim: http:// veya https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "Güncelleme" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "Dosyaları Güncelle" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "Yapılandırma Dosyası Yükle" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "Etki Alanı Listesi Dosyasını Yükleme" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "Etki alanı listesi dosyasını /etc/smart dns/domain-set'e yükleyin" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" +"Etki alanı listesi dosyasını yükleyin veya Dosya İndirme Ayarı sayfasından " +"otomatik indirmeyi yapılandırın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "Alan listesi dosyasını yükleyin." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "smartdns yapılandırma dosyasını /etc/smartdns/conf.d dosyasına yükleyin" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "Yukarı Akış Sunucuları" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"Yukarı Akış Sunucuları, UDP, TCP protokolünü destekler. Lütfen birden fazla " +"yabancı DNS sunucusu da dahil olmak üzere birden fazla DNS sunucusu " +"yapılandırın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "Proxy Kullan" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "Yukarı akış DNS sunucusuna bağlanmak için proxy kullanın." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"TLS sunucusunun geçerliliğini doğrulamak için kullanılır, Değer Base64 kodlu " +"SPKI parmak izidir, TLS'nin geçerliliğinin doğrulanmadığını belirtmek için " +"boş bırakılır." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "Çıkışta önbelleği diske yazın ve başlangıçta yükleyin." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "Evet" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "varsayılan" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "alan adı listesi (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "ipset adı biçim hatası, biçim: [#[4|6]:]ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "web sitesi açın" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "smartdns yapılandırması (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "smartdns özel ayarlar" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "tür" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" diff --git a/luci-app-smartdns/po/uk/smartdns.po b/luci-app-smartdns/po/uk/smartdns.po new file mode 100644 index 000000000..783b2e05b --- /dev/null +++ b/luci-app-smartdns/po/uk/smartdns.po @@ -0,0 +1,897 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-17 17:11+0000\n" +"Last-Translator: Max \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\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 5.8-rc\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Додаткові аргументи для висхідних DNS-серверів" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Розширені налаштування" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "Увімкнути" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "НЕ ПРАЦЮЄ" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "ЗАПУЩЕНО" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "Налаштування" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/vi/smartdns.po b/luci-app-smartdns/po/vi/smartdns.po new file mode 100644 index 000000000..f21fccfac --- /dev/null +++ b/luci-app-smartdns/po/vi/smartdns.po @@ -0,0 +1,896 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-04-21 13:24+0000\n" +"Last-Translator: Tai Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.5-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "Các đối số bổ sung cho máy chủ dns ngược dòng" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "Cài đặt Nâng cao" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "" diff --git a/luci-app-smartdns/po/zh_Hans/smartdns.po b/luci-app-smartdns/po/zh_Hans/smartdns.po new file mode 100644 index 000000000..bfa3d9160 --- /dev/null +++ b/luci-app-smartdns/po/zh_Hans/smartdns.po @@ -0,0 +1,917 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-04-10 09:38+0000\n" +"Last-Translator: MkQtS \n" +"Language-Team: Chinese (Simplified) \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 5.5-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "额外的上游 DNS 服务器参数" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "额外的规则标识,具体参考 domain-rule 的帮助说明。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "额外规则标识" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "额外的服务器参数" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "额外的服务器参数,参考 bind 选项的帮助说明。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "高级设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "查询性能优化,有请求时尝试回应 TTL 为 0 的过期记录,以避免查询等待。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "自动设置 Dnsmasq" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "端口更改时自动设为 Dnsmasq 的上游。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "绑定到设备" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "绑定的设备名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "屏蔽域名" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "屏蔽域名。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "持久化缓存" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "缓存大小" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "正在收集数据…" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "配置需要从指定域名服务器结果过滤的 IP 黑名单。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "配置屏蔽域名列表。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "配置域名规则列表。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "配置分流域名列表。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "自定义设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "域名屏蔽设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "域名分流设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "DNS 服务器名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "服务器组" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "设置服务器组,例如 office,home。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "DNS 服务器 IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "DNS 服务器端口" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "协议类型" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "DNS 域名结果缓存大小" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "DNS64 服务器配置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "描述" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "重定向 Dnsmasq 到 SmartDNS 失败" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "不校验证书的合法性。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "禁用测速。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "域名地址" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "域名列表" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "域名列表文件" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "域名规则列表" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "域名规则名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "域名规则" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "域名规则设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "域名 TTL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "域名 TTL 最大值" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "域名 TTL 最小值" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "域名预加载" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "捐助" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "捐助 SmartDNS 项目" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "下载文件" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "下载文件设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"下载域名规则所需要的域名列表文件和 SmartDNS 配置文件,下载完成后刷新页面。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "双栈 IP 优选" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "启用" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "启用自动更新" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "允许在 IPV4 和 IPV6 地址间进行选择" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "启用 IPV6 DNS 服务器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "启用 TCP DNS 服务器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "启用每日自动更新。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "启用域名预加载,加速域名响应速度。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "是否启用第二 DNS 服务器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "启用或禁用 SmartDNS 服务" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "从 default 默认服务器组中排除。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "从默认组中排除" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "最快 IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "最快响应" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "文件名" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "文件类型" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "使用 IP 黑名单过滤" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "最快 PING" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "停用 IPV6 地址解析" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "停用 IPV6 地址解析。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "停用 HTTPS 地址解析" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "停用 HTTPS 地址解析。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "常规设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "生成 coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"当 SmartDNS 异常时生成 coredump 文件,coredump 文件在 /tmp/smartdns.xxx.core." + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "授予访问 LuCI 应用 SmartDNS 的权限" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "HTTP 主机" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "IP 黑名单" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "IP 黑名单过滤" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "IPV6 服务器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "IPset 名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "IPset 名称。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "如果本软件对你有帮助,请给作者加个蛋。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "包含配置文件
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"包含配置文件,路径为 /etc/smartdns/conf.d,或自定义配置文件路径,可以从下载页" +"配置自动下载。面配置自动下载。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "IPset 名称,当测速失败时,将查询到的结果添加到对应的 IPSet 集合中。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "下载文件列表。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "监听在指定的设备上,避免非本地网络的 DNS 查询请求。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "本地端口" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "日志文件路径" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "日志级别" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "日志数量" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "日志大小" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "数据包标记" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "所有域名的最大 TTL 值。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "所有域名的最小 TTL 值。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "NFTSet 名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "NFTSet 名称格式错误,格式:[#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "NFTSet 名称,格式:[#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "未在运行" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "绑定的设备名称。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"NFTset 名称,测速失败时,将查询到的结果添加到 NFTSet 集合中,格式: [#[4|6]:" +"[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "否" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "无速度时 IPSet 名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "无速度时 NFTSet 名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "停用证书校验" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "无" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "仅 Socks5 代理支持 UDP 服务器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "请先设置代理服务器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "代理服务器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "代理服务器设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "代理服务器地址,格式:[socks5|http]://user:pass@ip:port。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "代理服务器地址格式错误,格式:[socks5|http]://user:pass@ip:port。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "使用指定服务器组查询,比如 office, home。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "运行中" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "回应的域名 TTL 最大值" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "设置返回给客户端的域名 TTL 最大值。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "报告 BUG" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "解析本地主机名" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "读取 Dnsmasq 的租约文件解析本地主机名。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "响应模式" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "重启" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "重启服务" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "第二 DNS 服务器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "缓存过期服务" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "服务器组" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "服务器组 %s 不存在" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "服务器名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "设置指定域名的 IP 地址。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "设置指定域名的规则列表。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "设置指定的 IP 黑名单列表。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "设置校验 TLS 主机名。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "设置数据包标记。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"设置查询时使用的 HTTP 主机,当 URL 地址的 host 是 IP 地址时,使用此参数。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "设置服务器 SNI 名称,‘-’表示禁用 SNI 名称。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "设置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "跳过 Address 规则" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "跳过 Cache" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "跳过 Cache。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "跳过双栈优选" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "跳过双栈优选。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "跳过 IPset 规则" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "跳过 Nameserver 规则" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "跳过 Address SOA(#) 规则" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "跳过 Address SOA(#) 规则。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "跳过测速" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "跳过 Address 规则。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "跳过 IPset 规则。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "跳过 Nameserver 规则。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "SmartDNS 服务器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "SmartDNS 是一个本地高性能 DNS 服务器,支持返回最快 IP,支持广告过滤。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "SmartDNS 官方网站" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "SmartDNS 本地服务端口" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"SmartDNS 本地服务端口,当端口号设置为 53 时,SmartDNS 将会自动配置为主 DNS。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"SmartDNS 响应模式,最快 PING: 返回最早有 Ping 结果的 IP,速度适中;最快 " +"IP: 返回最快 IP,查询请求可能延长; 最快响应:返回最快响应的结果,查询请求时" +"间短。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "SmartDNS 的服务器名称,默认为 smartdns,留空为主机名" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "SmartDNS 测速模式。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"配置特定域名返回特定的 IP 地址,域名查询将不到上游服务器请求,直接返回配置的 " +"IP 地址,可用于广告屏蔽。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "测速模式" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "测速模式无效。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "TCP 服务器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "TCP 端口号为空" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "校验 TLS 主机名" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "TLS SNI 名称" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "TLS SPKI 指纹" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "设置所有域名的 TTL 值。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "技术支持" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "URL 格式错误,格式:http:// 或 https://" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "更新" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "更新文件" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "上传配置文件" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "上传域名列表文件" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "上传域名列表文件到 /etc/smartdns/domain-set" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "上传域名列表文件,或在下载文件设置页面设置自动下载。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "上传域名列表文件。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "上传配置文件到 /etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "上游服务器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"上游 DNS 服务器,支持 UDP,TCP 协议。请配置多个上游 DNS 服务器,包括多个国内" +"外服务器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "使用代理" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "使用代理连接上游 DNS 服务器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"用于校验 TLS 服务器的有效性,数值为 Base64 编码的 SPKI 指纹,留空表示不验证 " +"TLS 的合法性。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "退出时保存 Cache 到磁盘,启动时加载。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "是" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "默认" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "域名列表(/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "IPset 名称格式错误,格式:[#[4|6]:]ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "打开网站" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "SmartDNS 配置文件(/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "SmartDNS 自定义设置,具体配置参数参考指导" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "类型" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" + +#~ msgid "ip" +#~ msgstr "ip" + +#~ msgid "port" +#~ msgstr "端口" diff --git a/luci-app-smartdns/po/zh_Hant/smartdns.po b/luci-app-smartdns/po/zh_Hant/smartdns.po new file mode 100644 index 000000000..3692dba2e --- /dev/null +++ b/luci-app-smartdns/po/zh_Hant/smartdns.po @@ -0,0 +1,950 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-01-05 04:02+0000\n" +"Last-Translator: Yuan Law \n" +"Language-Team: Chinese (Traditional) \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 5.4-dev\n" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:792 +msgid "Additional Args for upstream dns servers" +msgstr "額外的上游 DNS 伺服器參數" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:886 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1090 +msgid "" +"Additional Flags for rules, read help on domain-rule for more information." +msgstr "關於其他延伸的 Flags,請查閱 domain-rule 的說明文件。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:885 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1089 +msgid "Additional Rule Flag" +msgstr "額外規則標識" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:346 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:479 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:791 +msgid "Additional Server Args" +msgstr "額外的伺服器參數" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:347 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:480 +msgid "" +"Additional server args, refer to the help description of the bind option." +msgstr "額外的伺服器參數,參考 bind 選項的說明文件。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:132 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:639 +msgid "Advanced Settings" +msgstr "進階設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:253 +msgid "" +"Attempts to serve old responses from cache with a TTL of 0 in the response " +"without waiting for the actual resolution to finish." +msgstr "查詢性能優化,有請求時嘗試回應 TTL 為 0 的過期記錄,以避免查詢等待。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically Set Dnsmasq" +msgstr "自動設定 Dnsmasq" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:161 +msgid "Automatically set as upstream of dnsmasq when port changes." +msgstr "通訊埠更改時自動設為 dnsmasq 的上游。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Bind Device" +msgstr "繫結到裝置" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Bind Device Name" +msgstr "繫結的裝置名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain" +msgstr "封鎖網域" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:998 +msgid "Block domain." +msgstr "封鎖網域。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Cache Persist" +msgstr "持久化快取" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "Cache Size" +msgstr "快取大小" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:121 +msgid "Collecting data ..." +msgstr "資料採集中..." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1100 +msgid "" +"Configure IP blacklists that will be filtered from the results of specific " +"DNS server." +msgstr "配置需要从指定網域伺服器結果過濾的 IP 黑名單。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Configure block domain list." +msgstr "設定封鎖網域清單。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:950 +msgid "Configure domain rule list." +msgstr "設定網域規則清單。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +msgid "Configure forwarding domain name list." +msgstr "設定分流網域清單。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:137 +msgid "Custom Settings" +msgstr "自訂設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:805 +msgid "DNS Block Setting" +msgstr "網域封鎖設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:804 +msgid "DNS Forwarding Setting" +msgstr "網域分流設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:648 +msgid "DNS Server Name" +msgstr "DNS 伺服器名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:675 +msgid "DNS Server group" +msgstr "伺服器群組" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "DNS Server group belongs to, such as office, home." +msgstr "設定伺服器群組,例如 office、home。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:651 +msgid "DNS Server ip" +msgstr "DNS 伺服器 IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:656 +msgid "DNS Server port" +msgstr "DNS 伺服器通訊埠" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:665 +msgid "DNS Server type" +msgstr "協定類型" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:258 +msgid "DNS domain result cache size" +msgstr "快取 DNS 的結果,快取大小,設定零則不快取" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:487 +msgid "DNS64" +msgstr "DNS64" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:134 +msgid "DNS64 Server Settings" +msgstr "DNS64 伺服器設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:560 +msgid "Description" +msgstr "描述" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:76 +msgid "Dnsmasq Forwarded To Smartdns Failure" +msgstr "重新導向 dnsmasq 到 smartdns 失敗" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:719 +msgid "Do not check certificate." +msgstr "不校驗憑證的合法性。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:397 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:838 +msgid "Do not check speed." +msgstr "停用測速。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Domain Address" +msgstr "網域位址" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:900 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:929 +msgid "Domain List" +msgstr "網域清單" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:891 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:991 +msgid "Domain List File" +msgstr "網域清單檔案" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:949 +msgid "Domain Rule List" +msgstr "網域規則清單" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:965 +msgid "Domain Rule Name" +msgstr "網域規則名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules" +msgstr "網域規則" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:800 +msgid "Domain Rules Settings" +msgstr "網域規則設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "Domain TTL" +msgstr "網域 TTL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:336 +msgid "Domain TTL Max" +msgstr "網域 TTL 最大值" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:328 +msgid "Domain TTL Min" +msgstr "網域 TTL 最小值" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:246 +msgid "Domain prefetch" +msgstr "網域預加載" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1159 +msgid "Donate" +msgstr "捐贈" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1158 +msgid "Donate to smartdns" +msgstr "捐贈 smartdns 項目" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:526 +msgid "Download Files" +msgstr "下載檔案" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "Download Files Setting" +msgstr "下載檔案設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:135 +msgid "" +"Download domain list files for domain-rule and include config files, please " +"refresh the page after download to take effect." +msgstr "" +"下載網域規則所需要的網域清單檔案和 smartdns 設定檔案,下載完成後更新頁面。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:240 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1007 +msgid "Dual-stack IP Selection" +msgstr "雙棧 IP 優選" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:371 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:642 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:959 +msgid "Enable" +msgstr "啟用" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable Auto Update" +msgstr "啟用自動更新" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:241 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1008 +msgid "Enable IP selection between IPV4 and IPV6" +msgstr "啟用 IPV4 和 IPV6 間的 IP 優選策略" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "Enable IPV6 DNS Server" +msgstr "啟用 IPV6 DNS 伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "Enable TCP DNS Server" +msgstr "啟用 TCP DNS 伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:495 +msgid "Enable daily auto update." +msgstr "啟用每日自動更新。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:247 +msgid "Enable domain prefetch, accelerate domain response speed." +msgstr "啟用網域預載入,加速網域回應速度。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:372 +msgid "Enable or disable second DNS server." +msgstr "是否啟用第二 DNS 伺服器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:142 +msgid "Enable or disable smartdns server" +msgstr "啟用或停用 SmartDNS 服務" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude DNS Server from default group." +msgstr "從 default 預設伺服器群組中排除。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:694 +msgid "Exclude Default Group" +msgstr "從預設群組中排除" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:215 +msgid "Fastest IP" +msgstr "最快 IP" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:216 +msgid "Fastest Response" +msgstr "最快回應" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:535 +msgid "File Name" +msgstr "檔案名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "File Type" +msgstr "檔案類型" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:702 +msgid "Filtering IP with blacklist" +msgstr "使用 IP 黑名單過濾" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:214 +msgid "First Ping" +msgstr "最快 PING" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA" +msgstr "停用 IPV6 位址解析" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:272 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:436 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:842 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1056 +msgid "Force AAAA SOA." +msgstr "停用 IPV6 位址解析。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA" +msgstr "停用 HTTPS 位址解析" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:277 +msgid "Force HTTPS SOA." +msgstr "停用 HTTPS 位址解析。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:131 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:638 +msgid "General Settings" +msgstr "一般設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:599 +msgid "Generate Coredump" +msgstr "產生 coredump" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:600 +msgid "" +"Generate Coredump file when smartdns crash, coredump file is located at /tmp/" +"smartdns.xxx.core." +msgstr "" +"當 smartdns 異常時產生 coredump 檔案,coredump 檔案在 /tmp/smartdns.xxx." +"core。" + +#: applications/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json:3 +msgid "Grant access to LuCI app smartdns" +msgstr "授予存取 LuCI 應用 smartdns 的權限" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:737 +msgid "HTTP Host" +msgstr "HTTP 主機" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "IP Blacklist" +msgstr "IP 黑名單" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:701 +msgid "IP Blacklist Filtering" +msgstr "IP 黑名單過濾" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:224 +msgid "IPV6 Server" +msgstr "IPV6 伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset Name" +msgstr "IPset 名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:440 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:846 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1062 +msgid "IPset name." +msgstr "IPset 名稱。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1138 +msgid "If you like this software, please buy me a cup of coffee." +msgstr "如果本軟體對您有幫助,請給作者加個蛋。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:353 +msgid "Include Config Files
/etc/smartdns/conf.d" +msgstr "包含設定檔案
/etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:354 +msgid "" +"Include other config files from /etc/smartdns/conf.d or custom path, can be " +"downloaded from the download page." +msgstr "" +"包含設定檔案,路徑為 /etc/smartdns/conf.d,或自訂設定檔案路徑,可以從下載頁設" +"定自動下載。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:283 +msgid "Ipset name, Add domain result to ipset when speed check fails." +msgstr "IPset 名稱,當測速失敗時,將查詢到的結果加入到對應的 IPSet 集合中。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:527 +msgid "List of files to download." +msgstr "下載檔案清單。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:229 +msgid "Listen only on the specified interfaces." +msgstr "監聽在指定的裝置上,避免非本地網路的 DNS 查詢請求。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:153 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Local Port" +msgstr "本地通訊埠" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:624 +msgid "Log File" +msgstr "日誌檔案路徑" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:608 +msgid "Log Level" +msgstr "日誌級別" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:620 +msgid "Log Number" +msgstr "日誌數量" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:604 +msgid "Log Size" +msgstr "日誌大小" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:757 +msgid "Marking Packets" +msgstr "資料封包標記" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:337 +msgid "Maximum TTL for all domain result." +msgstr "所有網域的最大 TTL 值。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:329 +msgid "Minimum TTL for all domain result." +msgstr "所有網域的最小 TTL 值。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset Name" +msgstr "NFTSet 名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:316 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:471 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:877 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1081 +msgid "NFTset name format error, format: [#[4|6]:[family#table#set]]" +msgstr "NFTSet 名稱格式錯誤,格式:[#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:459 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:865 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1068 +msgid "NFTset name, format: [#[4|6]:[family#table#set]]" +msgstr "NFTSet 名稱,格式:[#[4|6]:[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:66 +msgid "NOT RUNNING" +msgstr "未執行" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:234 +msgid "Name of device name listen on." +msgstr "繫結的裝置名稱。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:304 +msgid "" +"Nftset name, Add domain result to nftset when speed check fails, format: " +"[#[4|6]:[family#table#set]]" +msgstr "" +"NFTset 名稱,測速失敗時,將查詢到的結果加入到 NFTSet 集合中,格式:[#[4|6]:" +"[family#table#set]]" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1014 +msgid "No" +msgstr "否" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:282 +msgid "No Speed IPset Name" +msgstr "無速度時 IPSet 名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:303 +msgid "No Speed NFTset Name" +msgstr "無速度時 NFTSet 名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:718 +msgid "No check certificate" +msgstr "停用憑證校驗" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:177 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1000 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1025 +msgid "None" +msgstr "無" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:784 +msgid "Only socks5 proxy support udp server." +msgstr "僅 SOCKS5 代理支援 UDP 伺服器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:780 +msgid "Please set proxy server first." +msgstr "請先設定代理伺服器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server" +msgstr "代理伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:136 +msgid "Proxy Server Settings" +msgstr "代理伺服器設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:567 +msgid "Proxy Server URL, format: [socks5|http]://user:pass@ip:port." +msgstr "代理伺服器位址,格式:[socks5|http]://user:pass@ip:port." + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:575 +msgid "" +"Proxy server URL format error, format: [socks5|http]://user:pass@ip:port." +msgstr "代理伺服器位址格式錯誤,格式:[socks5|http]://user:pass@ip:port。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:390 +msgid "Query DNS through specific dns server group, such as office, home." +msgstr "使用指定伺服器組查詢,比如office, home。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:64 +msgid "RUNNING" +msgstr "執行中" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:341 +msgid "Reply Domain TTL Max" +msgstr "回應的網域 TTL 最大值" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:342 +msgid "Reply maximum TTL for all domain result." +msgstr "設定返回給客戶端的網域 TTL 最大值。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1150 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1151 +msgid "Report bugs" +msgstr "報告 BUG" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve Local Hostnames" +msgstr "解析本地主機名" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:267 +msgid "Resolve local hostnames by reading Dnsmasq lease file." +msgstr "讀取 Dnsmasq 的租約文檔解析本地主機名。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:209 +msgid "Response Mode" +msgstr "回應模式" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1174 +msgid "Restart" +msgstr "重啟" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1165 +msgid "Restart Service" +msgstr "重啟服務" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:133 +msgid "Second Server Settings" +msgstr "第二 DNS 伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:252 +msgid "Serve expired" +msgstr "快取過期服務" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:389 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:813 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:967 +msgid "Server Group" +msgstr "伺服器群組" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:833 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:987 +msgid "Server Group %s not exists" +msgstr "伺服器群組 %s 不存在" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Server Name" +msgstr "伺服器名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:807 +msgid "Set Specific domain ip address." +msgstr "設定指定網域的 IP 位址。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:806 +msgid "Set Specific domain rule list." +msgstr "設定指定網域的規則清單。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:808 +msgid "Set Specific ip blacklist." +msgstr "設定指定的 IP 黑名單列表。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:709 +msgid "Set TLS hostname to verify." +msgstr "設定校驗 TLS 主機名。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:758 +msgid "Set mark on packets." +msgstr "設定資料封包標記。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:738 +msgid "" +"Set the HTTP host used for the query. Use this parameter when the host of " +"the URL address is an IP address." +msgstr "" +"設定查詢時使用的 HTTP 主機,當 URL 位址的 host 是 IP 位址時,使用此參數。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:728 +msgid "Sets the server name indication for query. '-' for disable SNI name." +msgstr "設定伺服器 SNI 名稱,「-」表示停用 SNI 名稱。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:128 +msgid "Settings" +msgstr "設定" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:402 +msgid "Skip Address Rules" +msgstr "略過 address 規則" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache" +msgstr "略過 cache" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:431 +msgid "Skip Cache." +msgstr "略過 cache。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:425 +msgid "Skip Dualstack Selection" +msgstr "略過雙栈優選" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:426 +msgid "Skip Dualstack Selection." +msgstr "略過雙栈優選。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:414 +msgid "Skip Ipset Rule" +msgstr "略過 ipset 規則" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:408 +msgid "Skip Nameserver Rule" +msgstr "略過 Nameserver 規則" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:420 +msgid "Skip SOA Address Rule" +msgstr "略過 address SOA(#) 規則" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:421 +msgid "Skip SOA address rules." +msgstr "略過 address SOA(#) 規則。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:396 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:837 +msgid "Skip Speed Check" +msgstr "略過測速" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:403 +msgid "Skip address rules." +msgstr "略過 address 規則。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:415 +msgid "Skip ipset rules." +msgstr "略過 ipset 規則。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:409 +msgid "Skip nameserver rules." +msgstr "略過 Nameserver 規則。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:95 +#: applications/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json:3 +msgid "SmartDNS" +msgstr "SmartDNS" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:96 +msgid "SmartDNS Server" +msgstr "SmartDNS 伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:97 +msgid "" +"SmartDNS is a local high-performance DNS server, supports finding fastest " +"IP, supports ad filtering, and supports avoiding DNS poisoning." +msgstr "SmartDNS 是一個本地高效能 DNS 伺服器,支援返回最快 IP,支援廣告過濾。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1142 +msgid "SmartDNS official website" +msgstr "SmartDNS 官方網站" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:377 +msgid "Smartdns local server port" +msgstr "SmartDNS 本地服務通訊埠" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:154 +msgid "" +"Smartdns local server port, smartdns will be automatically set as main dns " +"when the port is 53." +msgstr "" +"SmartDNS 本地服務連接埠,當連接埠號設定為 53 時,SmartDNS 將會自動設定為主 " +"DNS。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:210 +msgid "" +"Smartdns response mode, First Ping: return the first ping IP, Fastest IP: " +"return the fastest IP, Fastest Response: return the fastest DNS response." +msgstr "" +"SmartDNS 回應模式,最快 PING: 返回最早有 ping 結果的 IP,速度適中;最快 " +"IP: 返回最快 IP,查詢請求可能延長; 最快回應:返回最快回應的結果,查詢請求時" +"間短。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:147 +msgid "Smartdns server name" +msgstr "SmartDNS 的伺服器名稱,默认為 smartdns,留空為主機名" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Smartdns speed check mode." +msgstr "SmartDNS 測速模式。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1119 +msgid "" +"Specify an IP address to return for any host in the given domains, Queries " +"in the domains are never forwarded and always replied to with the specified " +"IP address which may be IPv4 or IPv6." +msgstr "" +"設定特定網域返回特定的 IP 位址,網域查詢將不到上游伺服器請求,直接返回設定的 " +"IP 位址,可用於廣告封鎖。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:169 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1016 +msgid "Speed Check Mode" +msgstr "測速模式" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:202 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1050 +msgid "Speed check mode is invalid." +msgstr "無法使用 Speed check mode。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:219 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:384 +msgid "TCP Server" +msgstr "TCP 伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:196 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1044 +msgid "TCP port is empty" +msgstr "請輸入 TCP 埠號" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:708 +msgid "TLS Hostname Verify" +msgstr "校驗 TLS 主機名" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:727 +msgid "TLS SNI name" +msgstr "TLS SNI 名稱" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:746 +msgid "TLS SPKI Pinning" +msgstr "TLS SPKI 指紋" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:324 +msgid "TTL for all domain result." +msgstr "設定所有網域的 TTL 值。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1137 +msgid "Technical Support" +msgstr "技術支援" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:539 +msgid "URL" +msgstr "URL" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:548 +msgid "URL format error, format: http:// or https://" +msgstr "網址錯誤,正確格式為 http:// 或 https:// 開頭" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:523 +msgid "Update" +msgstr "更新" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:514 +msgid "Update Files" +msgstr "更新檔案" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:500 +msgid "Upload Config File" +msgstr "上傳設定檔" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:507 +msgid "Upload Domain List File" +msgstr "上傳網域清單檔案" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:508 +msgid "Upload domain list file to /etc/smartdns/domain-set" +msgstr "上傳網域清單檔案到 /etc/smartdns/domain-set" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:892 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:992 +msgid "" +"Upload domain list file, or configure auto download from Download File " +"Setting page." +msgstr "上傳網域清單檔案,或在下載檔案設定頁面設定自動下載。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:921 +msgid "Upload domain list file." +msgstr "上傳網域清單檔案。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:501 +msgid "Upload smartdns config file to /etc/smartdns/conf.d" +msgstr "上傳設定檔案到 /etc/smartdns/conf.d" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:631 +msgid "Upstream Servers" +msgstr "上游伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:632 +msgid "" +"Upstream Servers, support UDP, TCP protocol. Please configure multiple DNS " +"servers, including multiple foreign DNS servers." +msgstr "" +"上游 DNS 伺服器,支援 UDP、TCP 協定。請設定多個上游 DNS 伺服器,包括多個國內" +"外伺服器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:765 +msgid "Use Proxy" +msgstr "使用代理伺服器" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:766 +msgid "Use proxy to connect to upstream DNS server." +msgstr "使用代理伺服器來連線上游 DNS 伺服器。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:747 +msgid "" +"Used to verify the validity of the TLS server, The value is Base64 encoded " +"SPKI fingerprint, leaving blank to indicate that the validity of TLS is not " +"verified." +msgstr "" +"用於校驗 TLS 伺服器的有效性,數值為 Base64 編碼的 SPKI 指紋,留空表示不驗證 " +"TLS 的合法性。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:262 +msgid "Write cache to disk on exit and load on startup." +msgstr "退出時儲存 cache 到磁碟,啟動時載入。" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1013 +msgid "Yes" +msgstr "是" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:172 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:213 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:611 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1012 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1020 +msgid "default" +msgstr "預設" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:555 +msgid "domain list (/etc/smartdns/domain-set)" +msgstr "網域清單 (/etc/smartdns/domain-set)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:670 +msgid "https" +msgstr "https" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:295 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:452 +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:858 +msgid "ipset name format error, format: [#[4|6]:]ipsetname" +msgstr "IPset 名稱格式錯誤,格式:[#[4|6]:]ipsetname" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:1143 +msgid "open website" +msgstr "開啟網站" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:556 +msgid "smartdns config (/etc/smartdns/conf.d)" +msgstr "smartdns 設定檔案 (/etc/smartdns/conf.d)" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:585 +msgid "smartdns custom settings" +msgstr "smartdns 自訂設定,具體設定參數參考指導" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:668 +msgid "tcp" +msgstr "tcp" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:669 +msgid "tls" +msgstr "tls" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:554 +msgid "type" +msgstr "類型" + +#: applications/luci-app-smartdns/htdocs/luci-static/resources/view/smartdns/smartdns.js:667 +msgid "udp" +msgstr "udp" + +#~ msgid "ip" +#~ msgstr "ip" + +#~ msgid "port" +#~ msgstr "通訊埠" + +#~ msgid "" +#~ "DNS Server group belongs to, used with nameserver, such as office, home." +#~ msgstr "DNS 伺服器所屬組, 配合 nameserver 使用,例如:office,home。" + +#~ msgid "Dnsmasq Forwared To Smartdns Failure" +#~ msgstr "重定向 dnsmasq 到 smartdns 失敗" + +#~ msgid "Sets the server name indication for query." +#~ msgstr "設置查詢時使用的伺服器 SNI 名稱。" + +#~ msgid "IPV4 53 Port Redirect Failure" +#~ msgstr "IPV4 53 通訊埠重定向失敗" + +#~ msgid "IPV6 53 Port Redirect Failure" +#~ msgstr "IPV6 53 通訊埠重定向失敗" + +#~ msgid "Redirect" +#~ msgstr "重定向" + +#~ msgid "Redirect 53 port to SmartDNS" +#~ msgstr "重定向 53 通訊埠到 SmartDNS" + +#~ msgid "Run as dnsmasq upstream server" +#~ msgstr "作為 dnsmasq 的上游伺服器" + +#~ msgid "SmartDNS redirect mode" +#~ msgstr "SmartDNS 重定向模式" + +#~ msgid "none" +#~ msgstr "无" diff --git a/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json b/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json new file mode 100644 index 000000000..9c00f9f36 --- /dev/null +++ b/luci-app-smartdns/root/usr/share/luci/menu.d/luci-app-smartdns.json @@ -0,0 +1,12 @@ +{ + "admin/services/smartdns": { + "title": "SmartDNS", + "action": { + "type": "view", + "path": "smartdns/smartdns" + }, + "depends": { + "acl": [ "luci-app-smartdns" ] + } + } +} diff --git a/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json b/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json new file mode 100644 index 000000000..8c4cd0124 --- /dev/null +++ b/luci-app-smartdns/root/usr/share/rpcd/acl.d/luci-app-smartdns.json @@ -0,0 +1,22 @@ +{ + "luci-app-smartdns": { + "description": "Grant access to LuCI app smartdns", + "read": { + "file": { + "/etc/smartdns/*": [ "read" ] + }, + "ubus": { + "service": [ "list" ] + }, + "uci": [ "smartdns" ] + }, + "write": { + "file": { + "/etc/smartdns/*": [ "write" ], + "/etc/init.d/smartdns restart": [ "exec" ], + "/etc/init.d/smartdns updatefiles": [ "exec" ] + }, + "uci": [ "smartdns" ] + } + } +} diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 0900ce927..893464121 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -78,7 +78,7 @@ MY_DEPENDS := \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):umbim !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-mii !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-wdm !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net-qmi-wwan !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):kmod-usb-net-cdc-mbim !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):umbim \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-huawei-cdc-ncm !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-rndis !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-cdc-ether !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):kmod-usb-net-ipheth !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):usbmuxd !(TARGET_mvebu||TARGET_ramips||TARGET_ipq40xx||TARGET_ipq806x):libusbmuxd \ !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-proto-qmi !LINUX_5_4:wpad-mesh-openssl !LINUX_5_4:libopenssl-legacy LINUX_5_4:wpad-basic (TARGET_x86||TARGET_x86_64||TARGET_rockchip_armv8):kmod-usb-net-rtl8152 \ - !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-app-mlvpn !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):mlvpn 464xlat kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss iptraf-ng \ + !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):luci-app-mlvpn !(TARGET_mvebu||TARGET_ramips||TARGET_ipq806x):mlvpn 464xlat kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss iptraf-ng \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim luci-app-ttyd luci-mod-dashboard kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \ hwinfo (TARGET_x86||TARGET_x86_64):dmidecode kmod-bonding luci-proto-bonding luci-app-sysupgrade \ luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard kmod-crypto-lib-blake2s \ @@ -94,9 +94,10 @@ MY_DEPENDS := \ TARGET_x86_64:kmod-atlantic \ !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-burst !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-first !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-red !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):mptcp-bpf-rr !(LINUX_5_4||LINUX_6_1||TARGET_ramips||TARGET_ipq806x):bpftool-full \ !(LINUX_6_10||LINUX_6_11||LINUX_6_12):kmod-ovpn-dco-v2 lspci \ - TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware + TARGET_mediatek_filogic:kmod-mt7915-firmware TARGET_mediatek_filogic:kmod-mt7916-firmware TARGET_mediatek_filogic:kmod-mt7986-firmware TARGET_mediatek_filogic:kmod-mt7986-wo-firmware TARGET_mediatek_filogic:kmod-mt7996-firmware TARGET_mediatek_filogic:kmod-mt7996-233-firmware TARGET_mediatek_filogic:mt7988-wo-firmware TARGET_mediatek_filogic:mt7988-2p5g-phy-firmware \ + luci-app-smartdns -# !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax201 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax200 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax210 \ +# !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax201 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax200 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax210 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-ax101 \ # !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware # shadowsocks-rust-sslocal shadowsocks-rust-ssservice LINUX_5_4:shadowsocks-rust-config !LINUX_5_4:shadowsocks-rust-config-nft luci-app-shadowsocks-rust \ From dc85df4d2adbc4339a98dd54197301810e1a2fbf Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 11:04:49 +0100 Subject: [PATCH 065/199] Update cryptodev --- cryptodev-linux/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cryptodev-linux/Makefile b/cryptodev-linux/Makefile index f03cc528e..77b7fbf30 100644 --- a/cryptodev-linux/Makefile +++ b/cryptodev-linux/Makefile @@ -15,8 +15,8 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME).git -PKG_SOURCE_VERSION:=5e7121e45ff283d30097da381fd7e97c4bb61364 -PKG_VERSION:=1.13-$(PKG_SOURCE_VERSION) +PKG_SOURCE_VERSION:=277d4574c10bb8e16ab6ab3f38b8e1cb6cd6c678 +PKG_VERSION:=1.14.20241010 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING @@ -29,7 +29,6 @@ define KernelPackage/cryptodev SUBMENU:=Cryptographic API modules TITLE:=Driver for cryptographic acceleration URL:=http://cryptodev-linux.org/ - VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) DEPENDS:=+kmod-crypto-authenc +kmod-crypto-hash FILES:=$(PKG_BUILD_DIR)/cryptodev.$(LINUX_KMOD_SUFFIX) AUTOLOAD:=$(call AutoLoad,50,cryptodev) From f225e0f89819060f8a16f6dd83b6dee461a10e7a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 14:47:16 +0100 Subject: [PATCH 066/199] Fix packages version for apk compatibility --- dsvpn/Makefile | 2 +- glorytun-udp/Makefile | 4 ++-- glorytun/Makefile | 4 ++-- libmbim/Makefile | 1 + libqmi/Makefile | 2 +- luci-app-firewall/Makefile | 2 +- luci-app-shadowsocks-libev/Makefile | 1 - luci-app-shadowsocks-rust/Makefile | 3 +-- luci-theme-alpha/Makefile | 2 +- mlvpn/Makefile | 2 +- modemmanager/Makefile | 1 + shadowsocks-libev/Makefile | 2 +- simple-obfs/Makefile | 2 +- tcptraceroute/Makefile | 5 +++-- 14 files changed, 17 insertions(+), 16 deletions(-) diff --git a/dsvpn/Makefile b/dsvpn/Makefile index 8bfae704f..c025e7ad9 100644 --- a/dsvpn/Makefile +++ b/dsvpn/Makefile @@ -13,7 +13,7 @@ PKG_SOURCE_URL:=https://github.com/Ysurac/dsvpn.git #PKG_SOURCE_VERSION:=3b99d2ef6c02b2ef68b5784bec8adfdd55b29b1a PKG_SOURCE_VERSION:=4333aa705efd9c86c76809614d20dc5ebf43da7f PKG_NAME:=dsvpn -PKG_VERSION:=0.1.5-$(PKG_SOURCE_VERSION) +PKG_VERSION:=0.1.5 PKG_RELEASE:=1 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/glorytun-udp/Makefile b/glorytun-udp/Makefile index 27fa65c17..f2520df5d 100644 --- a/glorytun-udp/Makefile +++ b/glorytun-udp/Makefile @@ -12,8 +12,8 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/angt/glorytun.git PKG_SOURCE_VERSION:=32267e86a6da05b285bb3bf2b136c105dc0af4bb PKG_NAME:=glorytun-udp -PKG_VERSION:=0.3.4-$(PKG_SOURCE_VERSION) -PKG_RELEASE:=23 +PKG_VERSION:=0.3.4 +PKG_RELEASE:=24 PKG_LICENSE:=BSD-2-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/glorytun/Makefile b/glorytun/Makefile index 63a8fe52c..10297ff4d 100644 --- a/glorytun/Makefile +++ b/glorytun/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=glorytun -PKG_RELEASE:=6 +PKG_RELEASE:=7 PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=0c3b03cf0215e0896fd8e7e91be92efa77f6a2d1 PKG_SOURCE:=glorytun-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/Ysurac/glorytun.git -PKG_VERSION:=0.0.35-$(PKG_SOURCE_VERSION) +PKG_VERSION:=0.0.35 PKG_LICENSE:=BSD-2-Clause PKG_LICENSE_FILES:=LICENSE PKG_FIXUP:=autoreconf diff --git a/libmbim/Makefile b/libmbim/Makefile index 02016021c..5482a3cfb 100644 --- a/libmbim/Makefile +++ b/libmbim/Makefile @@ -8,6 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libmbim +PKG_VERSION:=1.31.6 PKG_SOURCE_VERSION:=1.31.6-dev #PKG_SOURCE_VERSION:=1866ed53c05916c66c5d52682778a6078e5221d3 PKG_RELEASE:=1 diff --git a/libqmi/Makefile b/libqmi/Makefile index fc43b9048..ca7122ad5 100644 --- a/libqmi/Makefile +++ b/libqmi/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libqmi -#PKG_SOURCE_VERSION:=1.34.0 +PKG_VERSION:=1.35.6 PKG_SOURCE_VERSION:=1.35.6-dev PKG_RELEASE:=1 diff --git a/luci-app-firewall/Makefile b/luci-app-firewall/Makefile index a9e47df9b..30a55a9b2 100644 --- a/luci-app-firewall/Makefile +++ b/luci-app-firewall/Makefile @@ -10,7 +10,7 @@ LUCI_TITLE:=Firewall and Portforwarding application LUCI_DEPENDS:=+@LINUX_5_4:firewall +@(LINUX_5_15||LINUX_6_1||LINUX_6_6||LINUX_6_7):uci-firewall PKG_LICENSE:=Apache-2.0 -PKG_VERSION:=omr-202103 +#PKG_VERSION:=omr-202103 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-app-shadowsocks-libev/Makefile b/luci-app-shadowsocks-libev/Makefile index 6a19308fb..29955e933 100644 --- a/luci-app-shadowsocks-libev/Makefile +++ b/luci-app-shadowsocks-libev/Makefile @@ -11,7 +11,6 @@ LUCI_TITLE:=LuCI Support for shadowsocks-libev LUCI_DEPENDS:=+luci-compat PKG_LICENSE:=Apache-2.0 -PKG_VERSION:=omr-202103 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-app-shadowsocks-rust/Makefile b/luci-app-shadowsocks-rust/Makefile index 2a9bc5180..1604936e6 100644 --- a/luci-app-shadowsocks-rust/Makefile +++ b/luci-app-shadowsocks-rust/Makefile @@ -1,6 +1,6 @@ # # Copyright (C) 2017 Yousong Zhou -# Copyright (C) 2019-2023 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# Copyright (C) 2019-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter # # This is free software, licensed under the Apache License, Version 2.0 . # @@ -11,7 +11,6 @@ LUCI_TITLE:=LuCI Support for shadowsocks-rust LUCI_DEPENDS:=+luci-compat PKG_LICENSE:=Apache-2.0 -PKG_VERSION:=omr-202309 include $(TOPDIR)/feeds/luci/luci.mk diff --git a/luci-theme-alpha/Makefile b/luci-theme-alpha/Makefile index 44174974a..af247d7e0 100644 --- a/luci-theme-alpha/Makefile +++ b/luci-theme-alpha/Makefile @@ -10,7 +10,7 @@ THEME_NAME:=alpha THEME_TITLE:=Alpha PKG_NAME:=luci-theme-$(THEME_NAME) -PKG_VERSION:=3.9.4-beta +PKG_VERSION:=3.9.4_beta PKG_RELEASE:=9 include $(INCLUDE_DIR)/package.mk diff --git a/mlvpn/Makefile b/mlvpn/Makefile index 455efe415..a38835c5c 100644 --- a/mlvpn/Makefile +++ b/mlvpn/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mlvpn -PKG_VERSION:=8aa1b16 +PKG_VERSION:=2.6.5.20211028 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git diff --git a/modemmanager/Makefile b/modemmanager/Makefile index dbb91f50e..d4592bd97 100644 --- a/modemmanager/Makefile +++ b/modemmanager/Makefile @@ -8,6 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager +PKG_VERSION:=1.23.12 PKG_SOURCE_VERSION:=1.23.12-dev #PKG_SOURCE_VERSION:=df8287bf6c2febd068d06f0f45194bc622118bd4 PKG_RELEASE:=21 diff --git a/shadowsocks-libev/Makefile b/shadowsocks-libev/Makefile index c52a13e7e..986cb5cc3 100644 --- a/shadowsocks-libev/Makefile +++ b/shadowsocks-libev/Makefile @@ -18,7 +18,7 @@ PKG_RELEASE:=11 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/Ysurac/shadowsocks-libev.git PKG_SOURCE_VERSION:=410950d87d8cdf8502d8f59a79dc0ff4c7677543 -PKG_VERSION:=3.3.5-$(PKG_SOURCE_VERSION) +PKG_VERSION:=3.3.5 PKG_MAINTAINER:=Ycarus (Yannick Chabanois) diff --git a/simple-obfs/Makefile b/simple-obfs/Makefile index 5c418444b..7ee9c6960 100644 --- a/simple-obfs/Makefile +++ b/simple-obfs/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=simple-obfs -PKG_VERSION:=486bebd9 +PKG_VERSION:=0.0.6 PKG_RELEASE:=3 PKG_SOURCE_PROTO:=git diff --git a/tcptraceroute/Makefile b/tcptraceroute/Makefile index 5d51e0f8f..dad0bf8ff 100644 --- a/tcptraceroute/Makefile +++ b/tcptraceroute/Makefile @@ -8,11 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tcptraceroute -PKG_VERSION:=1.5beta7 +PKG_REALVERSION:=1.5beta7 +PKG_VERSION:=1.5_beta7 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=tcptraceroute-$(PKG_VERSION) +PKG_SOURCE_VERSION:=tcptraceroute-$(PKG_REALVERSION) PKG_SOURCE_URL:=https://github.com/mct/tcptraceroute.git include $(INCLUDE_DIR)/package.mk From 7e85c4751da7f7ea82fca217ce75e831003229ee Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 14:47:31 +0100 Subject: [PATCH 067/199] Update mptcpd --- mptcpd/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mptcpd/Makefile b/mptcpd/Makefile index b33a6bd80..81157622d 100644 --- a/mptcpd/Makefile +++ b/mptcpd/Makefile @@ -10,8 +10,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mptcpd PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/multipath-tcp/mptcpd.git -PKG_SOURCE_VERSION:=d186d935fa21ef95fb1784abaeca6d0803978351 -PKG_VERSION:=0.13-$(PKG_SOURCE_VERSION) +PKG_SOURCE_VERSION:=0c36dbadb56586ad51b7945e3434c87c7f1b16f4 +PKG_VERSION:=0.13 PKG_RELEASE:=1 PKG_MAINTAINER:=Ycarus (Yannick Chabanois) From 4e08bcc1b27213b791f239d50caaf8c892a887fc Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 14:48:36 +0100 Subject: [PATCH 068/199] Remove not needed files on openmptcprouter-api package --- .../luci/menu.d/luci-app-openmptcprouter.json | 13 ------------- .../share/rpcd/acl.d/luci-app-openmptcprouter.json | 14 -------------- 2 files changed, 27 deletions(-) delete mode 100644 openmptcprouter-api/files/usr/share/luci/menu.d/luci-app-openmptcprouter.json delete mode 100644 openmptcprouter-api/files/usr/share/rpcd/acl.d/luci-app-openmptcprouter.json diff --git a/openmptcprouter-api/files/usr/share/luci/menu.d/luci-app-openmptcprouter.json b/openmptcprouter-api/files/usr/share/luci/menu.d/luci-app-openmptcprouter.json deleted file mode 100644 index eea51e8f9..000000000 --- a/openmptcprouter-api/files/usr/share/luci/menu.d/luci-app-openmptcprouter.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "admin/system/openmptcprouter": { - "title": "OpenMPTCProuter", - "order": 1, - "action": { - "type": "template", - "path": "openmptcprouter/wizard" - }, - "depends": { - "acl": [ "luci-app-openmptcprouter" ] - } - } -} diff --git a/openmptcprouter-api/files/usr/share/rpcd/acl.d/luci-app-openmptcprouter.json b/openmptcprouter-api/files/usr/share/rpcd/acl.d/luci-app-openmptcprouter.json deleted file mode 100644 index a1d3b99a3..000000000 --- a/openmptcprouter-api/files/usr/share/rpcd/acl.d/luci-app-openmptcprouter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "luci-app-openmptcprouter": { - "description": "Grant UCI access for luci-app-openmptcprouter", - "read": { - "uci": [ "*" ], - "ubus": { - "openmptcprouter": [ "*" ] - } - }, - "write": { - "uci": [ "*" ] - } - } -} \ No newline at end of file From 88863e42da1e3084d96b94fd95d57d948e65ed82 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 14:54:06 +0100 Subject: [PATCH 069/199] Remove luci-app-snmpd --- luci-app-snmpd/Makefile | 15 - luci-app-snmpd/luasrc/controller/snmpd.lua | 8 - luci-app-snmpd/luasrc/model/cbi/snmpd.lua | 141 ------- luci-app-snmpd/luasrc/view/snmpd.htm | 132 ------- luci-app-snmpd/po/de/snmpd.po | 184 --------- luci-app-snmpd/po/fr/snmpd.po | 184 --------- luci-app-snmpd/po/it/snmpd.po | 184 --------- luci-app-snmpd/po/oc/snmpd.po | 184 --------- luci-app-snmpd/po/templates/snmpd.pot | 175 --------- luci-app-snmpd/po/zh_Hans/snmpd.po | 184 --------- luci-app-snmpd/root/etc/config/snmpd | 91 ----- luci-app-snmpd/root/etc/init.d/snmpd | 349 ------------------ .../root/etc/uci-defaults/4400-snmpd | 19 - .../usr/share/luci/menu.d/luci-app-snmpd.json | 13 - .../usr/share/rpcd/acl.d/luci-app-snmpd.json | 11 - 15 files changed, 1874 deletions(-) delete mode 100644 luci-app-snmpd/Makefile delete mode 100644 luci-app-snmpd/luasrc/controller/snmpd.lua delete mode 100644 luci-app-snmpd/luasrc/model/cbi/snmpd.lua delete mode 100644 luci-app-snmpd/luasrc/view/snmpd.htm delete mode 100644 luci-app-snmpd/po/de/snmpd.po delete mode 100644 luci-app-snmpd/po/fr/snmpd.po delete mode 100644 luci-app-snmpd/po/it/snmpd.po delete mode 100644 luci-app-snmpd/po/oc/snmpd.po delete mode 100644 luci-app-snmpd/po/templates/snmpd.pot delete mode 100644 luci-app-snmpd/po/zh_Hans/snmpd.po delete mode 100644 luci-app-snmpd/root/etc/config/snmpd delete mode 100755 luci-app-snmpd/root/etc/init.d/snmpd delete mode 100755 luci-app-snmpd/root/etc/uci-defaults/4400-snmpd delete mode 100644 luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json delete mode 100644 luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json diff --git a/luci-app-snmpd/Makefile b/luci-app-snmpd/Makefile deleted file mode 100644 index 12f22abd3..000000000 --- a/luci-app-snmpd/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) -# -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=LuCI SNMPD Interface -LUCI_DEPENDS:=+snmpd +snmptrapd +snmp-utils +snmp-mibs - -PKG_LICENSE:=GPLv3 - -#include ../luci/luci.mk -include $(TOPDIR)/feeds/luci/luci.mk -# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-snmpd/luasrc/controller/snmpd.lua b/luci-app-snmpd/luasrc/controller/snmpd.lua deleted file mode 100644 index 2694da219..000000000 --- a/luci-app-snmpd/luasrc/controller/snmpd.lua +++ /dev/null @@ -1,8 +0,0 @@ -local ucic = luci.model.uci.cursor() -local dt = require "luci.cbi.datatypes" -module("luci.controller.snmpd", package.seeall) - -function index() - entry({"admin", "network", "snmpd"}, alias("admin", "network", "snmpd", "index"), _("SNMPd")) - entry({"admin", "network", "snmpd", "index"}, cbi("snmpd")) -end diff --git a/luci-app-snmpd/luasrc/model/cbi/snmpd.lua b/luci-app-snmpd/luasrc/model/cbi/snmpd.lua deleted file mode 100644 index 132b3a1d2..000000000 --- a/luci-app-snmpd/luasrc/model/cbi/snmpd.lua +++ /dev/null @@ -1,141 +0,0 @@ --- Copyright 2018 Ycarus (Yannick Chabanois) --- Licensed to the public under the Apache License 2.0. - -m = Map("snmpd", translate("SNMPd"), translate("SNMPd settings interface (Beta)")) - -s = m:section(TypedSection, "snmpd", translate("General")) -s.addremove = false - -enabled = s:option(Flag, "enabled", translate("Enabled")) -enabled.rmempty = false - -network = s:option(Value, "network", translate("Networks")) -network.template = "cbi/network_netlist" -network.widget = "checkbox" -network.rmempty = true -network.cast = "string" -network.nocreate = true - -s = m:section(TypedSection, "system", translate("System")) -s.addremove = false - -sysLocation = s:option(Value, "sysLocation", translate("Location")) -sysContact = s:option(Value, "sysContact", translate("Contact")) -sysName = s:option(Value, "sysName", translate("Name")) ---sysServices = s:option(Value, "sysServices", translate("Services")) ---sysDescr = s:option(Value, "sysDescr", translate("Description")) ---sysObjectID = s:option(Value, "sysObjectID", translate("ObjectID")) - -s = m:section(TypedSection, "com2sec", translate("com2sec security")) -s.addremove = true - -secname = s:option(ListValue, "secname", translate("Server")) -secname.optional = false -secname:value("ro",translate("Read-only")) -secname:value("rw",translate("Read-write")) - -source = s:option(Value, "source", translate("Source")) -source.datatype = "host" -source.optional = false -source.rmempty = false - -community = s:option(Value, "community", translate("Community")) -community.optional = false -community.rmempty = false - ---s = m:section(TypedSection, "com2sec6", translate("com2sec6")) ---s.addremove = true - ---secname = s:option(ListValue, "secname", translate("secname")) ---secname.optional = false ---secname:value("ro",translate("Read-only")) ---secname:value("rw",translate("Read-write")) - ---source = s:option(Value, "source", translate("Source")) ---source.datatype = "host" ---source.optional = false ---source.rmempty = false - ---community = s:option(Value, "community", translate("Community")) ---community.optional = false ---community.rmempty = false - -s = m:section(TypedSection, "group", translate("Group"), translate("Groups help define access methods")) -s.addremove = true -s.anonymous = false - -secname = s:option(ListValue, "secname", translate("secname")) -secname.optional = false -secname:value("ro",translate("Read-only")) -secname:value("rw",translate("Read-write")) - -group = s:option(Value, "group", translate("Group")) -group.optional = false -group.rmempty = false - -version = s:option(ListValue, "version", translate("version")) -version.optional = false -version:value("v1","v1") -version:value("v2c","v2c") -version:value("usm","usm") - -s = m:section(TypedSection, "access", translate("Access")) -s.addremove = true -s.anonymous = false - -group = s:option(Value, "group", translate("Group")) -group.optional = false -group.rmempty = false - -version = s:option(ListValue, "version", translate("version")) -version.optional = false -version:value("any",translate("any")) -version:value("v1","v1") -version:value("v2c","v2c") -version:value("usm","usm") - -context = s:option(ListValue, "context", translate("Context")) -context.optional = false -context:value("none","none") - -level = s:option(ListValue, "level", translate("Level")) -level.optional = false -level:value("noauth",translate("noauth")) -level:value("auth",translate("auth")) - -read = s:option(ListValue, "read", translate("Read")) -read.optional = false -read:value("all","all") -read:value("none","none") - -write = s:option(ListValue, "write", translate("Write")) -write.optional = false -write:value("all","all") -write:value("none","none") - -notify = s:option(ListValue, "notify", translate("Notify")) -notify.optional = false -notify:value("all","all") -notify:value("none","none") - ---s = m:section(TypedSection, "engineid", translate("engineid")) ---s.addremove = false ---s.anonymous = true - ---engineid = s:option(Value, "engineid", translate("engineid")) ---engineidtype = s:option(ListValue, "engineidtype", translate("engineidtype")) ---engineidtype:value("1",translate("IPv4")) ---engineidtype:value("2",translate("IPv6")) ---engineidtype:value("3",translate("MAC")) ---engineidnic = s:option(Value, "engineidnic", translate("engineidnic")) - -s = m:section(TypedSection, "exec", translate("Exec")) -s.addremove = true -s.anonymous = true - -miboid = s:option(Value, "miboid", translate("ObjectID")) -name = s:option(Value, "name", translate("Name")) -prog = s:option(Value, "prog", translate("Program")) -args = s:option(Value, "args", translate("Arguments")) - -return m diff --git a/luci-app-snmpd/luasrc/view/snmpd.htm b/luci-app-snmpd/luasrc/view/snmpd.htm deleted file mode 100644 index 74e60ca9a..000000000 --- a/luci-app-snmpd/luasrc/view/snmpd.htm +++ /dev/null @@ -1,132 +0,0 @@ -<%+header%> - - - -<% - local uci = require("luci.model.uci").cursor() - local hosts = uci:get_list("dhcp", uci:get_first("dhcp","dnsmasq"), "ipset") - local ips = uci:get_list("omr-bypass", "ips", "ip") - local dpi = uci:get_list("omr-bypass", "dpi", "proto") - local tmpfile = os.tmpname() - local dpi_available_proto = luci.util.execi("cat /proc/net/xt_ndpi/proto | awk '{print $3}' | sort -u | head -n -1") - local sys = require "luci.sys" - local ifaces = sys.net:devices() - local bypassif = uci:get("omr-bypass","defaults","ifname") or "" -%> -<% if stderr and #stderr > 0 then %>
<%=pcdata(stderr)%>
<% end %> -
-
-

<%:SNMPd%>

-
- <%:General%> -
-
- -
- checked<% end %>> -
-
-
- network -
-
-
- -
-
-
-
- -
-
-
-
- -
-
- -

<%:General%>

- -
-
-
-
-
<%:Domain, IP or network%>
-
<%:Output interface%>
-
-
-
-
-
- -
-
-
- -
-
-
-
- -
-
-
-

<%:Protocols%>

-
-
-
-
<%:Protocols%>
-
<%:Output interface%>
-
-
-
-
-<% - local allprt="""" - local protos = {} - for l in io.lines("/proc/net/xt_ndpi/proto") do - local a,b,c,d = l:match('(%w+) (%w+)') - if b ~= "2" and not string.match(b,"custom") then - table.insert(protos,b) - end - end - table.sort(protos) - for _,b in ipairs(protos) do - allprt=allprt .. ","" .. b .. """ - end -%> -
-
- -
-
-
- -
-
-
-
- -
-
-
-
- - -
- - -<%+footer%> diff --git a/luci-app-snmpd/po/de/snmpd.po b/luci-app-snmpd/po/de/snmpd.po deleted file mode 100644 index cfe49bcae..000000000 --- a/luci-app-snmpd/po/de/snmpd.po +++ /dev/null @@ -1,184 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-10-05 12:39+0000\n" -"Last-Translator: Weblate Admin \n" -"Language-Team: German \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.0.4\n" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:82 -msgid "Access" -msgstr "Zugriff" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:81 -#: luci-app-snmpd/luasrc/view/snmpd.htm:122 -msgid "Add" -msgstr "Hinzufügen" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:66 -#: luci-app-snmpd/luasrc/view/snmpd.htm:116 -msgid "All" -msgstr "alle" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:139 -msgid "Arguments" -msgstr "Parameter" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:42 -msgid "Community" -msgstr "Community" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:23 -msgid "Contact" -msgstr "Kontakt" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:97 -msgid "Context" -msgstr "Umgebung" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:54 -msgid "Domain, IP or network" -msgstr "FQDN, IP-Adresse oder CIDR-Netzmaske" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:9 -#: luci-app-snmpd/luasrc/view/snmpd.htm:24 -msgid "Enabled" -msgstr "Aktiv" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:132 -msgid "Exec" -msgstr "Ausführung" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:6 -#: luci-app-snmpd/luasrc/view/snmpd.htm:21 -#: luci-app-snmpd/luasrc/view/snmpd.htm:48 -msgid "General" -msgstr "Allgemein" - -#: luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json:3 -msgid "Grant UCI access for luci-app-snmpd" -msgstr "UCI-Zugriff für luci-app-snmpd gewähren" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:72 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:86 -msgid "Group" -msgstr "Gruppe" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -msgid "Groups help define access methods" -msgstr "Gruppen ermöglichen es, Zugriffsmethoden festzulegen" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:64 -#: luci-app-snmpd/luasrc/view/snmpd.htm:114 -msgid "Interface" -msgstr "Schnittstelle" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:101 -msgid "Level" -msgstr "Ebene" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:22 -msgid "Location" -msgstr "Ort" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:24 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:137 -msgid "Name" -msgstr "Name" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:12 -msgid "Networks" -msgstr "Netzwerke" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:116 -msgid "Notify" -msgstr "Benachrichten" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:136 -msgid "ObjectID" -msgstr "Objekt-Identifikation" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:55 -#: luci-app-snmpd/luasrc/view/snmpd.htm:90 -msgid "Output interface" -msgstr "Ausgabe-Anschluss" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:138 -msgid "Program" -msgstr "Programm" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:85 -#: luci-app-snmpd/luasrc/view/snmpd.htm:89 -msgid "Protocols" -msgstr "Protokolle" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:106 -msgid "Read" -msgstr "Lesen" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:34 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:69 -msgid "Read-only" -msgstr "Nur-Lesen" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:35 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:70 -msgid "Read-write" -msgstr "Lesen/Schreiben" - -#: luci-app-snmpd/luasrc/controller/snmpd.lua:6 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -#: luci-app-snmpd/luasrc/view/snmpd.htm:19 -#: luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json:3 -msgid "SNMPd" -msgstr "SNMPd" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -msgid "SNMPd settings interface (Beta)" -msgstr "SNMPd Einstellungen (Beta)" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:32 -msgid "Server" -msgstr "Server" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:37 -msgid "Source" -msgstr "Quelle" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:19 -msgid "System" -msgstr "System" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:111 -msgid "Write" -msgstr "Schreiben" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:92 -msgid "any" -msgstr "jede" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:104 -msgid "auth" -msgstr "Authentifizierung" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:29 -msgid "com2sec security" -msgstr "com2sec-Sicherheit" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:103 -msgid "noauth" -msgstr "noauth/offen" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:67 -msgid "secname" -msgstr "sec-Name" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:76 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:90 -msgid "version" -msgstr "Version" diff --git a/luci-app-snmpd/po/fr/snmpd.po b/luci-app-snmpd/po/fr/snmpd.po deleted file mode 100644 index 7efb48a42..000000000 --- a/luci-app-snmpd/po/fr/snmpd.po +++ /dev/null @@ -1,184 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2022-02-19 07:53+0000\n" -"Last-Translator: Weblate Admin \n" -"Language-Team: French \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.6.1\n" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:82 -msgid "Access" -msgstr "Accès" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:81 -#: luci-app-snmpd/luasrc/view/snmpd.htm:122 -msgid "Add" -msgstr "Ajouter" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:66 -#: luci-app-snmpd/luasrc/view/snmpd.htm:116 -msgid "All" -msgstr "Tout" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:139 -msgid "Arguments" -msgstr "Arguments" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:42 -msgid "Community" -msgstr "Communauté" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:23 -msgid "Contact" -msgstr "Contact" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:97 -msgid "Context" -msgstr "Contexte" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:54 -msgid "Domain, IP or network" -msgstr "Domaine, IP ou réseau" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:9 -#: luci-app-snmpd/luasrc/view/snmpd.htm:24 -msgid "Enabled" -msgstr "Activer" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:132 -msgid "Exec" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:6 -#: luci-app-snmpd/luasrc/view/snmpd.htm:21 -#: luci-app-snmpd/luasrc/view/snmpd.htm:48 -msgid "General" -msgstr "Général" - -#: luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json:3 -msgid "Grant UCI access for luci-app-snmpd" -msgstr "Accorder l'accès UCI pour luci-app-snmpd" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:72 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:86 -msgid "Group" -msgstr "Groupe" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -msgid "Groups help define access methods" -msgstr "Les groupes aident à définir les méthodes d'accès" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:64 -#: luci-app-snmpd/luasrc/view/snmpd.htm:114 -msgid "Interface" -msgstr "Interface" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:101 -msgid "Level" -msgstr "Niveau" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:22 -msgid "Location" -msgstr "Localisation" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:24 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:137 -msgid "Name" -msgstr "Nom" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:12 -msgid "Networks" -msgstr "Réseaux" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:116 -msgid "Notify" -msgstr "Notifier" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:136 -msgid "ObjectID" -msgstr "ObjectID" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:55 -#: luci-app-snmpd/luasrc/view/snmpd.htm:90 -msgid "Output interface" -msgstr "Interface de sortie" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:138 -msgid "Program" -msgstr "Programme" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:85 -#: luci-app-snmpd/luasrc/view/snmpd.htm:89 -msgid "Protocols" -msgstr "Protocoles" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:106 -msgid "Read" -msgstr "Lecture" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:34 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:69 -msgid "Read-only" -msgstr "Lecture Seule" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:35 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:70 -msgid "Read-write" -msgstr "Lecture-écriture" - -#: luci-app-snmpd/luasrc/controller/snmpd.lua:6 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -#: luci-app-snmpd/luasrc/view/snmpd.htm:19 -#: luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json:3 -msgid "SNMPd" -msgstr "SNMPd" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -msgid "SNMPd settings interface (Beta)" -msgstr "Paramètres du protocole SNMPd (Beta)" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:32 -msgid "Server" -msgstr "Serveur" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:37 -msgid "Source" -msgstr "Source" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:19 -msgid "System" -msgstr "Système" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:111 -msgid "Write" -msgstr "Ecriture" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:92 -msgid "any" -msgstr "Tout" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:104 -msgid "auth" -msgstr "Authentification" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:29 -msgid "com2sec security" -msgstr "com2sec security" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:103 -msgid "noauth" -msgstr "pas d'authentification" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:67 -msgid "secname" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:76 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:90 -msgid "version" -msgstr "version" diff --git a/luci-app-snmpd/po/it/snmpd.po b/luci-app-snmpd/po/it/snmpd.po deleted file mode 100644 index 5517296de..000000000 --- a/luci-app-snmpd/po/it/snmpd.po +++ /dev/null @@ -1,184 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2022-02-21 21:14+0000\n" -"Last-Translator: Deleted User \n" -"Language-Team: Italian \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.10.1\n" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:82 -msgid "Access" -msgstr "Accesso" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:81 -#: luci-app-snmpd/luasrc/view/snmpd.htm:122 -msgid "Add" -msgstr "Aggiungi" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:66 -#: luci-app-snmpd/luasrc/view/snmpd.htm:116 -msgid "All" -msgstr "Tutti" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:139 -msgid "Arguments" -msgstr "Parametri" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:42 -msgid "Community" -msgstr "Community" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:23 -msgid "Contact" -msgstr "Contatto" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:97 -msgid "Context" -msgstr "Contesto" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:54 -msgid "Domain, IP or network" -msgstr "Dominio, IP o rete" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:9 -#: luci-app-snmpd/luasrc/view/snmpd.htm:24 -msgid "Enabled" -msgstr "Abilitato" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:132 -msgid "Exec" -msgstr "Esegui" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:6 -#: luci-app-snmpd/luasrc/view/snmpd.htm:21 -#: luci-app-snmpd/luasrc/view/snmpd.htm:48 -msgid "General" -msgstr "Generale" - -#: luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json:3 -msgid "Grant UCI access for luci-app-snmpd" -msgstr "Concedi l'accesso UCI per luci-app-snmpd" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:72 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:86 -msgid "Group" -msgstr "Gruppo" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -msgid "Groups help define access methods" -msgstr "I gruppi aiutano a definire i metodi di accesso" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:64 -#: luci-app-snmpd/luasrc/view/snmpd.htm:114 -msgid "Interface" -msgstr "Interfaccia" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:101 -msgid "Level" -msgstr "Livello" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:22 -msgid "Location" -msgstr "Sede" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:24 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:137 -msgid "Name" -msgstr "Nome" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:12 -msgid "Networks" -msgstr "Reti" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:116 -msgid "Notify" -msgstr "Notificare" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:136 -msgid "ObjectID" -msgstr "" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:55 -#: luci-app-snmpd/luasrc/view/snmpd.htm:90 -msgid "Output interface" -msgstr "Interfaccia di output" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:138 -msgid "Program" -msgstr "Programma" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:85 -#: luci-app-snmpd/luasrc/view/snmpd.htm:89 -msgid "Protocols" -msgstr "Protocollo" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:106 -msgid "Read" -msgstr "Leggi" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:34 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:69 -msgid "Read-only" -msgstr "Sola lettura" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:35 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:70 -msgid "Read-write" -msgstr "Leggi-Scrivi" - -#: luci-app-snmpd/luasrc/controller/snmpd.lua:6 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -#: luci-app-snmpd/luasrc/view/snmpd.htm:19 -#: luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json:3 -msgid "SNMPd" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -msgid "SNMPd settings interface (Beta)" -msgstr "Interfaccia delle impostazioni SNMPd (Beta)" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:32 -msgid "Server" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:37 -msgid "Source" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:19 -msgid "System" -msgstr "Sistema" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:111 -msgid "Write" -msgstr "Scrittura" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:92 -msgid "any" -msgstr "qualsiasi" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:104 -msgid "auth" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:29 -msgid "com2sec security" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:103 -msgid "noauth" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:67 -msgid "secname" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:76 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:90 -msgid "version" -msgstr "versione" diff --git a/luci-app-snmpd/po/oc/snmpd.po b/luci-app-snmpd/po/oc/snmpd.po deleted file mode 100644 index 10292f065..000000000 --- a/luci-app-snmpd/po/oc/snmpd.po +++ /dev/null @@ -1,184 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-08-31 17:15+0000\n" -"Last-Translator: Quentin PAGÈS \n" -"Language-Team: Occitan \n" -"Language: oc\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.0.4\n" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:82 -msgid "Access" -msgstr "Accès" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:81 -#: luci-app-snmpd/luasrc/view/snmpd.htm:122 -msgid "Add" -msgstr "Ajustar" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:66 -#: luci-app-snmpd/luasrc/view/snmpd.htm:116 -msgid "All" -msgstr "Tot" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:139 -msgid "Arguments" -msgstr "Arguments" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:42 -msgid "Community" -msgstr "Comunautat" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:23 -msgid "Contact" -msgstr "Contacte" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:97 -msgid "Context" -msgstr "Contèxt" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:54 -msgid "Domain, IP or network" -msgstr "Domeni, IP o ret" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:9 -#: luci-app-snmpd/luasrc/view/snmpd.htm:24 -msgid "Enabled" -msgstr "Activat" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:132 -msgid "Exec" -msgstr "Exec" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:6 -#: luci-app-snmpd/luasrc/view/snmpd.htm:21 -#: luci-app-snmpd/luasrc/view/snmpd.htm:48 -msgid "General" -msgstr "General" - -#: luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json:3 -msgid "Grant UCI access for luci-app-snmpd" -msgstr "Acordar l'accès UCI a luci-app-snmpd" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:72 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:86 -msgid "Group" -msgstr "Grop" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -msgid "Groups help define access methods" -msgstr "Los grops ajudan a gerir los metòdes d'accès" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:64 -#: luci-app-snmpd/luasrc/view/snmpd.htm:114 -msgid "Interface" -msgstr "Interfàcia" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:101 -msgid "Level" -msgstr "Nivèl" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:22 -msgid "Location" -msgstr "Emplaçament" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:24 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:137 -msgid "Name" -msgstr "Nom" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:12 -msgid "Networks" -msgstr "Rets" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:116 -msgid "Notify" -msgstr "Notificar" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:136 -msgid "ObjectID" -msgstr "ObjectID" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:55 -#: luci-app-snmpd/luasrc/view/snmpd.htm:90 -msgid "Output interface" -msgstr "Interfàcia de sortida" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:138 -msgid "Program" -msgstr "Programa" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:85 -#: luci-app-snmpd/luasrc/view/snmpd.htm:89 -msgid "Protocols" -msgstr "Protocòls" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:106 -msgid "Read" -msgstr "Lectura" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:34 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:69 -msgid "Read-only" -msgstr "Lectura sola" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:35 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:70 -msgid "Read-write" -msgstr "Lectura-escritura" - -#: luci-app-snmpd/luasrc/controller/snmpd.lua:6 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -#: luci-app-snmpd/luasrc/view/snmpd.htm:19 -#: luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json:3 -msgid "SNMPd" -msgstr "SNMPd" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -msgid "SNMPd settings interface (Beta)" -msgstr "Interfàcia de paramètres SNMPd (Beta)" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:32 -msgid "Server" -msgstr "Servidor" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:37 -msgid "Source" -msgstr "Font" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:19 -msgid "System" -msgstr "Sistèma" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:111 -msgid "Write" -msgstr "Escritura" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:92 -msgid "any" -msgstr "Quin que siá" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:104 -msgid "auth" -msgstr "auth" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:29 -msgid "com2sec security" -msgstr "seguretat com2sec" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:103 -msgid "noauth" -msgstr "noauth" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:67 -msgid "secname" -msgstr "secname" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:76 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:90 -msgid "version" -msgstr "version" diff --git a/luci-app-snmpd/po/templates/snmpd.pot b/luci-app-snmpd/po/templates/snmpd.pot deleted file mode 100644 index 9acfaf5cb..000000000 --- a/luci-app-snmpd/po/templates/snmpd.pot +++ /dev/null @@ -1,175 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:82 -msgid "Access" -msgstr "" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:81 -#: luci-app-snmpd/luasrc/view/snmpd.htm:122 -msgid "Add" -msgstr "" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:66 -#: luci-app-snmpd/luasrc/view/snmpd.htm:116 -msgid "All" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:139 -msgid "Arguments" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:42 -msgid "Community" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:23 -msgid "Contact" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:97 -msgid "Context" -msgstr "" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:54 -msgid "Domain, IP or network" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:9 -#: luci-app-snmpd/luasrc/view/snmpd.htm:24 -msgid "Enabled" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:132 -msgid "Exec" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:6 -#: luci-app-snmpd/luasrc/view/snmpd.htm:21 -#: luci-app-snmpd/luasrc/view/snmpd.htm:48 -msgid "General" -msgstr "" - -#: luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json:3 -msgid "Grant UCI access for luci-app-snmpd" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:72 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:86 -msgid "Group" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -msgid "Groups help define access methods" -msgstr "" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:64 -#: luci-app-snmpd/luasrc/view/snmpd.htm:114 -msgid "Interface" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:101 -msgid "Level" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:22 -msgid "Location" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:24 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:137 -msgid "Name" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:12 -msgid "Networks" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:116 -msgid "Notify" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:136 -msgid "ObjectID" -msgstr "" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:55 -#: luci-app-snmpd/luasrc/view/snmpd.htm:90 -msgid "Output interface" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:138 -msgid "Program" -msgstr "" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:85 -#: luci-app-snmpd/luasrc/view/snmpd.htm:89 -msgid "Protocols" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:106 -msgid "Read" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:34 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:69 -msgid "Read-only" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:35 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:70 -msgid "Read-write" -msgstr "" - -#: luci-app-snmpd/luasrc/controller/snmpd.lua:6 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -#: luci-app-snmpd/luasrc/view/snmpd.htm:19 -#: luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json:3 -msgid "SNMPd" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -msgid "SNMPd settings interface (Beta)" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:32 -msgid "Server" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:37 -msgid "Source" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:19 -msgid "System" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:111 -msgid "Write" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:92 -msgid "any" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:104 -msgid "auth" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:29 -msgid "com2sec security" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:103 -msgid "noauth" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:67 -msgid "secname" -msgstr "" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:76 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:90 -msgid "version" -msgstr "" diff --git a/luci-app-snmpd/po/zh_Hans/snmpd.po b/luci-app-snmpd/po/zh_Hans/snmpd.po deleted file mode 100644 index 43c9d8f1d..000000000 --- a/luci-app-snmpd/po/zh_Hans/snmpd.po +++ /dev/null @@ -1,184 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2021-05-05 11:40+0000\n" -"Last-Translator: niergouge <1150108426@qq.com>\n" -"Language-Team: Chinese (Simplified) \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.6.1\n" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:82 -msgid "Access" -msgstr "访问" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:81 -#: luci-app-snmpd/luasrc/view/snmpd.htm:122 -msgid "Add" -msgstr "添加" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:66 -#: luci-app-snmpd/luasrc/view/snmpd.htm:116 -msgid "All" -msgstr "所有" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:139 -msgid "Arguments" -msgstr "理由" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:42 -msgid "Community" -msgstr "公共" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:23 -msgid "Contact" -msgstr "联系" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:97 -msgid "Context" -msgstr "语境" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:54 -msgid "Domain, IP or network" -msgstr "域,IP或网络" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:9 -#: luci-app-snmpd/luasrc/view/snmpd.htm:24 -msgid "Enabled" -msgstr "启用" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:132 -msgid "Exec" -msgstr "执行" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:6 -#: luci-app-snmpd/luasrc/view/snmpd.htm:21 -#: luci-app-snmpd/luasrc/view/snmpd.htm:48 -msgid "General" -msgstr "通用" - -#: luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json:3 -msgid "Grant UCI access for luci-app-snmpd" -msgstr "授予UCI访问luci-app-snmpd的权限" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:72 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:86 -msgid "Group" -msgstr "组" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:63 -msgid "Groups help define access methods" -msgstr "定义访问组帮助方法" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:64 -#: luci-app-snmpd/luasrc/view/snmpd.htm:114 -msgid "Interface" -msgstr "接口" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:101 -msgid "Level" -msgstr "级别" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:22 -msgid "Location" -msgstr "位置" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:24 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:137 -msgid "Name" -msgstr "名称" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:12 -msgid "Networks" -msgstr "网络" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:116 -msgid "Notify" -msgstr "通知" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:136 -msgid "ObjectID" -msgstr "对象ID" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:55 -#: luci-app-snmpd/luasrc/view/snmpd.htm:90 -msgid "Output interface" -msgstr "输出接口" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:138 -msgid "Program" -msgstr "程序" - -#: luci-app-snmpd/luasrc/view/snmpd.htm:85 -#: luci-app-snmpd/luasrc/view/snmpd.htm:89 -msgid "Protocols" -msgstr "协议" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:106 -msgid "Read" -msgstr "读取" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:34 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:69 -msgid "Read-only" -msgstr "只读" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:35 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:70 -msgid "Read-write" -msgstr "读写" - -#: luci-app-snmpd/luasrc/controller/snmpd.lua:6 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -#: luci-app-snmpd/luasrc/view/snmpd.htm:19 -#: luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json:3 -msgid "SNMPd" -msgstr "SNMPd设置" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:4 -msgid "SNMPd settings interface (Beta)" -msgstr "SNMPd设置界面(测试版)" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:32 -msgid "Server" -msgstr "服务器" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:37 -msgid "Source" -msgstr "源" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:19 -msgid "System" -msgstr "系统" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:111 -msgid "Write" -msgstr "写" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:92 -msgid "any" -msgstr "任何" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:104 -msgid "auth" -msgstr "认证" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:29 -msgid "com2sec security" -msgstr "com2sec安全" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:103 -msgid "noauth" -msgstr "无认证" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:67 -msgid "secname" -msgstr "第二名称" - -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:76 -#: luci-app-snmpd/luasrc/model/cbi/snmpd.lua:90 -msgid "version" -msgstr "版本" diff --git a/luci-app-snmpd/root/etc/config/snmpd b/luci-app-snmpd/root/etc/config/snmpd deleted file mode 100644 index 09a89474f..000000000 --- a/luci-app-snmpd/root/etc/config/snmpd +++ /dev/null @@ -1,91 +0,0 @@ - -config agent - option agentaddress 'UDP:161,UDP6:161' - -config agentx - option agentxsocket '/var/run/agentx.sock' - -config com2sec 'public' - option secname 'ro' - option source 'default' - option community 'public' - -config com2sec 'private' - option secname 'rw' - option source 'localhost' - option community 'private' - -config group 'public_v1' - option group 'public' - option version 'v1' - option secname 'ro' - -config group 'public_v2c' - option group 'public' - option version 'v2c' - option secname 'ro' - -config group 'public_usm' - option group 'public' - option version 'usm' - option secname 'ro' - -config group 'private_v1' - option group 'private' - option version 'v1' - option secname 'rw' - -config group 'private_v2c' - option group 'private' - option version 'v2c' - option secname 'rw' - -config group 'private_usm' - option group 'private' - option version 'usm' - option secname 'rw' - -config view 'all' - option viewname 'all' - option type 'included' - option oid '.1' - -config access 'public_access' - option group 'public' - option context 'none' - option version 'any' - option level 'noauth' - option prefix 'exact' - option read 'all' - option write 'none' - option notify 'none' - -config access 'private_access' - option group 'private' - option context 'none' - option version 'any' - option level 'noauth' - option prefix 'exact' - option read 'all' - option write 'all' - option notify 'all' - -config system - option sysLocation 'office' - option sysContact 'bofh@example.com' - option sysName 'OpenMPTCProuter' - -config exec - option name 'filedescriptors' - option prog '/bin/cat' - option args '/proc/sys/fs/file-nr' - -config engineid - option engineidtype '3' - option engineidnic 'eth0' - -config snmpd 'general' - list network 'lan' - option enabled '0' - option ipv6cpipv4 '1' - diff --git a/luci-app-snmpd/root/etc/init.d/snmpd b/luci-app-snmpd/root/etc/init.d/snmpd deleted file mode 100755 index 39fc71445..000000000 --- a/luci-app-snmpd/root/etc/init.d/snmpd +++ /dev/null @@ -1,349 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2008 OpenWrt.org -START=50 - -USE_PROCD=1 -PROG="/usr/sbin/snmpd" - -CONFIGFILE="/var/run/snmpd.conf" - -snmpd_agent_add() { - local cfg="$1" - - config_get agentaddress "$cfg" agentaddress - [ -n "$agentaddress" ] || return 0 - echo "agentaddress $agentaddress" >> $CONFIGFILE -} - -snmpd_agentx_add() { - local cfg="$1" - echo "master agentx" >> $CONFIGFILE - config_get agentxsocket "$cfg" agentxsocket - [ -n "$agentxsocket" ] && echo "agentXSocket $agentxsocket" >> $CONFIGFILE -} - -snmpd_system_add() { - local cfg="$1" - config_get syslocation "$cfg" sysLocation - [ -n "$syslocation" ] && echo "sysLocation $syslocation" >> $CONFIGFILE - config_get syscontact "$cfg" sysContact - [ -n "$syscontact" ] && echo "sysContact $syscontact" >> $CONFIGFILE - config_get sysname "$cfg" sysName - [ -n "$sysname" ] && echo "sysName $sysname" >> $CONFIGFILE - config_get sysservice "$cfg" sysService - [ -n "$sysservice" ] && echo "sysService $sysservice" >> $CONFIGFILE - config_get sysdescr "$cfg" sysDescr - [ -n "$sysdescr" ] && echo "sysDescr $sysdescr" >> $CONFIGFILE - config_get sysobjectid "$cfg" sysObjectID - [ -n "$sysobjectid" ] && echo "sysObjectID $sysobjectid" >> $CONFIGFILE -} - -snmpd_com2sec_add() { - local cfg="$1" - config_get secname "$cfg" secname - [ -n "$secname" ] || return 0 - config_get source "$cfg" source - [ -n "$source" ] || return 0 - config_get community "$cfg" community - [ -n "$community" ] || return 0 - echo "com2sec $secname $source $community" >> $CONFIGFILE -} - -snmpd_com2sec6_add() { - local cfg="$1" - config_get secname "$cfg" secname - [ -n "$secname" ] || return 0 - config_get source "$cfg" source - [ -n "$source" ] || return 0 - config_get community "$cfg" community - [ -n "$community" ] || return 0 - echo "com2sec6 $secname $source $community" >> $CONFIGFILE -} - -snmpd_group_add() { - local cfg="$1" - config_get group "$cfg" group - [ -n "$group" ] || return 0 - config_get version "$cfg" version - [ -n "$version" ] || return 0 - config_get secname "$cfg" secname - [ -n "$secname" ] || return 0 - echo "group $group $version $secname" >> $CONFIGFILE -} - -snmpd_view_add() { - local cfg="$1" - config_get viewname "$cfg" viewname - [ -n "$viewname" ] || return 0 - config_get type "$cfg" type - [ -n "$type" ] || return 0 - config_get oid "$cfg" oid - [ -n "$oid" ] || return 0 - # optional mask - config_get mask "$cfg" mask - echo "view $viewname $type $oid $mask" >> $CONFIGFILE -} - -snmpd_access_add() { - local cfg="$1" - config_get group "$cfg" group - [ -n "$group" ] || return 0 - config_get context "$cfg" context - [ -n $context ] || return 0 - [ "$context" == "none" ] && context='""' - config_get version "$cfg" version - [ -n "$version" ] || return 0 - config_get level "$cfg" level - [ -n "$level" ] || return 0 - config_get prefix "$cfg" prefix - [ -n "$prefix" ] || return 0 - config_get read "$cfg" read - [ -n "$read" ] || return 0 - config_get write "$cfg" write - [ -n "$write" ] || return 0 - config_get notify "$cfg" notify - [ -n "$notify" ] || return 0 - echo "access $group $context $version $level $prefix $read $write $notify" >> $CONFIGFILE -} - -snmpd_trap_hostname_add() { - local cfg="$1" - config_get hostname "$cfg" HostName - config_get port "$cfg" Port - config_get community "$cfg" Community - config_get type "$cfg" Type - echo "$type $hostname $community $port" >> $CONFIGFILE -} - -snmpd_trap_ip_add() { - local cfg="$1" - config_get host_ip "$cfg" HostIP - config_get port "$cfg" Port - config_get community "$cfg" Community - config_get type "$cfg" Type - echo "$type $host_ip $community $port" >> $CONFIGFILE -} - -snmpd_access_default_add() { - local cfg="$1" - config_get mode "$cfg" Mode - config_get community "$cfg" CommunityName - config_get oidrestrict "$cfg" RestrictOID - config_get oid "$cfg" RestrictedOID - echo -n "$mode $community default" >> $CONFIGFILE - [ "$oidrestrict" == "yes" ] && echo " $oid" >> $CONFIGFILE - [ "$oidrestrict" == "no" ] && echo "" >> $CONFIGFILE -} - -snmpd_access_HostName_add() { - local cfg="$1" - config_get hostname "$cfg" HostName - config_get mode "$cfg" Mode - config_get community "$cfg" CommunityName - config_get oidrestrict "$cfg" RestrictOID - config_get oid "$cfg" RestrictedOID - echo -n "$mode $community $hostname" >> $CONFIGFILE - [ "$oidrestrict" == "yes" ] && echo " $oid" >> $CONFIGFILE - [ "$oidrestrict" == "no" ] && echo "" >> $CONFIGFILE -} - -snmpd_access_HostIP_add() { - local cfg="$1" - config_get host_ip "$cfg" HostIP - config_get ip_mask "$cfg" IPMask - config_get mode "$cfg" Mode - config_get community "$cfg" CommunityName - config_get oidrestrict "$cfg" RestrictOID - config_get oid "$cfg" RestrictedOID - echo -n "$mode $community $host_ip/$ip_mask" >> $CONFIGFILE - [ "$oidrestrict" == "yes" ] && echo " $oid" >> $CONFIGFILE - [ "$oidrestrict" == "no" ] && echo "" >> $CONFIGFILE -} - -snmpd_pass_add() { - local cfg="$1" - local pass='pass' - - config_get miboid "$cfg" miboid - [ -n "$miboid" ] || return 0 - config_get prog "$cfg" prog - [ -n "$prog" ] || return 0 - config_get_bool persist "$cfg" persist 0 - [ $persist -ne 0 ] && pass='pass_persist' - config_get priority "$cfg" priority - priority=${priority:+-p $priority} - echo "$pass $priority $miboid $prog" >> $CONFIGFILE -} - -snmpd_exec_add() { - local cfg="$1" - - config_get name "$cfg" name - [ -n "$name" ] || return 0 - config_get prog "$cfg" prog - [ -n "$prog" ] || return 0 - config_get args "$cfg" args - config_get miboid "$cfg" miboid - echo "exec $miboid $name $prog $args" >> $CONFIGFILE -} - -snmpd_disk_add() { - local cfg="$1" - local disk='disk' - - config_get partition "$cfg" partition - [ -n "$partition" ] || return 0 - config_get size "$cfg" size - [ -n "$size" ] || return 0 - echo "$disk $partition $size" >> $CONFIGFILE -} - -snmpd_engineid_add() { - local cfg="$1" - - config_get engineid "$cfg" engineid - [ -n "$engineid" ] && echo "engineID $engineid" >> $CONFIGFILE - config_get engineidtype "$cfg" engineidtype - [ "$engineidtype" -ge 1 -a "$engineidtype" -le 3 ] && \ - echo "engineIDType $engineidtype" >> $CONFIGFILE - config_get engineidnic "$cfg" engineidnic - [ -n "$engineidnic" ] && echo "engineIDNic $engineidnic" >> $CONFIGFILE -} - -snmpd_sink_add() { - local cfg="$1" - local section="$2" - local community - local port - local host - - config_get host "$cfg" host - [ -n "section" -a -n "$host" ] || return 0 - # optional community - config_get community "$cfg" community - # optional port - config_get port "$cfg" port - port=${port:+:$port} - echo "$section $host$port $community" >> $CONFIGFILE -} - -append_parm() { - local section="$1" - local option="$2" - local switch="$3" - local _loctmp - config_get _loctmp "$section" "$option" - [ -z "$_loctmp" ] && return 0 - echo "$switch $_loctmp" >> $CONFIGFILE -} - -append_authtrapenable() { - local section="$1" - local option="$2" - local switch="$3" - local _loctmp - config_get_bool _loctmp "$section" "$option" - [ -z "$_loctmp" ] && return 0 - [ "$_loctmp" -gt 0 ] && echo "$switch $_loctmp" >> $CONFIGFILE -} - -snmpd_setup_fw_rules() { - local net="$1" - local zone - - zone=$(fw3 -q network "$net" 2>/dev/null) - - local handled_zone - for handled_zone in $HANDLED_SNMP_ZONES; do - [ "$handled_zone" = "$zone" ] && return - done - - json_add_object "" - json_add_string type rule - json_add_string src "$zone" - json_add_string proto udp - json_add_string dest_port 161 - json_add_string target ACCEPT - json_close_object - - HANDLED_SNMP_ZONES="$HANDLED_SNMP_ZONES $zone" -} - -start_service() { - [ -f "$CONFIGFILE" ] && rm -f "$CONFIGFILE" - - config_load snmpd - - config_get_bool snmp_enabled general enabled 1 - [ "$snmp_enabled" -eq 0 ] && return - - procd_open_instance - - config_foreach snmpd_agent_add agent - config_foreach snmpd_agentx_add agentx - config_foreach snmpd_system_add system - config_foreach snmpd_com2sec_add com2sec - if [ "$(uci -q get snmpd.general.ipv6cpipv4)" = "1" ]; then - config_foreach snmpd_com2sec6_add com2sec - else - config_foreach snmpd_com2sec6_add com2sec6 - fi - config_foreach snmpd_group_add group - config_foreach snmpd_view_add view - config_foreach snmpd_access_add access - config_foreach snmpd_trap_hostname_add trap_HostName - config_foreach snmpd_trap_ip_add trap_HostIP - config_foreach snmpd_access_default_add access_default - config_foreach snmpd_access_HostName_add access_HostName - config_foreach snmpd_access_HostIP_add access_HostIP - config_foreach snmpd_pass_add pass - config_foreach snmpd_exec_add exec - config_foreach snmpd_disk_add disk - config_foreach snmpd_engineid_add engineid - append_parm trapcommunity community trapcommunity - config_foreach snmpd_sink_add trapsink trapsink - config_foreach snmpd_sink_add trap2sink trap2sink - config_foreach snmpd_sink_add informsink informsink - append_authtrapenable authtrapenable enable authtrapenable - append_parm v1trapaddress host v1trapaddress - append_parm trapsess trapsess trapsess - - procd_set_param command $PROG -Lf /dev/null -f - procd_set_param file $CONFIGFILE - procd_set_param respawn - - for iface in $(ls /sys/class/net 2>/dev/null); do - procd_append_param netdev "$iface" - done - - procd_open_data - - json_add_array firewall - config_list_foreach general network snmpd_setup_fw_rules - json_close_array - - procd_close_data - - procd_close_instance -} - -stop_service() { - [ -f "$CONFIGFILE" ] && rm -f "$CONFIGFILE" - procd_set_config_changed firewall -} - -service_triggers(){ - local script=$(readlink "$initscript") - local name=$(basename ${script:-$initscript}) - - procd_open_trigger - procd_add_raw_trigger "interface.*" 2000 /etc/init.d/$name reload - procd_close_trigger - - procd_add_reload_trigger 'snmpd' -} - -service_started() { - [ "$snmp_enabled" -eq 0 ] && return - procd_set_config_changed firewall -} diff --git a/luci-app-snmpd/root/etc/uci-defaults/4400-snmpd b/luci-app-snmpd/root/etc/uci-defaults/4400-snmpd deleted file mode 100755 index 8c6f6a547..000000000 --- a/luci-app-snmpd/root/etc/uci-defaults/4400-snmpd +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -if [ "$(uci -q get snmpd.general.network)" = "" ]; then - uci -q batch <<-EOF >/dev/null - add_list snmpd.general.network=lan - set snmpd.@system[0].sysName="OpenMPTCProuter" - set snmpd.general.enabled=0 - commit snmpd - EOF -fi - -uci -q batch <<-EOF >/dev/null - delete ucitrack.@snmpd[-1] - add ucitrack snmpd - set ucitrack.@snmpd[-1].init=snmpd - commit ucitrack -EOF - -rm -f /tmp/luci-indexcache -exit 0 \ No newline at end of file diff --git a/luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json b/luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json deleted file mode 100644 index 771c4021a..000000000 --- a/luci-app-snmpd/root/usr/share/luci/menu.d/luci-app-snmpd.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "admin/network/snmpd": { - "title": "SNMPd", - "order": 91, - "action": { - "type": "cbi", - "path": "snmpd" - }, - "depends": { - "acl": [ "luci-app-snmpd" ] - } - } -} diff --git a/luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json b/luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json deleted file mode 100644 index 1fc168524..000000000 --- a/luci-app-snmpd/root/usr/share/rpcd/acl.d/luci-app-snmpd.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-snmpd": { - "description": "Grant UCI access for luci-app-snmpd", - "read": { - "uci": [ "snmpd" ] - }, - "write": { - "uci": [ "snmpd" ] - } - } -} \ No newline at end of file From 3ce139d0511c143e1c4d4a0cfd756d0be19333f0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 15:04:10 +0100 Subject: [PATCH 070/199] Fix glorytun-udp package --- glorytun-udp/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glorytun-udp/Makefile b/glorytun-udp/Makefile index f2520df5d..79743fe5e 100644 --- a/glorytun-udp/Makefile +++ b/glorytun-udp/Makefile @@ -48,7 +48,7 @@ define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) init $(1)/etc/init.d/$(PKG_NAME) $(INSTALL_DIR) $(1)/etc/config - touch $(1)/etc/config/glorytun + touch $(1)/etc/config/glorytun-udp endef $(eval $(call BuildPackage,$(PKG_NAME))) From 5b5805c1b93ac62b89295625d42eeeab87dc66d6 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 6 Dec 2024 19:31:31 +0100 Subject: [PATCH 071/199] Fix Glorytun-UDP cnfig --- glorytun-udp/Makefile | 2 +- .../etc/config/glorytun-udp => glorytun-udp/glorytun-udp.config | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename luci-app-glorytun-udp/root/etc/config/glorytun-udp => glorytun-udp/glorytun-udp.config (100%) diff --git a/glorytun-udp/Makefile b/glorytun-udp/Makefile index 79743fe5e..acacab793 100644 --- a/glorytun-udp/Makefile +++ b/glorytun-udp/Makefile @@ -48,7 +48,7 @@ define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) init $(1)/etc/init.d/$(PKG_NAME) $(INSTALL_DIR) $(1)/etc/config - touch $(1)/etc/config/glorytun-udp + $(INSTALL_DATA) glorytun-udp.config $(1)/etc/config/glorytun-udp endef $(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/luci-app-glorytun-udp/root/etc/config/glorytun-udp b/glorytun-udp/glorytun-udp.config similarity index 100% rename from luci-app-glorytun-udp/root/etc/config/glorytun-udp rename to glorytun-udp/glorytun-udp.config From c269268e00241bf4b90883d225d2107ab6a36000 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 9 Dec 2024 15:32:01 +0100 Subject: [PATCH 072/199] Fix OMR-ByPass protocols/services issues --- omr-bypass/files/etc/init.d/omr-bypass-nft | 67 +++++++++++----------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/omr-bypass/files/etc/init.d/omr-bypass-nft b/omr-bypass/files/etc/init.d/omr-bypass-nft index e81ecbd3c..2b237601f 100755 --- a/omr-bypass/files/etc/init.d/omr-bypass-nft +++ b/omr-bypass/files/etc/init.d/omr-bypass-nft @@ -435,39 +435,39 @@ _bypass_proto_without_ndpi() { if [ -n "$ALLIPS" ]; then if [ "$vpn" != "1" ]; then uci -q batch <<-EOF >/dev/null - set firewall.bypass_$proto=ipset - set firewall.bypass_$proto.name="bypass_$proto" - set firewall.bypass_$proto.match='dest_net' - set firewall.bypass_$proto.family='ipv4' - set firewall.bypass_$proto.enabled='1' - set firewall.bypass_$proto_rule=rule - set firewall.bypass_$proto_rule.name="bypass_$proto_rule" - set firewall.bypass_$proto_rule.src='lan' - set firewall.bypass_$proto_rule.proto='all' - set firewall.bypass_$proto_rule.dest='*' - set firewall.bypass_$proto_rule.family='ipv4' - set firewall.bypass_$proto_rule.target='MARK' - set firewall.bypass_$proto_rule.ipset="bypass_$proto" - set firewall.bypass_$proto_rule.enabled='1' - set firewall.bypass_$proto_rule.set_xmark="0x4539${intfid}" + set firewall.bypass_${proto}=ipset + set firewall.bypass_${proto}.name="bypass_${proto}" + set firewall.bypass_${proto}.match='dest_net' + set firewall.bypass_${proto}.family='ipv4' + set firewall.bypass_${proto}.enabled='1' + set firewall.bypass_${proto}_rule=rule + set firewall.bypass_${proto}_rule.name="bypass_${proto}_rule" + set firewall.bypass_${proto}_rule.src='lan' + set firewall.bypass_${proto}_rule.proto='all' + set firewall.bypass_${proto}_rule.dest='*' + set firewall.bypass_${proto}_rule.family='ipv4' + set firewall.bypass_${proto}_rule.target='MARK' + set firewall.bypass_${proto}_rule.ipset="bypass_${proto}" + set firewall.bypass_${proto}_rule.enabled='1' + set firewall.bypass_${proto}_rule.set_xmark="0x4539${intfid}" commit firewall EOF uci -q batch <<-EOF >/dev/null - set firewall.bypass6_$proto=ipset - set firewall.bypass6_$proto.name="bypass6_$proto" - set firewall.bypass6_$proto.match='dest_net' - set firewall.bypass6_$proto.family='ipv6' - set firewall.bypass6_$proto.enabled='1' - set firewall.bypass6_$proto_rule=rule - set firewall.bypass6_$proto_rule.name="bypass6_$proto_rule" - set firewall.bypass6_$proto_rule.src='lan' - set firewall.bypass6_$proto_rule.family='ipv6' - set firewall.bypass6_$proto_rule.dest='*' - set firewall.bypass6_$proto_rule.proto='all' - set firewall.bypass6_$proto_rule.target='MARK' - set firewall.bypass6_$proto_rule.set_xmark="0x6539${intfid}" - set firewall.bypass6_$proto_rule.ipset="bypass6_$proto" - set firewall.bypass6_$proto_rule.enabled='1' + set firewall.bypass6_${proto}=ipset + set firewall.bypass6_${proto}.name="bypass6_${proto}" + set firewall.bypass6_${proto}.match='dest_net' + set firewall.bypass6_${proto}.family='ipv6' + set firewall.bypass6_${proto}.enabled='1' + set firewall.bypass6_${proto}_rule=rule + set firewall.bypass6_${proto}_rule.name="bypass6_${proto}_rule" + set firewall.bypass6_${proto}_rule.src='lan' + set firewall.bypass6_${proto}_rule.family='ipv6' + set firewall.bypass6_${proto}_rule.dest='*' + set firewall.bypass6_${proto}_rule.proto='all' + set firewall.bypass6_${proto}_rule.target='MARK' + set firewall.bypass6_${proto}_rule.set_xmark="0x6539${intfid}" + set firewall.bypass6_${proto}_rule.ipset="bypass6_${proto}" + set firewall.bypass6_${proto}_rule.enabled='1' commit firewall EOF #if [ "$intfid" != "" ]; then @@ -499,7 +499,7 @@ _bypass_proto_without_ndpi() { if [ "$valid_ip4" = "ok" ]; then if [ "$vpn" != "1" ]; then #ipset -q add bypass_$proto $ip - uci -q add_list firewall.bypass_$proto.entry="$ip" + uci -q add_list firewall.bypass_${proto}.entry="$ip" else #ipset -q add omr_dst_bypass_$intf $ip uci -q add_list firewall.omr_dst_bypass_${intf}_4.entry="$ip" @@ -507,7 +507,7 @@ _bypass_proto_without_ndpi() { elif [ "$valid_ip6" = "ok" ]; then if [ "$vpn" != "1" ]; then #ipset -q add bypass6_$proto $ip - uci -q add_list firewall.bypass6_$proto.entry=$ip + uci -q add_list firewall.bypass6_${proto}.entry=$ip else #ipset -q add omr6_dst_bypass_$intf $ip uci -q add_list firewall.omr_dst_bypass_${intf}_6.entry="$ip" @@ -864,7 +864,7 @@ _delete_dhcp_ipset() { } _delete_firewall_rules() { - ([ -n "$(echo $1 | grep omr_dst_bypass)" ] || [ -n "$(echo $1 | grep omr6_dst_bypass)" ]) && { + ([ -n "$(echo $1 | grep omr_dst_bypass)" ] || [ -n "$(echo $1 | grep omr6_dst_bypass)" ] || [ -n "$(echo $1 | grep bypass_)" ] || [ -n "$(echo $1 | grep bypass6_)" ]) && { uci -q delete firewall.$1 } } @@ -886,6 +886,7 @@ start_service() { config_load dhcp config_foreach _delete_dhcp_ipset ipset + uci -q delete dhcp.@dnsmasq[0].noipv6 #uci -q commit dhcp config_load firewall config_foreach _delete_firewall_rules rule From c2899354224c1fcb7a70c800311912b115fb4ff7 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 10 Dec 2024 15:32:18 +0100 Subject: [PATCH 073/199] Limit dnsmasq and unbound listening interfaces and remove old hidden config files in OMR-Schedule script --- .../usr/share/omr/schedule.d/010-services | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/omr-schedule/files/usr/share/omr/schedule.d/010-services b/omr-schedule/files/usr/share/omr/schedule.d/010-services index 311831f99..9b5ebe5e9 100755 --- a/omr-schedule/files/usr/share/omr/schedule.d/010-services +++ b/omr-schedule/files/usr/share/omr/schedule.d/010-services @@ -158,9 +158,18 @@ set_lan_ips() { [ -n "$(echo $device | grep -)" ] && uci -q set openmptcprouter.settings.restrict_to_lan="0" && uci commit openmptcprouter uci -q del_list shadowsocks-libev.ss_rules.ifnames="$device" uci -q del_list shadowsocks-rust.ss_rules.ifnames="$device" + uci -q del_list unbound.ub_main.iface_lan="$1" + uci -q del_list unbound.ub_main.iface_wan="$1" + uci -q del_list dhcp.@dnsmasq[0].interface="$1" + uci -q del_list dhcp.@dnsmasq[0].notinterface="$1" if [ "$multipath" != "on" ] && [ "$multipath" != "master" ] && [ -n "$device" ] && [ -z "$(echo $device | grep @)" ] && ([ "$proto" = "dhcp" ] || [ "$proto" = "static" ]); then uci -q add_list shadowsocks-libev.ss_rules.ifnames="$device" uci -q add_list shadowsocks-rust.ss_rules.ifnames="$device" + uci -q add_list unbound.ub_main.iface_lan="$1" + uci -q add_list dhcp.@dnsmasq[0].interface="$1" + elif [ "$multipath" = "on" ] || [ "$multipath" = "master" ]; then + uci -q add_list unbound.ub_main.iface_wan="$1" + uci -q add_list dhcp.@dnsmasq[0].notinterface="$1" fi } config_load network @@ -168,15 +177,23 @@ config_foreach restart_omrtracker interface [ "$(uci -q get openmptcprouter.settings.restrict_to_lan)" = "1" ] && config_foreach set_lan_ips interface [ "$(uci -q get openmptcprouter.settings.restrict_to_lan)" = "0" ] && ([ -n "$(uci -q get shadowsocks-libev.ss_rules.ifnames)" ] || [ -n "$(uci -q get shadowsocks-rust.ss_rules.ifnames)" ]) && { uci -q batch <<-EOF - delete shadowsocks-libev.ss_rules.ifnames="$device" - delete shadowsocks-rust.ss_rules.ifnames="$device" + delete shadowsocks-libev.ss_rules.ifnames + delete shadowsocks-rust.ss_rules.ifnames + delete unbound.ub_main.lan + delete unbound.ub_main.wan + delete dhcp.@dnsmasq[0].interface + delete dhcp.@dnsmasq[0].notinterface EOF } -[ -n "$(uci -q changes shadowsocks-libev)" ] && uci -q commit shadowsocks-libev.ss_rules -[ -n "$(uci -q changes shadowsocks-rust)" ] && uci -q commit shadowsocks-rust.ss_rules +[ -n "$(uci -q changes shadowsocks-libev)" ] && uci -q commit shadowsocks-libev +[ -n "$(uci -q changes shadowsocks-rust)" ] && uci -q commit shadowsocks-rust +[ -n "$(uci -q changes unbound)" ] && uci -q commit unbound +[ -n "$(uci -q changes dhcp)" ] && uci -q commit dhcp multipath_fix() { config_get multipath "$1" multipath [ "$multipath" != "off" ] && return + config_get device "$1" device + { "$(echo $device | grep '@')" ] && return interface="$(ifstatus $1 | jsonfilter -q -e '@.l3_device' | tr -d '\n')" [ -n "$interface" ] && [ -z "$(multipath $interface | grep deactivated)" ] && { _log "Fix Multipath status on $1 ($interface)" @@ -293,4 +310,7 @@ if [ "$(uci -q get openmptcprouter.latest_versions.lc)" = "" ] || [ $(($(date +" uci -q set openmptcprouter.latest_versions.lc=$(date +"%s") uci -q commit openmptcprouter } -fi \ No newline at end of file +fi + +# Remove old hidden config files +find /etc/config/ -mtime +1 -type f -name '\.*' -exec rm {} + From bf18da86f683a3b1eb4618b7dd89432d3c27e7c1 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 10 Dec 2024 16:36:34 +0100 Subject: [PATCH 074/199] Reload mptcp in more case --- mptcp/files/etc/hotplug.d/iface/30-mptcp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mptcp/files/etc/hotplug.d/iface/30-mptcp b/mptcp/files/etc/hotplug.d/iface/30-mptcp index 3c4e940cc..d16e22a7a 100644 --- a/mptcp/files/etc/hotplug.d/iface/30-mptcp +++ b/mptcp/files/etc/hotplug.d/iface/30-mptcp @@ -1,15 +1,15 @@ #!/bin/sh -[ "$ACTION" = ifup -o "$ACTION" = ifupdate -o "$ACTION" = ifdown -o "$ACTION" = iflink ] || exit 0 +[ "$ACTION" = ifup -o "$ACTION" = ifupdate -o "$ACTION" = ifdown -o "$ACTION" = iflink -o "$ACTION" = link-up -o "$ACTION" = link-down ] || exit 0 #[ "$ACTION" = ifupdate -a -z "$IFUPDATE_ADDRESSES" -a -z "$IFUPDATE_DATA" ] && exit 0 /etc/init.d/mptcp enabled || exit 0 -if [ "$ACTION" = ifupdate -o "$ACTION" = iflink ] && [ -z "$(echo $DEVICE | grep oip | grep gre)" ] && [ -n "$(uci -q get network.$INTERFACE.multipath)" ] && [ "$(uci -q get network.$INTERFACE.multipath)" != "off" ]; then +if [ "$ACTION" = ifup -o "$ACTION" = ifupdate -o "$ACTION" = iflink -o "$ACTION" = link-up ] && [ -z "$(echo $DEVICE | grep oip | grep gre)" ] && [ -n "$(uci -q get network.$INTERFACE.multipath)" ] && [ "$(uci -q get network.$INTERFACE.multipath)" != "off" ]; then logger -t "mptcp" "Reloading mptcp config due to $ACTION of $INTERFACE ($DEVICE)" /etc/init.d/mptcp reload "$DEVICE" >/dev/null || exit 0 -elif [ "$ACTION" = ifdown ]; then +elif [ "$ACTION" = ifdown -o "$ACTION" = link-down ]; then multipath $DEVICE off 2>&1 >/dev/null || exit 0 fi From e5046ae6328778164dc41c3f732c83f4476c477c Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 10 Dec 2024 16:37:06 +0100 Subject: [PATCH 075/199] blocklanfw script is not yet migrated to nft, ignore it when nft is used --- openmptcprouter/files/bin/blocklanfw | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openmptcprouter/files/bin/blocklanfw b/openmptcprouter/files/bin/blocklanfw index 5b476da4a..8395c731e 100755 --- a/openmptcprouter/files/bin/blocklanfw +++ b/openmptcprouter/files/bin/blocklanfw @@ -1,5 +1,7 @@ #!/bin/sh +[ -e /usr/sbin/nft ] && exit 0 + if [ -e /usr/sbin/iptables-legacy ]; then IPTABLES="/usr/sbin/iptables-legacy" IP6TABLES="/usr/sbin/ip6tables-legacy" From bc68e4194ab5a36c2f0e03353adc23eef8d86d2f Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Tue, 10 Dec 2024 16:37:39 +0100 Subject: [PATCH 076/199] Commit firewall changes in /etc/firewall.omr-server only if there is real changes --- openmptcprouter/files/etc/firewall.omr-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmptcprouter/files/etc/firewall.omr-server b/openmptcprouter/files/etc/firewall.omr-server index cbd8d719d..7d949fc86 100644 --- a/openmptcprouter/files/etc/firewall.omr-server +++ b/openmptcprouter/files/etc/firewall.omr-server @@ -11,6 +11,6 @@ _enable_firewall_check() { logger -t "firewall.omr-server" "Firewall reload, set server part firewall reloading" config_load openmptcprouter config_foreach _enable_firewall_check server -uci -q commit firewall +[ -n "$(uci -q changes firewall)" ] && uci -q commit firewall #/etc/init.d/openmptcprouter-vps set_vps_firewall & /bin/blocklanfw 2>&1 >/dev/null From ed5e82507c09cf086fa28543b5f2a8d930e1499b Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 11 Dec 2024 16:52:50 +0100 Subject: [PATCH 077/199] Remove luci-app-firewall fork --- luci-app-firewall/Makefile | 17 - .../luci-static/resources/tools/firewall.js | 655 ------- .../resources/view/firewall/custom.js | 33 - .../resources/view/firewall/forwards.js | 297 --- .../resources/view/firewall/rules.js | 477 ----- .../resources/view/firewall/snats.js | 303 ---- .../resources/view/firewall/zones.js | 346 ---- luci-app-firewall/po/bg/firewall.po | 1139 ------------ luci-app-firewall/po/ca/firewall.po | 1319 -------------- luci-app-firewall/po/cs/firewall.po | 1316 -------------- luci-app-firewall/po/de/firewall.po | 1587 ---------------- luci-app-firewall/po/el/firewall.po | 1141 ------------ luci-app-firewall/po/en/firewall.po | 1135 ------------ luci-app-firewall/po/es/firewall.po | 1600 ----------------- luci-app-firewall/po/fr/firewall.po | 1417 --------------- luci-app-firewall/po/he/firewall.po | 1093 ----------- luci-app-firewall/po/hi/firewall.po | 1139 ------------ luci-app-firewall/po/hu/firewall.po | 1454 --------------- luci-app-firewall/po/it/firewall.po | 1357 -------------- luci-app-firewall/po/ja/firewall.po | 1448 --------------- luci-app-firewall/po/ko/firewall.po | 1183 ------------ luci-app-firewall/po/mr/firewall.po | 1139 ------------ luci-app-firewall/po/ms/firewall.po | 1103 ------------ luci-app-firewall/po/nb_NO/firewall.po | 1316 -------------- luci-app-firewall/po/pl/firewall.po | 1559 ---------------- luci-app-firewall/po/pt/firewall.po | 1421 --------------- luci-app-firewall/po/pt_BR/firewall.po | 1567 ---------------- luci-app-firewall/po/ro/firewall.po | 1161 ------------ luci-app-firewall/po/ru/firewall.po | 1512 ---------------- luci-app-firewall/po/sk/firewall.po | 1103 ------------ luci-app-firewall/po/sv/firewall.po | 1246 ------------- luci-app-firewall/po/templates/firewall.pot | 1103 ------------ luci-app-firewall/po/tr/firewall.po | 1103 ------------ luci-app-firewall/po/uk/firewall.po | 1435 --------------- luci-app-firewall/po/vi/firewall.po | 1117 ------------ luci-app-firewall/po/zh_Hans/firewall.po | 1483 --------------- luci-app-firewall/po/zh_Hant/firewall.po | 1385 -------------- .../share/luci/menu.d/luci-app-firewall.json | 61 - .../share/rpcd/acl.d/luci-app-firewall.json | 24 - 39 files changed, 41294 deletions(-) delete mode 100644 luci-app-firewall/Makefile delete mode 100644 luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js delete mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js delete mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js delete mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js delete mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js delete mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js delete mode 100644 luci-app-firewall/po/bg/firewall.po delete mode 100644 luci-app-firewall/po/ca/firewall.po delete mode 100644 luci-app-firewall/po/cs/firewall.po delete mode 100644 luci-app-firewall/po/de/firewall.po delete mode 100644 luci-app-firewall/po/el/firewall.po delete mode 100644 luci-app-firewall/po/en/firewall.po delete mode 100644 luci-app-firewall/po/es/firewall.po delete mode 100644 luci-app-firewall/po/fr/firewall.po delete mode 100644 luci-app-firewall/po/he/firewall.po delete mode 100644 luci-app-firewall/po/hi/firewall.po delete mode 100644 luci-app-firewall/po/hu/firewall.po delete mode 100644 luci-app-firewall/po/it/firewall.po delete mode 100644 luci-app-firewall/po/ja/firewall.po delete mode 100644 luci-app-firewall/po/ko/firewall.po delete mode 100644 luci-app-firewall/po/mr/firewall.po delete mode 100644 luci-app-firewall/po/ms/firewall.po delete mode 100644 luci-app-firewall/po/nb_NO/firewall.po delete mode 100644 luci-app-firewall/po/pl/firewall.po delete mode 100644 luci-app-firewall/po/pt/firewall.po delete mode 100644 luci-app-firewall/po/pt_BR/firewall.po delete mode 100644 luci-app-firewall/po/ro/firewall.po delete mode 100644 luci-app-firewall/po/ru/firewall.po delete mode 100644 luci-app-firewall/po/sk/firewall.po delete mode 100644 luci-app-firewall/po/sv/firewall.po delete mode 100644 luci-app-firewall/po/templates/firewall.pot delete mode 100644 luci-app-firewall/po/tr/firewall.po delete mode 100644 luci-app-firewall/po/uk/firewall.po delete mode 100644 luci-app-firewall/po/vi/firewall.po delete mode 100644 luci-app-firewall/po/zh_Hans/firewall.po delete mode 100644 luci-app-firewall/po/zh_Hant/firewall.po delete mode 100644 luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json delete mode 100644 luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json diff --git a/luci-app-firewall/Makefile b/luci-app-firewall/Makefile deleted file mode 100644 index 30a55a9b2..000000000 --- a/luci-app-firewall/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -# -# Copyright (C) 2008-2014 The LuCI Team -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=Firewall and Portforwarding application -LUCI_DEPENDS:=+@LINUX_5_4:firewall +@(LINUX_5_15||LINUX_6_1||LINUX_6_6||LINUX_6_7):uci-firewall - -PKG_LICENSE:=Apache-2.0 -#PKG_VERSION:=omr-202103 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js b/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js deleted file mode 100644 index e85b6bc6e..000000000 --- a/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js +++ /dev/null @@ -1,655 +0,0 @@ -'use strict'; -'require baseclass'; -'require dom'; -'require ui'; -'require uci'; -'require form'; -'require network'; -'require firewall'; -'require tools.prng as random'; - -var protocols = [ - 'ip', 0, 'IP', - 'hopopt', 0, 'HOPOPT', - 'icmp', 1, 'ICMP', - 'igmp', 2, 'IGMP', - 'ggp', 3 , 'GGP', - 'ipencap', 4, 'IP-ENCAP', - 'st', 5, 'ST', - 'tcp', 6, 'TCP', - 'egp', 8, 'EGP', - 'igp', 9, 'IGP', - 'pup', 12, 'PUP', - 'udp', 17, 'UDP', - 'hmp', 20, 'HMP', - 'xns-idp', 22, 'XNS-IDP', - 'rdp', 27, 'RDP', - 'iso-tp4', 29, 'ISO-TP4', - 'dccp', 33, 'DCCP', - 'xtp', 36, 'XTP', - 'ddp', 37, 'DDP', - 'idpr-cmtp', 38, 'IDPR-CMTP', - 'ipv6', 41, 'IPv6', - 'ipv6-route', 43, 'IPv6-Route', - 'ipv6-frag', 44, 'IPv6-Frag', - 'idrp', 45, 'IDRP', - 'rsvp', 46, 'RSVP', - 'gre', 47, 'GRE', - 'esp', 50, 'IPSEC-ESP', - 'ah', 51, 'IPSEC-AH', - 'skip', 57, 'SKIP', - 'icmpv6', 58, 'IPv6-ICMP', - 'ipv6-icmp', 58, 'IPv6-ICMP', - 'ipv6-nonxt', 59, 'IPv6-NoNxt', - 'ipv6-opts', 60, 'IPv6-Opts', - 'rspf', 73, 'RSPF', - 'rspf', 73, 'CPHB', - 'vmtp', 81, 'VMTP', - 'eigrp', 88, 'EIGRP', - 'ospf', 89, 'OSPFIGP', - 'ax.25', 93, 'AX.25', - 'ipip', 94, 'IPIP', - 'etherip', 97, 'ETHERIP', - 'encap', 98, 'ENCAP', - 'pim', 103, 'PIM', - 'ipcomp', 108, 'IPCOMP', - 'vrrp', 112, 'VRRP', - 'l2tp', 115, 'L2TP', - 'isis', 124, 'ISIS', - 'sctp', 132, 'SCTP', - 'fc', 133, 'FC', - 'mh', 135, 'Mobility-Header', - 'ipv6-mh', 135, 'Mobility-Header', - 'mobility-header', 135, 'Mobility-Header', - 'udplite', 136, 'UDPLite', - 'mpls-in-ip', 137, 'MPLS-in-IP', - 'manet', 138, 'MANET', - 'hip', 139, 'HIP', - 'shim6', 140, 'Shim6', - 'wesp', 141, 'WESP', - 'rohc', 142, 'ROHC', -]; - -function lookupProto(x) { - if (x == null || x === '') - return null; - - var s = String(x).toLowerCase(); - - for (var i = 0; i < protocols.length; i += 3) - if (s == protocols[i] || s == protocols[i+1]) - return [ protocols[i+1], protocols[i+2], protocols[i] ]; - - return [ -1, x, x ]; -} - -return baseclass.extend({ - fmt: function(fmtstr, args, values) { - var repl = [], - wrap = false, - tokens = []; - - if (values == null) { - values = []; - wrap = true; - } - - var get = function(args, key) { - var names = key.trim().split(/\./), - obj = args, - ctx = obj; - - for (var i = 0; i < names.length; i++) { - if (!L.isObject(obj)) - return null; - - ctx = obj; - obj = obj[names[i]]; - } - - if (typeof(obj) == 'function') - return obj.call(ctx); - - return obj; - }; - - var isset = function(val) { - if (L.isObject(val) && !dom.elem(val)) { - for (var k in val) - if (val.hasOwnProperty(k)) - return true; - - return false; - } - else if (Array.isArray(val)) { - return (val.length > 0); - } - else { - return (val !== null && val !== undefined && val !== '' && val !== false); - } - }; - - var parse = function(tokens, text) { - if (dom.elem(text)) { - tokens.push(''.format(values.length)); - values.push(text); - } - else { - tokens.push(String(text).replace(/\\(.)/g, '$1')); - } - }; - - for (var i = 0, last = 0; i <= fmtstr.length; i++) { - if (fmtstr.charAt(i) == '%' && fmtstr.charAt(i + 1) == '{') { - if (i > last) - parse(tokens, fmtstr.substring(last, i)); - - var j = i + 1, nest = 0; - - var subexpr = []; - - for (var off = j + 1, esc = false; j <= fmtstr.length; j++) { - var ch = fmtstr.charAt(j); - - if (esc) { - esc = false; - } - else if (ch == '\\') { - esc = true; - } - else if (ch == '{') { - nest++; - } - else if (ch == '}') { - if (--nest == 0) { - subexpr.push(fmtstr.substring(off, j)); - break; - } - } - else if (ch == '?' || ch == ':' || ch == '#') { - if (nest == 1) { - subexpr.push(fmtstr.substring(off, j)); - subexpr.push(ch); - off = j + 1; - } - } - } - - var varname = subexpr[0].trim(), - op1 = (subexpr[1] != null) ? subexpr[1] : '?', - if_set = (subexpr[2] != null && subexpr[2] != '') ? subexpr[2] : '%{' + varname + '}', - op2 = (subexpr[3] != null) ? subexpr[3] : ':', - if_unset = (subexpr[4] != null) ? subexpr[4] : ''; - - /* Invalid expression */ - if (nest != 0 || subexpr.length > 5 || varname == '') { - return fmtstr; - } - - /* enumeration */ - else if (op1 == '#' && subexpr.length == 3) { - var items = L.toArray(get(args, varname)); - - for (var k = 0; k < items.length; k++) { - tokens.push.apply(tokens, this.fmt(if_set, Object.assign({}, args, { - first: k == 0, - next: k > 0, - last: (k + 1) == items.length, - item: items[k] - }), values)); - } - } - - /* ternary expression */ - else if (op1 == '?' && op2 == ':' && (subexpr.length == 1 || subexpr.length == 3 || subexpr.length == 5)) { - var val = get(args, varname); - - if (subexpr.length == 1) - parse(tokens, isset(val) ? val : ''); - else if (isset(val)) - tokens.push.apply(tokens, this.fmt(if_set, args, values)); - else - tokens.push.apply(tokens, this.fmt(if_unset, args, values)); - } - - /* unrecognized command */ - else { - return fmtstr; - } - - last = j + 1; - i = j; - } - else if (i >= fmtstr.length) { - if (i > last) - parse(tokens, fmtstr.substring(last, i)); - } - } - - if (wrap) { - var node = E('span', {}, tokens.join('')), - repl = node.querySelectorAll('span[data-fmt-placeholder]'); - - for (var i = 0; i < repl.length; i++) - repl[i].parentNode.replaceChild(values[repl[i].getAttribute('data-fmt-placeholder')], repl[i]); - - return node; - } - else { - return tokens; - } - }, - - map_invert: function(v, fn) { - return L.toArray(v).map(function(v) { - v = String(v); - - if (fn != null && typeof(v[fn]) == 'function') - v = v[fn].call(v); - - return { - ival: v, - inv: v.charAt(0) == '!', - val: v.replace(/^!\s*/, '') - }; - }); - }, - - lookupProto: lookupProto, - - addDSCPOption: function(s, is_target) { - var o = s.taboption(is_target ? 'general' : 'advanced', form.Value, is_target ? 'set_dscp' : 'dscp', - is_target ? _('DSCP mark') : _('Match DSCP'), - is_target ? _('Apply the given DSCP class or value to established connections.') : _('Matches traffic carrying the specified DSCP marking.')); - - o.modalonly = true; - o.rmempty = !is_target; - o.placeholder = _('any'); - - if (is_target) - o.depends('target', 'DSCP'); - - o.value('CS0'); - o.value('CS1'); - o.value('CS2'); - o.value('CS3'); - o.value('CS4'); - o.value('CS5'); - o.value('CS6'); - o.value('CS7'); - o.value('BE'); - o.value('AF11'); - o.value('AF12'); - o.value('AF13'); - o.value('AF21'); - o.value('AF22'); - o.value('AF23'); - o.value('AF31'); - o.value('AF32'); - o.value('AF33'); - o.value('AF41'); - o.value('AF42'); - o.value('AF43'); - o.value('EF'); - o.validate = function(section_id, value) { - if (value == '') - return is_target ? _('DSCP mark required') : true; - - if (!is_target) - value = String(value).replace(/^!\s*/, ''); - - var m = value.match(/^(?:CS[0-7]|BE|AF[1234][123]|EF|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/); - - if (!m || (m[1] != null && +m[1] > 0x3f)) - return _('Invalid DSCP mark'); - - return true; - }; - - return o; - }, - - addMarkOption: function(s, is_target) { - var o = s.taboption(is_target ? 'general' : 'advanced', form.Value, - (is_target > 1) ? 'set_xmark' : (is_target ? 'set_mark' : 'mark'), - (is_target > 1) ? _('XOR mark') : (is_target ? _('Set mark') : _('Match mark')), - (is_target > 1) ? _('Apply a bitwise XOR of the given value and the existing mark value on established connections. Format is value[/mask]. If a mask is specified then those bits set in the mask are zeroed out.') : - (is_target ? _('Set the given mark value on established connections. Format is value[/mask]. If a mask is specified then only those bits set in the mask are modified.') : - _('Matches a specific firewall mark or a range of different marks.'))); - - o.modalonly = true; - o.rmempty = true; - - if (is_target > 1) - o.depends('target', 'MARK_XOR'); - else if (is_target) - o.depends('target', 'MARK_SET'); - - o.validate = function(section_id, value) { - if (value == '') - return is_target ? _('Valid firewall mark required') : true; - - if (!is_target) - value = String(value).replace(/^!\s*/, ''); - - var m = value.match(/^(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); - - if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff)) - return _('Expecting: %s').format(_('valid firewall mark')); - - return true; - }; - - return o; - }, - - addLimitOption: function(s) { - var o = s.taboption('advanced', form.Value, 'limit', - _('Limit matching'), - _('Limits traffic matching to the specified rate.')); - - o.modalonly = true; - o.rmempty = true; - o.placeholder = _('unlimited'); - o.value('10/second'); - o.value('60/minute'); - o.value('3/hour'); - o.value('500/day'); - o.validate = function(section_id, value) { - if (value == '') - return true; - - var m = String(value).toLowerCase().match(/^(?:0x[0-9a-f]{1,8}|[0-9]{1,10})\/([a-z]+)$/), - u = ['second', 'minute', 'hour', 'day'], - i = 0; - - if (m) - for (i = 0; i < u.length; i++) - if (u[i].indexOf(m[1]) == 0) - break; - - if (!m || i >= u.length) - return _('Invalid limit value'); - - return true; - }; - - return o; - }, - - addLimitBurstOption: function(s) { - var o = s.taboption('advanced', form.Value, 'limit_burst', - _('Limit burst'), - _('Maximum initial number of packets to match: this number gets recharged by one every time the limit specified above is not reached, up to this number.')); - - o.modalonly = true; - o.rmempty = true; - o.placeholder = '5'; - o.datatype = 'uinteger'; - o.depends({ limit: null, '!reverse': true }); - - return o; - }, - - transformHostHints: function(family, hosts) { - var choice_values = [], choice_labels = {}; - - if (!family || family == 'ipv4') { - L.sortedKeys(hosts, 'ipv4', 'addr').forEach(function(mac) { - var val = hosts[mac].ipv4, - txt = hosts[mac].name || mac; - - choice_values.push(val); - choice_labels[val] = E([], [ val, ' (', E('strong', {}, [txt]), ')' ]); - }); - } - - if (!family || family == 'ipv6') { - L.sortedKeys(hosts, 'ipv6', 'addr').forEach(function(mac) { - var val = hosts[mac].ipv6, - txt = hosts[mac].name || mac; - - choice_values.push(val); - choice_labels[val] = E([], [ val, ' (', E('strong', {}, [txt]), ')' ]); - }); - } - - return [choice_values, choice_labels]; - }, - - updateHostHints: function(map, section_id, option, family, hosts) { - var opt = map.lookupOption(option, section_id)[0].getUIElement(section_id), - choices = this.transformHostHints(family, hosts); - - opt.clearChoices(); - opt.addChoices(choices[0], choices[1]); - }, - - addIPOption: function(s, tab, name, label, description, family, hosts, multiple) { - var o = s.taboption(tab, multiple ? form.DynamicList : form.Value, name, label, description); - - o.modalonly = true; - o.datatype = 'list(neg(ipmask))'; - o.placeholder = multiple ? _('-- add IP --') : _('any'); - - if (family != null) { - var choices = this.transformHostHints(family, hosts); - - for (var i = 0; i < choices[0].length; i++) - o.value(choices[0][i], choices[1][choices[0][i]]); - } - - /* force combobox rendering */ - o.transformChoices = function() { - return this.super('transformChoices', []) || {}; - }; - - return o; - }, - - addLocalIPOption: function(s, tab, name, label, description, devices) { - var o = s.taboption(tab, form.Value, name, label, description); - - o.modalonly = true; - o.datatype = 'ip4addr("nomask")'; - o.placeholder = _('any'); - - L.sortedKeys(devices, 'name').forEach(function(dev) { - var ip4addrs = devices[dev].ipaddrs; - - if (!L.isObject(devices[dev].flags) || !Array.isArray(ip4addrs) || devices[dev].flags.loopback) - return; - - for (var i = 0; i < ip4addrs.length; i++) { - if (!L.isObject(ip4addrs[i]) || !ip4addrs[i].address) - continue; - - o.value(ip4addrs[i].address, E([], [ - ip4addrs[i].address, ' (', E('strong', {}, [dev]), ')' - ])); - } - }); - - return o; - }, - - addMACOption: function(s, tab, name, label, description, hosts) { - var o = s.taboption(tab, form.DynamicList, name, label, description); - - o.modalonly = true; - o.datatype = 'list(macaddr)'; - o.placeholder = _('-- add MAC --'); - - L.sortedKeys(hosts).forEach(function(mac) { - o.value(mac, E([], [ mac, ' (', E('strong', {}, [ - hosts[mac].name || hosts[mac].ipv4 || hosts[mac].ipv6 || '?' - ]), ')' ])); - }); - - return o; - }, - - CBIProtocolSelect: form.MultiValue.extend({ - __name__: 'CBI.ProtocolSelect', - - addChoice: function(value, label) { - if (!Array.isArray(this.keylist) || this.keylist.indexOf(value) == -1) - this.value(value, label); - }, - - load: function(section_id) { - var cfgvalue = L.toArray(this.super('load', [section_id]) || this.default).sort(); - - ['all', 'tcp', 'udp', 'icmp'].concat(cfgvalue).forEach(L.bind(function(value) { - switch (value) { - case 'all': - case 'any': - case '*': - this.addChoice('all', _('Any')); - break; - - case 'tcpudp': - this.addChoice('tcp', 'TCP'); - this.addChoice('udp', 'UDP'); - break; - - default: - var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), - p = lookupProto(m ? +m[1] : value); - - this.addChoice(p[2], p[1]); - break; - } - }, this)); - - return cfgvalue; - }, - - renderWidget: function(section_id, option_index, cfgvalue) { - var value = (cfgvalue != null) ? cfgvalue : this.default, - choices = this.transformChoices(); - - var widget = new ui.Dropdown(L.toArray(value), choices, { - id: this.cbid(section_id), - sort: this.keylist, - multiple: true, - optional: false, - display_items: 10, - dropdown_items: -1, - create: true, - validate: function(value) { - var v = L.toArray(value); - - for (var i = 0; i < v.length; i++) { - if (v[i] == 'all') - continue; - - var m = v[i].match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/); - - if (m ? (+m[1] > 255) : (lookupProto(v[i])[0] == -1)) - return _('Unrecognized protocol'); - } - - return true; - } - }); - - widget.createChoiceElement = function(sb, value) { - var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), - p = lookupProto(lookupProto(m ? +m[1] : value)[0]); - - return ui.Dropdown.prototype.createChoiceElement.call(this, sb, p[2], p[1]); - }; - - widget.createItems = function(sb, value) { - var values = L.toArray(value).map(function(value) { - var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), - p = lookupProto(m ? +m[1] : value); - - return (p[0] > -1) ? p[2] : value; - }); - - return ui.Dropdown.prototype.createItems.call(this, sb, values.join(' ')); - }; - - widget.toggleItem = function(sb, li) { - var value = li.getAttribute('data-value'), - toggleFn = ui.Dropdown.prototype.toggleItem; - - toggleFn.call(this, sb, li); - - if (value == 'all') { - var items = li.parentNode.querySelectorAll('li[data-value]'); - - for (var j = 0; j < items.length; j++) - if (items[j] !== li) - toggleFn.call(this, sb, items[j], false); - } - else { - toggleFn.call(this, sb, li.parentNode.querySelector('li[data-value="all"]'), false); - } - }; - - return widget.render(); - } - }), - - checkLegacySNAT: function() { - var redirects = uci.sections('firewall', 'redirect'); - - for (var i = 0; i < redirects.length; i++) - if ((redirects[i]['target'] || '').toLowerCase() == 'snat') - return true; - - return false; - }, - - handleMigration: function(ev) { - var redirects = uci.sections('firewall', 'redirect'), - tasks = []; - - var mapping = { - dest: 'src', - reflection: null, - reflection_src: null, - src_dip: 'snat_ip', - src_dport: 'snat_port', - src: null - }; - - for (var i = 0; i < redirects.length; i++) { - if ((redirects[i]['target'] || '').toLowerCase() != 'snat') - continue; - - var sid = uci.add('firewall', 'nat'); - - for (var opt in redirects[i]) { - if (opt.charAt(0) == '.') - continue; - - if (mapping[opt] === null) - continue; - - uci.set('firewall', sid, mapping[opt] || opt, redirects[i][opt]); - } - - uci.remove('firewall', redirects[i]['.name']); - } - - return uci.save() - .then(L.bind(ui.changes.init, ui.changes)) - .then(L.bind(ui.changes.apply, ui.changes)); - }, - - renderMigration: function() { - ui.showModal(_('Firewall configuration migration'), [ - E('p', _('The existing firewall configuration needs to be changed for LuCI to function properly.')), - E('p', _('Upon pressing "Continue", "redirect" sections with target "SNAT" will be converted to "nat" sections and the firewall will be restarted to apply the updated configuration.')), - E('div', { 'class': 'right' }, - E('button', { - 'class': 'btn cbi-button-action important', - 'click': ui.createHandlerFn(this, 'handleMigration') - }, _('Continue'))) - ]); - }, -}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js deleted file mode 100644 index ca870552a..000000000 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; -'require view'; -'require fs'; -'require ui'; - -return view.extend({ - load: function() { - return L.resolveDefault(fs.read('/etc/firewall.user'), ''); - }, - - handleSave: function(ev) { - var value = (document.querySelector('textarea').value || '').trim().replace(/\r\n/g, '\n') + '\n'; - - return fs.write('/etc/firewall.user', value).then(function(rc) { - document.querySelector('textarea').value = value; - ui.addNotification(null, E('p', _('Contents have been saved.')), 'info'); - fs.exec('/etc/init.d/firewall', ['restart']); - }).catch(function(e) { - ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message))); - }); - }, - - render: function(fwuser) { - return E([ - E('h2', _('Firewall - Custom Rules')), - E('p', {}, _('Custom rules allow you to execute arbitrary iptables commands which are not otherwise covered by the firewall framework. The commands are executed after each firewall restart, right after the default ruleset has been loaded.')), - E('p', {}, E('textarea', { 'style': 'width:100%', 'rows': 10 }, [ fwuser != null ? fwuser : '' ])) - ]); - }, - - handleSaveApply: null, - handleReset: null -}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js deleted file mode 100644 index 55331576e..000000000 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js +++ /dev/null @@ -1,297 +0,0 @@ -'use strict'; -'require view'; -'require ui'; -'require rpc'; -'require uci'; -'require form'; -'require firewall as fwmodel'; -'require tools.firewall as fwtool'; -'require tools.widgets as widgets'; - -function rule_proto_txt(s, ctHelpers) { - var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { - return (p != '*' && p != 'any' && p != 'all'); - }).map(function(p) { - var pr = fwtool.lookupProto(p); - return { - num: pr[0], - name: pr[1], - types: (pr[0] == 1 || pr[0] == 58) ? L.toArray(uci.get('firewall', s, 'icmp_type')) : null - }; - }); - - m = String(uci.get('firewall', s, 'helper') || '').match(/^(!\s*)?(\S+)$/); - var h = m ? { - val: m[0].toUpperCase(), - inv: m[1], - name: (ctHelpers.filter(function(ctH) { return ctH.name.toLowerCase() == m[2].toLowerCase() })[0] || {}).description - } : null; - - m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); - var f = m ? { - val: m[0].toUpperCase().replace(/X/g, 'x'), - inv: m[1], - num: '0x%02X'.format(+m[2]), - mask: m[3] ? '0x%02X'.format(+m[3]) : null - } : null; - - return fwtool.fmt(_('Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}'), { - proto: proto, - helper: h, - mark: f - }); -} - -function rule_src_txt(s, hosts) { - var z = uci.get('firewall', s, 'src'); - - return fwtool.fmt(_('From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}'), { - src: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]), - src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), - src_mac: fwtool.map_invert(uci.get('firewall', s, 'src_mac'), 'toUpperCase').map(function(v) { return Object.assign(v, { hint: hosts[v.val] }) }), - src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')) - }); -} - -function rule_dest_txt(s) { - return fwtool.fmt(_('To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { - dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName(null) }, [E('em', _('this device'))]), - dest_ip: fwtool.map_invert(uci.get('firewall', s, 'src_dip'), 'toLowerCase'), - dest_port: fwtool.map_invert(uci.get('firewall', s, 'src_dport')) - }); -} - -function rule_limit_txt(s) { - var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), - l = m ? { - num: +m[1], - unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], - burst: uci.get('firewall', s, 'limit_burst') - } : null; - - if (!l) - return ''; - - return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); -} - -function rule_target_txt(s) { - var z = uci.get('firewall', s, 'dest'); - - return fwtool.fmt(_('Forward to %{dest}%{dest_ip? IP %{dest_ip}}%{dest_port? port %{dest_port}}'), { - dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]), - dest_ip: (uci.get('firewall', s, 'dest_ip') || '').toLowerCase(), - dest_port: uci.get('firewall', s, 'dest_port') - }); -} - -return view.extend({ - callHostHints: rpc.declare({ - object: 'luci-rpc', - method: 'getHostHints', - expect: { '': {} } - }), - - callConntrackHelpers: rpc.declare({ - object: 'luci', - method: 'getConntrackHelpers', - expect: { result: [] } - }), - - callNetworkDevices: rpc.declare({ - object: 'luci-rpc', - method: 'getNetworkDevices', - expect: { '': {} } - }), - - load: function() { - return Promise.all([ - this.callHostHints(), - this.callConntrackHelpers(), - this.callNetworkDevices(), - uci.load('firewall') - ]); - }, - - render: function(data) { - if (fwtool.checkLegacySNAT()) - return fwtool.renderMigration(); - else - return this.renderForwards(data); - }, - - renderForwards: function(data) { - var hosts = data[0], - ctHelpers = data[1], - devs = data[2], - m, s, o; - - m = new form.Map('firewall', _('Firewall - Port Forwards'), - _('Port forwarding allows remote computers on the Internet to connect to a specific computer or service within the private LAN.')); - - s = m.section(form.GridSection, 'redirect', _('Port Forwards')); - s.addremove = true; - s.anonymous = true; - s.sortable = true; - - s.tab('general', _('General Settings')); - s.tab('advanced', _('Advanced Settings')); - - s.filter = function(section_id) { - return (uci.get('firewall', section_id, 'target') != 'SNAT'); - }; - - s.sectiontitle = function(section_id) { - return uci.get('firewall', section_id, 'name') || _('Unnamed forward'); - }; - - s.handleAdd = function(ev) { - var config_name = this.uciconfig || this.map.config, - section_id = uci.add(config_name, this.sectiontype); - - uci.set(config_name, section_id, 'target', 'DNAT'); - - this.addedSection = section_id; - this.renderMoreOptionsModal(section_id); - }; - - o = s.taboption('general', form.Value, 'name', _('Name')); - o.placeholder = _('Unnamed forward'); - o.modalonly = true; - - o = s.option(form.DummyValue, '_match', _('Match')); - o.modalonly = false; - o.textvalue = function(s) { - return E('small', [ - rule_proto_txt(s, ctHelpers), E('br'), - rule_src_txt(s, hosts), E('br'), - rule_dest_txt(s), E('br'), - rule_limit_txt(s) - ]); - }; - - o = s.option(form.ListValue, '_dest', _('Action')); - o.modalonly = false; - o.textvalue = function(s) { - return E('small', [ - rule_target_txt(s) - ]); - }; - - o = s.option(form.Flag, 'enabled', _('Enable')); - o.modalonly = false; - o.default = o.enabled; - o.editable = true; - - o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); - o.modalonly = true; - o.default = 'tcp udp'; - - o = s.taboption('general', widgets.ZoneSelect, 'src', _('Source zone')); - o.modalonly = true; - o.rmempty = false; - o.nocreate = true; - o.default = 'wan'; - - o = fwtool.addMACOption(s, 'advanced', 'src_mac', _('Source MAC address'), - _('Only match incoming traffic from these MACs.'), hosts); - o.rmempty = true; - o.datatype = 'list(neg(macaddr))'; - - o = fwtool.addIPOption(s, 'advanced', 'src_ip', _('Source IP address'), - _('Only match incoming traffic from this IP or range.'), 'ipv4', hosts); - o.rmempty = true; - o.datatype = 'neg(ipmask4)'; - - o = s.taboption('advanced', form.Value, 'src_port', _('Source port'), - _('Only match incoming traffic originating from the given source port or port range on the client host')); - o.modalonly = true; - o.rmempty = true; - o.datatype = 'neg(portrange)'; - o.placeholder = _('any'); - o.depends({ proto: 'tcp', '!contains': true }); - o.depends({ proto: 'udp', '!contains': true }); - - o = fwtool.addLocalIPOption(s, 'advanced', 'src_dip', _('External IP address'), - _('Only match incoming traffic directed at the given IP address.'), devs); - o.datatype = 'neg(ipmask4)'; - o.rmempty = true; - - o = s.taboption('general', form.Value, 'src_dport', _('External port'), - _('Match incoming traffic directed at the given destination port or port range on this host')); - o.modalonly = true; - o.rmempty = false; - o.datatype = 'neg(portrange)'; - o.depends({ proto: 'tcp', '!contains': true }); - o.depends({ proto: 'udp', '!contains': true }); - - o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Internal zone')); - o.modalonly = true; - o.rmempty = true; - o.nocreate = true; - o.default = 'lan'; - - o = fwtool.addIPOption(s, 'general', 'dest_ip', _('Internal IP address'), - _('Redirect matched incoming traffic to the specified internal host'), 'ipv4', hosts); - o.rmempty = true; - o.datatype = 'ipmask4'; - - o = s.taboption('general', form.Value, 'dest_port', _('Internal port'), - _('Redirect matched incoming traffic to the given port on the internal host')); - o.modalonly = true; - o.rmempty = true; - o.placeholder = _('any'); - o.datatype = 'portrange'; - o.depends({ proto: 'tcp', '!contains': true }); - o.depends({ proto: 'udp', '!contains': true }); - - o = s.taboption('advanced', form.Flag, 'reflection', _('Enable NAT Loopback')); - o.modalonly = true; - o.rmempty = true; - o.default = o.enabled; - - o = s.taboption('advanced', form.ListValue, 'reflection_src', _('Loopback source IP'), _('Specifies whether to use the external or the internal IP address for reflected traffic.')); - o.modalonly = true; - o.depends('reflection', '1'); - o.value('internal', _('Use internal IP address')); - o.value('external', _('Use external IP address')); - o.write = function(section_id, value) { - uci.set('firewall', section_id, 'reflection_src', (value != 'internal') ? value : null); - }; - - o = s.taboption('advanced', form.Value, 'helper', _('Match helper'), _('Match traffic using the specified connection tracking helper.')); - o.modalonly = true; - o.placeholder = _('any'); - for (var i = 0; i < ctHelpers.length; i++) - o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); - o.validate = function(section_id, value) { - if (value == '' || value == null) - return true; - - value = value.replace(/^!\s*/, ''); - - for (var i = 0; i < ctHelpers.length; i++) - if (value == ctHelpers[i].name) - return true; - - return _('Unknown or not installed conntrack helper "%s"').format(value); - }; - - fwtool.addMarkOption(s, false); - fwtool.addLimitOption(s); - fwtool.addLimitBurstOption(s); - - o = s.taboption('advanced', form.Flag, 'v2ray', _('Use V2Ray/XRay'), - _('Forward a port (not a range) from server using V2Ray/XRay proxy (if enabled) instead of VPN')); - o.modalonly = true; - o.editable = true; - o.depends({ src: 'vpn', '!contains': true }); - - o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), - _('Passes additional arguments to iptables. Use with care!')); - o.modalonly = true; - o.rmempty = true; - - return m.render(); - } -}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js deleted file mode 100644 index 3c0cdc296..000000000 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js +++ /dev/null @@ -1,477 +0,0 @@ -'use strict'; -'require view'; -'require ui'; -'require rpc'; -'require uci'; -'require form'; -'require firewall as fwmodel'; -'require tools.firewall as fwtool'; -'require tools.widgets as widgets'; - -function rule_proto_txt(s, ctHelpers) { - var f = (uci.get('firewall', s, 'family') || '').toLowerCase().replace(/^(?:any|\*)$/, ''); - - var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { - return (p != '*' && p != 'any' && p != 'all'); - }).map(function(p) { - var pr = fwtool.lookupProto(p); - return { - num: pr[0], - name: pr[1], - types: (pr[0] == 1 || pr[0] == 58) ? L.toArray(uci.get('firewall', s, 'icmp_type')) : null - }; - }); - - m = String(uci.get('firewall', s, 'helper') || '').match(/^(!\s*)?(\S+)$/); - var h = m ? { - val: m[0].toUpperCase(), - inv: m[1], - name: (ctHelpers.filter(function(ctH) { return ctH.name.toLowerCase() == m[2].toLowerCase() })[0] || {}).description - } : null; - - m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); - var w = m ? { - val: m[0].toUpperCase().replace(/X/g, 'x'), - inv: m[1], - num: '0x%02X'.format(+m[2]), - mask: m[3] ? '0x%02X'.format(+m[3]) : null - } : null; - - m = String(uci.get('firewall', s, 'dscp')).match(/^(!\s*)?(?:(CS[0-7]|BE|AF[1234][123]|EF)|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/); - var d = m ? { - val: m[0], - inv: m[1], - name: m[2], - num: m[3] ? '0x%02X'.format(+m[3]) : null - } : null; - - return fwtool.fmt(_('%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}'), { - ipv4: (!f || f == 'ipv4'), - ipv6: (!f || f == 'ipv6'), - src: uci.get('firewall', s, 'src'), - dest: uci.get('firewall', s, 'dest'), - proto: proto, - helper: h, - mark: w, - dscp: d - }); -} - -function rule_src_txt(s, hosts) { - var z = uci.get('firewall', s, 'src'), - d = (uci.get('firewall', s, 'direction') == 'in') ? uci.get('firewall', s, 'device') : null; - - return fwtool.fmt(_('From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}'), { - src: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]), - src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), - src_mac: fwtool.map_invert(uci.get('firewall', s, 'src_mac'), 'toUpperCase').map(function(v) { return Object.assign(v, { hint: hosts[v.val] }) }), - src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')), - src_device: d - }); -} - -function rule_dest_txt(s) { - var z = uci.get('firewall', s, 'dest'), - d = (uci.get('firewall', s, 'direction') == 'out') ? uci.get('firewall', s, 'device') : null; - - return fwtool.fmt(_('To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { - dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]), - dest_ip: fwtool.map_invert(uci.get('firewall', s, 'dest_ip'), 'toLowerCase'), - dest_port: fwtool.map_invert(uci.get('firewall', s, 'dest_port')), - dest_device: d - }); -} - -function rule_limit_txt(s) { - var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), - l = m ? { - num: +m[1], - unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], - burst: uci.get('firewall', s, 'limit_burst') - } : null; - - if (!l) - return ''; - - return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); -} - -function rule_target_txt(s, ctHelpers) { - var t = uci.get('firewall', s, 'target'), - h = (uci.get('firewall', s, 'set_helper') || '').toUpperCase(), - s = { - target: t, - src: uci.get('firewall', s, 'src'), - dest: uci.get('firewall', s, 'dest'), - set_helper: h, - set_mark: uci.get('firewall', s, 'set_mark'), - set_xmark: uci.get('firewall', s, 'set_xmark'), - set_dscp: uci.get('firewall', s, 'set_dscp'), - helper_name: (ctHelpers.filter(function(ctH) { return ctH.name.toUpperCase() == h })[0] || {}).description - }; - - switch (t) { - case 'DROP': - return fwtool.fmt(_('Drop %{src?%{dest?forward:input}:output}'), s); - - case 'ACCEPT': - return fwtool.fmt(_('Accept %{src?%{dest?forward:input}:output}'), s); - - case 'REJECT': - return fwtool.fmt(_('Reject %{src?%{dest?forward:input}:output}'), s); - - case 'NOTRACK': - return fwtool.fmt(_('Do not track %{src?%{dest?forward:input}:output}'), s); - - case 'HELPER': - return fwtool.fmt(_('Assign conntrack helper %{set_helper}'), s); - - case 'MARK': - return fwtool.fmt(_('%{set_mark?Assign:XOR} firewall mark %{set_mark?:%{set_xmark}}'), s); - - case 'DSCP': - return fwtool.fmt(_('Assign DSCP classification %{set_dscp}'), s); - - default: - return t; - } -} - -return view.extend({ - callHostHints: rpc.declare({ - object: 'luci-rpc', - method: 'getHostHints', - expect: { '': {} } - }), - - callConntrackHelpers: rpc.declare({ - object: 'luci', - method: 'getConntrackHelpers', - expect: { result: [] } - }), - - load: function() { - return Promise.all([ - this.callHostHints(), - this.callConntrackHelpers(), - uci.load('firewall') - ]); - }, - - render: function(data) { - if (fwtool.checkLegacySNAT()) - return fwtool.renderMigration(); - else - return this.renderRules(data); - }, - - renderRules: function(data) { - var hosts = data[0], - ctHelpers = data[1], - m, s, o; - - m = new form.Map('firewall', _('Firewall - Traffic Rules'), - _('Traffic rules define policies for packets traveling between different zones, for example to reject traffic between certain hosts or to open WAN ports on the router.')); - - s = m.section(form.GridSection, 'rule', _('Traffic Rules')); - s.addremove = true; - s.anonymous = true; - s.sortable = true; - - s.tab('general', _('General Settings')); - s.tab('advanced', _('Advanced Settings')); - s.tab('timed', _('Time Restrictions')); - - s.filter = function(section_id) { - //return (uci.get('firewall', section_id, 'target') != 'SNAT'); - return (uci.get('firewall', section_id, 'target') != 'SNAT' && section_id.startsWith('omr_dst') == false && section_id.startsWith('omr_dscp') == false); - }; - - s.sectiontitle = function(section_id) { - return uci.get('firewall', section_id, 'name') || _('Unnamed rule'); - }; - - s.handleAdd = function(ev) { - var config_name = this.uciconfig || this.map.config, - section_id = uci.add(config_name, this.sectiontype), - opt1, opt2; - - for (var i = 0; i < this.children.length; i++) - if (this.children[i].option == 'src') - opt1 = this.children[i]; - else if (this.children[i].option == 'dest') - opt2 = this.children[i]; - - opt1.default = 'wan'; - opt2.default = 'lan'; - - this.addedSection = section_id; - this.renderMoreOptionsModal(section_id); - - delete opt1.default; - delete opt2.default; - }; - - o = s.taboption('general', form.Value, 'name', _('Name')); - o.placeholder = _('Unnamed rule'); - o.modalonly = true; - - o = s.option(form.DummyValue, '_match', _('Match')); - o.modalonly = false; - o.textvalue = function(s) { - return E('small', [ - rule_proto_txt(s, ctHelpers), E('br'), - rule_src_txt(s, hosts), E('br'), - rule_dest_txt(s), E('br'), - rule_limit_txt(s) - ]); - }; - - o = s.option(form.ListValue, '_target', _('Action')); - o.modalonly = false; - o.textvalue = function(s) { - return rule_target_txt(s, ctHelpers); - }; - - o = s.option(form.Flag, 'enabled', _('Enable')); - o.modalonly = false; - o.default = o.enabled; - o.editable = true; - - - o = s.taboption('advanced', form.ListValue, 'direction', _('Match device')); - o.modalonly = true; - o.value('', _('unspecified')); - o.value('in', _('Inbound device')); - o.value('out', _('Outbound device')); - o.cfgvalue = function(section_id) { - var val = uci.get('firewall', section_id, 'direction'); - switch (val) { - case 'in': - case 'ingress': - return 'in'; - - case 'out': - case 'egress': - return 'out'; - } - - return null; - }; - - o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Device name'), - _('Specifies whether to tie this traffic rule to a specific inbound or outbound network device.')); - o.modalonly = true; - o.noaliases = true; - o.rmempty = false; - o.depends('direction', 'in'); - o.depends('direction', 'out'); - - o = s.taboption('advanced', form.ListValue, 'family', _('Restrict to address family')); - o.modalonly = true; - o.rmempty = true; - o.value('', _('IPv4 and IPv6')); - o.value('ipv4', _('IPv4 only')); - o.value('ipv6', _('IPv6 only')); - o.validate = function(section_id, value) { - fwtool.updateHostHints(this.map, section_id, 'src_ip', value, hosts); - fwtool.updateHostHints(this.map, section_id, 'dest_ip', value, hosts); - return true; - }; - - o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); - o.modalonly = true; - o.default = 'tcp udp'; - - o = s.taboption('advanced', form.MultiValue, 'icmp_type', _('Match ICMP type')); - o.modalonly = true; - o.multiple = true; - o.custom = true; - o.cast = 'table'; - o.placeholder = _('any'); - o.value('', 'any'); - o.value('address-mask-reply'); - o.value('address-mask-request'); - o.value('communication-prohibited'); - o.value('destination-unreachable'); - o.value('echo-reply'); - o.value('echo-request'); - o.value('fragmentation-needed'); - o.value('host-precedence-violation'); - o.value('host-prohibited'); - o.value('host-redirect'); - o.value('host-unknown'); - o.value('host-unreachable'); - o.value('ip-header-bad'); - o.value('neighbour-advertisement'); - o.value('neighbour-solicitation'); - o.value('network-prohibited'); - o.value('network-redirect'); - o.value('network-unknown'); - o.value('network-unreachable'); - o.value('packet-too-big'); - o.value('parameter-problem'); - o.value('port-unreachable'); - o.value('precedence-cutoff'); - o.value('protocol-unreachable'); - o.value('redirect'); - o.value('required-option-missing'); - o.value('router-advertisement'); - o.value('router-solicitation'); - o.value('source-quench'); - o.value('source-route-failed'); - o.value('time-exceeded'); - o.value('timestamp-reply'); - o.value('timestamp-request'); - o.value('TOS-host-redirect'); - o.value('TOS-host-unreachable'); - o.value('TOS-network-redirect'); - o.value('TOS-network-unreachable'); - o.value('ttl-zero-during-reassembly'); - o.value('ttl-zero-during-transit'); - o.depends({ proto: 'icmp', '!contains': true }); - o.depends({ proto: 'icmpv6', '!contains': true }); - - o = s.taboption('general', widgets.ZoneSelect, 'src', _('Source zone')); - o.modalonly = true; - o.nocreate = true; - o.allowany = true; - o.allowlocal = 'src'; - - fwtool.addMACOption(s, 'advanced', 'src_mac', _('Source MAC address'), null, hosts); - fwtool.addIPOption(s, 'general', 'src_ip', _('Source address'), null, '', hosts, true); - - o = s.taboption('general', form.Value, 'src_port', _('Source port')); - o.modalonly = true; - o.datatype = 'list(neg(portrange))'; - o.placeholder = _('any'); - o.depends({ proto: 'tcp', '!contains': true }); - o.depends({ proto: 'udp', '!contains': true }); - - o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Destination zone')); - o.modalonly = true; - o.nocreate = true; - o.allowany = true; - o.allowlocal = true; - - fwtool.addIPOption(s, 'general', 'dest_ip', _('Destination address'), null, '', hosts, true); - - o = s.taboption('general', form.Value, 'dest_port', _('Destination port')); - o.modalonly = true; - o.datatype = 'list(neg(portrange))'; - o.placeholder = _('any'); - o.depends({ proto: 'tcp', '!contains': true }); - o.depends({ proto: 'udp', '!contains': true }); - - o = s.taboption('general', form.ListValue, 'target', _('Action')); - o.modalonly = true; - o.default = 'ACCEPT'; - o.value('DROP', _('drop')); - o.value('ACCEPT', _('accept')); - o.value('REJECT', _('reject')); - o.value('NOTRACK', _("don't track")); - o.value('HELPER', _('assign conntrack helper')); - o.value('MARK_SET', _('apply firewall mark')); - o.value('MARK_XOR', _('XOR firewall mark')); - o.value('DSCP', _('DSCP classification')); - o.cfgvalue = function(section_id) { - var t = uci.get('firewall', section_id, 'target'), - m = uci.get('firewall', section_id, 'set_mark'); - - if (t == 'MARK') - return m ? 'MARK_SET' : 'MARK_XOR'; - - return t; - }; - o.write = function(section_id, value) { - return this.super('write', [section_id, (value == 'MARK_SET' || value == 'MARK_XOR') ? 'MARK' : value]); - }; - - fwtool.addMarkOption(s, 1); - fwtool.addMarkOption(s, 2); - fwtool.addDSCPOption(s, true); - - o = s.taboption('general', form.ListValue, 'set_helper', _('Tracking helper'), _('Assign the specified connection tracking helper to matched traffic.')); - o.modalonly = true; - o.placeholder = _('any'); - o.depends('target', 'HELPER'); - for (var i = 0; i < ctHelpers.length; i++) - o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); - - o = s.taboption('advanced', form.Value, 'helper', _('Match helper'), _('Match traffic using the specified connection tracking helper.')); - o.modalonly = true; - o.placeholder = _('any'); - for (var i = 0; i < ctHelpers.length; i++) - o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); - o.validate = function(section_id, value) { - if (value == '' || value == null) - return true; - - value = value.replace(/^!\s*/, ''); - - for (var i = 0; i < ctHelpers.length; i++) - if (value == ctHelpers[i].name) - return true; - - return _('Unknown or not installed conntrack helper "%s"').format(value); - }; - - fwtool.addMarkOption(s, false); - fwtool.addDSCPOption(s, false); - fwtool.addLimitOption(s); - fwtool.addLimitBurstOption(s); - - o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), - _('Passes additional arguments to iptables. Use with care!')); - o.modalonly = true; - - o = s.taboption('timed', form.MultiValue, 'weekdays', _('Week Days')); - o.modalonly = true; - o.multiple = true; - o.display = 5; - o.placeholder = _('Any day'); - o.value('Sun', _('Sunday')); - o.value('Mon', _('Monday')); - o.value('Tue', _('Tuesday')); - o.value('Wed', _('Wednesday')); - o.value('Thu', _('Thursday')); - o.value('Fri', _('Friday')); - o.value('Sat', _('Saturday')); - o.write = function(section_id, value) { - return this.super('write', [ section_id, L.toArray(value).join(' ') ]); - }; - - o = s.taboption('timed', form.MultiValue, 'monthdays', _('Month Days')); - o.modalonly = true; - o.multiple = true; - o.display_size = 15; - o.placeholder = _('Any day'); - o.write = function(section_id, value) { - return this.super('write', [ section_id, L.toArray(value).join(' ') ]); - }; - for (var i = 1; i <= 31; i++) - o.value(i); - - o = s.taboption('timed', form.Value, 'start_time', _('Start Time (hh.mm.ss)')); - o.modalonly = true; - o.datatype = 'timehhmmss'; - - o = s.taboption('timed', form.Value, 'stop_time', _('Stop Time (hh.mm.ss)')); - o.modalonly = true; - o.datatype = 'timehhmmss'; - - o = s.taboption('timed', form.Value, 'start_date', _('Start Date (yyyy-mm-dd)')); - o.modalonly = true; - o.datatype = 'dateyyyymmdd'; - - o = s.taboption('timed', form.Value, 'stop_date', _('Stop Date (yyyy-mm-dd)')); - o.modalonly = true; - o.datatype = 'dateyyyymmdd'; - - o = s.taboption('timed', form.Flag, 'utc_time', _('Time in UTC')); - o.modalonly = true; - o.default = o.disabled; - - return m.render(); - } -}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js deleted file mode 100644 index 859dba3e8..000000000 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js +++ /dev/null @@ -1,303 +0,0 @@ -'use strict'; -'require view'; -'require ui'; -'require rpc'; -'require uci'; -'require form'; -'require firewall as fwmodel'; -'require tools.firewall as fwtool'; -'require tools.widgets as widgets'; - -function rule_proto_txt(s) { - var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { - return (p != '*' && p != 'any' && p != 'all'); - }).map(function(p) { - var pr = fwtool.lookupProto(p); - return { - num: pr[0], - name: pr[1] - }; - }); - - m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); - var f = m ? { - val: m[0].toUpperCase().replace(/X/g, 'x'), - inv: m[1], - num: '0x%02X'.format(+m[2]), - mask: m[3] ? '0x%02X'.format(+m[3]) : null - } : null; - - return fwtool.fmt(_('Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}'), { - proto: proto, - mark: f - }); -} - -function rule_src_txt(s, hosts) { - var z = uci.get('firewall', s, 'src'); - - return fwtool.fmt(_('From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}'), { - src: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName(null) }, [E('em', _('any zone'))]), - src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), - src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')) - }); -} - -function rule_dest_txt(s) { - var z = uci.get('firewall', s, 'src'); - - return fwtool.fmt(_('To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { - dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]), - dest_ip: fwtool.map_invert(uci.get('firewall', s, 'dest_ip'), 'toLowerCase'), - dest_port: fwtool.map_invert(uci.get('firewall', s, 'dest_port')), - dest_device: uci.get('firewall', s, 'device') - }); -} - -function rule_limit_txt(s) { - var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), - l = m ? { - num: +m[1], - unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], - burst: uci.get('firewall', s, 'limit_burst') - } : null; - - if (!l) - return ''; - - return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); -} - -function rule_target_txt(s) { - var t = uci.get('firewall', s, 'target'), - s = { - target: t, - snat_ip: uci.get('firewall', s, 'snat_ip'), - snat_port: uci.get('firewall', s, 'snat_port') - }; - - switch (t) { - case 'SNAT': - return fwtool.fmt(_('Statically rewrite to source %{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}'), s); - - case 'MASQUERADE': - return fwtool.fmt(_('Automatically rewrite source IP')); - - case 'ACCEPT': - return fwtool.fmt(_('Prevent source rewrite')); - - default: - return t; - } -} - -return view.extend({ - callHostHints: rpc.declare({ - object: 'luci-rpc', - method: 'getHostHints', - expect: { '': {} } - }), - - callNetworkDevices: rpc.declare({ - object: 'luci-rpc', - method: 'getNetworkDevices', - expect: { '': {} } - }), - - load: function() { - return Promise.all([ - this.callHostHints(), - this.callNetworkDevices(), - uci.load('firewall') - ]); - }, - - render: function(data) { - if (fwtool.checkLegacySNAT()) - return fwtool.renderMigration(); - else - return this.renderNats(data); - }, - - renderNats: function(data) { - var hosts = data[0], - devs = data[1], - m, s, o; - - m = new form.Map('firewall', _('Firewall - NAT Rules'), - _('NAT rules allow fine grained control over the source IP to use for outbound or forwarded traffic.')); - - s = m.section(form.GridSection, 'nat', _('NAT Rules')); - s.addremove = true; - s.anonymous = true; - s.sortable = true; - - s.tab('general', _('General Settings')); - s.tab('advanced', _('Advanced Settings')); - s.tab('timed', _('Time Restrictions')); - - s.sectiontitle = function(section_id) { - return uci.get('firewall', section_id, 'name') || _('Unnamed NAT'); - }; - - o = s.taboption('general', form.Value, 'name', _('Name')); - o.placeholder = _('Unnamed NAT'); - o.modalonly = true; - - o = s.option(form.DummyValue, '_match', _('Match')); - o.modalonly = false; - o.textvalue = function(s) { - return E('small', [ - rule_proto_txt(s), E('br'), - rule_src_txt(s, hosts), E('br'), - rule_dest_txt(s), E('br'), - rule_limit_txt(s) - ]); - }; - - o = s.option(form.ListValue, '_target', _('Action')); - o.modalonly = false; - o.textvalue = function(s) { - return rule_target_txt(s); - }; - - o = s.option(form.Flag, 'enabled', _('Enable')); - o.modalonly = false; - o.default = o.enabled; - o.editable = true; - - o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); - o.modalonly = true; - o.default = 'all'; - - o = s.taboption('general', widgets.ZoneSelect, 'src', _('Outbound zone')); - o.modalonly = true; - o.rmempty = false; - o.nocreate = true; - o.allowany = true; - o.default = 'lan'; - - o = fwtool.addIPOption(s, 'general', 'src_ip', _('Source address'), - _('Match forwarded traffic from this IP or range.'), 'ipv4', hosts); - o.rmempty = true; - o.datatype = 'neg(ipmask4)'; - - o = s.taboption('general', form.Value, 'src_port', _('Source port'), - _('Match forwarded traffic originating from the given source port or port range.')); - o.modalonly = true; - o.rmempty = true; - o.datatype = 'neg(portrange)'; - o.placeholder = _('any'); - o.depends({ proto: 'tcp', '!contains': true }); - o.depends({ proto: 'udp', '!contains': true }); - - o = fwtool.addIPOption(s, 'general', 'dest_ip', _('Destination address'), - _('Match forwarded traffic directed at the given IP address.'), 'ipv4', hosts); - o.rmempty = true; - o.datatype = 'neg(ipmask4)'; - - o = s.taboption('general', form.Value, 'dest_port', _('Destination port'), - _('Match forwarded traffic directed at the given destination port or port range.')); - o.modalonly = true; - o.rmempty = true; - o.placeholder = _('any'); - o.datatype = 'neg(portrange)'; - o.depends({ proto: 'tcp', '!contains': true }); - o.depends({ proto: 'udp', '!contains': true }); - - o = s.taboption('general', form.ListValue, 'target', _('Action')); - o.modalonly = true; - o.default = 'SNAT'; - o.value('SNAT', _('SNAT - Rewrite to specific source IP or port')); - o.value('MASQUERADE', _('MASQUERADE - Automatically rewrite to outbound interface IP')); - o.value('ACCEPT', _('ACCEPT - Disable address rewriting')); - - o = fwtool.addLocalIPOption(s, 'general', 'snat_ip', _('Rewrite IP address'), - _('Rewrite matched traffic to the specified source IP address.'), devs); - o.placeholder = null; - o.depends('target', 'SNAT'); - o.validate = function(section_id, value) { - var port = this.map.lookupOption('snat_port', section_id), - a = this.formvalue(section_id), - p = port ? port[0].formvalue(section_id) : null; - - if ((a == null || a == '') && (p == null || p == '') && value == '') - return _('A rewrite IP must be specified!'); - - return true; - }; - - o = s.taboption('general', form.Value, 'snat_port', _('Rewrite port'), - _('Rewrite matched traffic to the specified source port or port range.')); - o.modalonly = true; - o.rmempty = true; - o.placeholder = _('do not rewrite'); - o.datatype = 'portrange'; - o.depends({ proto: 'tcp', '!contains': true }); - o.depends({ proto: 'udp', '!contains': true }); - - o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Outbound device'), - _('Matches forwarded traffic using the specified outbound network device.')); - o.noaliases = true; - o.modalonly = true; - o.rmempty = true; - - fwtool.addMarkOption(s, false); - fwtool.addLimitOption(s); - fwtool.addLimitBurstOption(s); - - o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), - _('Passes additional arguments to iptables. Use with care!')); - o.modalonly = true; - o.rmempty = true; - - o = s.taboption('timed', form.MultiValue, 'weekdays', _('Week Days')); - o.modalonly = true; - o.multiple = true; - o.display = 5; - o.placeholder = _('Any day'); - o.value('Sun', _('Sunday')); - o.value('Mon', _('Monday')); - o.value('Tue', _('Tuesday')); - o.value('Wed', _('Wednesday')); - o.value('Thu', _('Thursday')); - o.value('Fri', _('Friday')); - o.value('Sat', _('Saturday')); - o.write = function(section_id, value) { - return this.super('write', [ section_id, L.toArray(value).join(' ') ]); - }; - - o = s.taboption('timed', form.MultiValue, 'monthdays', _('Month Days')); - o.modalonly = true; - o.multiple = true; - o.display_size = 15; - o.placeholder = _('Any day'); - o.write = function(section_id, value) { - return this.super('write', [ section_id, L.toArray(value).join(' ') ]); - }; - for (var i = 1; i <= 31; i++) - o.value(i); - - o = s.taboption('timed', form.Value, 'start_time', _('Start Time (hh.mm.ss)')); - o.modalonly = true; - o.datatype = 'timehhmmss'; - - o = s.taboption('timed', form.Value, 'stop_time', _('Stop Time (hh.mm.ss)')); - o.modalonly = true; - o.datatype = 'timehhmmss'; - - o = s.taboption('timed', form.Value, 'start_date', _('Start Date (yyyy-mm-dd)')); - o.modalonly = true; - o.datatype = 'dateyyyymmdd'; - - o = s.taboption('timed', form.Value, 'stop_date', _('Stop Date (yyyy-mm-dd)')); - o.modalonly = true; - o.datatype = 'dateyyyymmdd'; - - o = s.taboption('timed', form.Flag, 'utc_time', _('Time in UTC')); - o.modalonly = true; - o.default = o.disabled; - - return m.render(); - } -}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js deleted file mode 100644 index 83171dc61..000000000 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js +++ /dev/null @@ -1,346 +0,0 @@ -'use strict'; -'require view'; -'require rpc'; -'require uci'; -'require form'; -'require network'; -'require firewall'; -'require tools.firewall as fwtool'; -'require tools.widgets as widgets'; - -return view.extend({ - callConntrackHelpers: rpc.declare({ - object: 'luci', - method: 'getConntrackHelpers', - expect: { result: [] } - }), - - load: function() { - return Promise.all([ - this.callConntrackHelpers(), - firewall.getDefaults() - ]); - }, - - render: function(data) { - if (fwtool.checkLegacySNAT()) - return fwtool.renderMigration(); - else - return this.renderZones(data); - }, - - renderZones: function(data) { - var ctHelpers = data[0], - fwDefaults = data[1], - m, s, o, inp, out; - - m = new form.Map('firewall', _('Firewall - Zone Settings'), - _('The firewall creates zones over your network interfaces to control network traffic flow.')); - - s = m.section(form.TypedSection, 'defaults', _('General Settings')); - s.anonymous = true; - s.addremove = false; - - o = s.option(form.Flag, 'syn_flood', _('Enable SYN-flood protection')); - o = s.option(form.Flag, 'drop_invalid', _('Drop invalid packets')); - - var p = [ - s.option(form.ListValue, 'input', _('Input')), - s.option(form.ListValue, 'output', _('Output')), - s.option(form.ListValue, 'forward', _('Forward')) - ]; - - for (var i = 0; i < p.length; i++) { - p[i].value('REJECT', _('reject')); - p[i].value('DROP', _('drop')); - p[i].value('ACCEPT', _('accept')); - } - - /* Netfilter flow offload support */ - - if (L.hasSystemFeature('offloading')) { - s = m.section(form.TypedSection, 'defaults', _('Routing/NAT Offloading'), - _('Experimental feature. Not fully compatible with QoS/SQM.')); - - s.anonymous = true; - s.addremove = false; - - o = s.option(form.Flag, 'flow_offloading', - _('Software flow offloading'), - _('Software based offloading for routing/NAT')); - o.optional = true; - - o = s.option(form.Flag, 'flow_offloading_hw', - _('Hardware flow offloading'), - _('Requires hardware NAT support. Implemented at least for mt7621')); - o.optional = true; - o.depends('flow_offloading', '1'); - } - - - s = m.section(form.GridSection, 'zone', _('Zones')); - s.addremove = true; - s.anonymous = true; - s.sortable = true; - - s.handleRemove = function(section_id, ev) { - return firewall.deleteZone(section_id).then(L.bind(function() { - return this.super('handleRemove', [section_id, ev]); - }, this)); - }; - - s.tab('general', _('General Settings')); - s.tab('advanced', _('Advanced Settings')); - s.tab('conntrack', _('Conntrack Settings')); - s.tab('extra', _('Extra iptables arguments')); - - o = s.taboption('general', form.DummyValue, '_generalinfo'); - o.rawhtml = true; - o.modalonly = true; - o.cfgvalue = function(section_id) { - var name = uci.get('firewall', section_id, 'name'); - if (name == null) - name = _("this new zone"); - return _('This section defines common properties of %q. The input and output options set the default policies for traffic entering and leaving this zone while the forward option describes the policy for forwarded traffic between different networks within the zone. Covered networks specifies which available networks are members of this zone.') - .replace(/%s/g, name).replace(/%q/g, '"' + name + '"'); - }; - - o = s.taboption('general', form.Value, 'name', _('Name')); - o.placeholder = _('Unnamed zone'); - o.modalonly = true; - o.rmempty = false; - o.datatype = 'and(uciname,maxlength(11))'; - o.write = function(section_id, formvalue) { - var cfgvalue = this.cfgvalue(section_id); - - if (cfgvalue == null || cfgvalue == '') - return uci.set('firewall', section_id, 'name', formvalue); - else if (cfgvalue != formvalue) - return firewall.renameZone(cfgvalue, formvalue); - }; - - o = s.option(widgets.ZoneForwards, '_info', _('Zone ⇒ Forwardings')); - o.editable = true; - o.modalonly = false; - o.cfgvalue = function(section_id) { - return uci.get('firewall', section_id, 'name'); - }; - - var p = [ - s.taboption('general', form.ListValue, 'input', _('Input')), - s.taboption('general', form.ListValue, 'output', _('Output')), - s.taboption('general', form.ListValue, 'forward', _('Forward')) - ]; - - for (var i = 0; i < p.length; i++) { - p[i].value('REJECT', _('reject')); - p[i].value('DROP', _('drop')); - p[i].value('ACCEPT', _('accept')); - p[i].editable = true; - } - - p[0].default = fwDefaults.getInput(); - p[1].default = fwDefaults.getOutput(); - p[2].default = fwDefaults.getForward(); - - o = s.taboption('general', form.Flag, 'masq', _('Masquerading')); - o.editable = true; - - o = s.taboption('general', form.Flag, 'fullcone', _('Full Cone')); - o.editable = true; - o.depends('masq', '1'); - - o = s.taboption('general', form.Flag, 'fullcone6', _('Full Cone IPv6')); - o.editable = true; - o.depends('masq', '1'); - - o = s.taboption('general', form.Flag, 'mtu_fix', _('MSS clamping')); - o.modalonly = true; - - o = s.taboption('general', widgets.NetworkSelect, 'network', _('Covered networks')); - o.modalonly = true; - o.multiple = true; - o.cfgvalue = function(section_id) { - return uci.get('firewall', section_id, 'network'); - }; - o.write = function(section_id, formvalue) { - var name = uci.get('firewall', section_id, 'name'), - cfgvalue = this.cfgvalue(section_id); - - /* - if (typeof(cfgvalue) == 'string' && Array.isArray(formvalue) && (cfgvalue == formvalue.join(' '))) - return; - */ - - var tasks = [ firewall.getZone(name) ]; - - if (Array.isArray(formvalue)) - for (var i = 0; i < formvalue.length; i++) { - var netname = formvalue[i]; - tasks.push(network.getNetwork(netname).then(function(net) { - return net || network.addNetwork(netname, { 'proto': 'none' }); - })); - } - - return Promise.all(tasks).then(function(zone_networks) { - if (zone_networks[0]) { - zone_networks[0].clearNetworks(); - for (var i = 1; i < zone_networks.length; i++) - zone_networks[0].addNetwork(zone_networks[i].getName()); - } - }); - }; - - o = s.taboption('advanced', form.DummyValue, '_advancedinfo'); - o.rawhtml = true; - o.modalonly = true; - o.cfgvalue = function(section_id) { - var name = uci.get('firewall', section_id, 'name'); - if (name == null) - name = _("this new zone"); - return _('The options below control the forwarding policies between this zone (%s) and other zones. Destination zones cover forwarded traffic originating from %q. Source zones match forwarded traffic from other zones targeted at %q. The forwarding rule is unidirectional, e.g. a forward from lan to wan does not imply a permission to forward from wan to lan as well.') - .format(name); - }; - - o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Covered devices'), _('Use this option to classify zone traffic by raw, non-uci managed network devices.')); - o.modalonly = true; - o.noaliases = true; - o.multiple = true; - - o = s.taboption('advanced', form.DynamicList, 'subnet', _('Covered subnets'), _('Use this option to classify zone traffic by source or destination subnet instead of networks or devices.')); - o.datatype = 'neg(cidr)'; - o.modalonly = true; - o.multiple = true; - - o = s.taboption('advanced', form.ListValue, 'family', _('Restrict to address family')); - o.value('', _('IPv4 and IPv6')); - o.value('ipv4', _('IPv4 only')); - o.value('ipv6', _('IPv6 only')); - o.modalonly = true; - - o = s.taboption('advanced', form.DynamicList, 'masq_src', _('Restrict Masquerading to given source subnets')); - o.depends('family', ''); - o.depends('family', 'ipv4'); - o.datatype = 'list(neg(or(uciname,hostname,ipmask4)))'; - o.placeholder = '0.0.0.0/0'; - o.modalonly = true; - - o = s.taboption('advanced', form.DynamicList, 'masq_dest', _('Restrict Masquerading to given destination subnets')); - o.depends('family', ''); - o.depends('family', 'ipv4'); - o.datatype = 'list(neg(or(uciname,hostname,ipmask4)))'; - o.placeholder = '0.0.0.0/0'; - o.modalonly = true; - - o = s.taboption('conntrack', form.Flag, 'masq_allow_invalid', _('Allow "invalid" traffic'), _('Do not install extra rules to reject forwarded traffic with conntrack state invalid. This may be required for complex asymmetric route setups.')); - o.modalonly = true; - - o = s.taboption('conntrack', form.Flag, 'auto_helper', _('Automatic helper assignment'), _('Automatically assign conntrack helpers based on traffic protocol and port')); - o.default = o.enabled; - o.modalonly = true; - - o = s.taboption('conntrack', form.MultiValue, 'helper', _('Conntrack helpers'), _('Explicitly choses allowed connection tracking helpers for zone traffic')); - o.depends('auto_helper', '0'); - o.modalonly = true; - for (var i = 0; i < ctHelpers.length; i++) - //o.value(ctHelpers[i].name, '%s (%s)%s'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase(), ctHelpers[i].name.toUpperCase())); - o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); - - o = s.taboption('advanced', form.Flag, 'log', _('Enable logging on this zone')); - o.modalonly = true; - - o = s.taboption('advanced', form.Value, 'log_limit', _('Limit log messages')); - o.depends('log', '1'); - o.placeholder = '10/minute'; - o.modalonly = true; - - o = s.taboption('extra', form.DummyValue, '_extrainfo'); - o.rawhtml = true; - o.modalonly = true; - o.cfgvalue = function(section_id) { - return _('Passing raw iptables arguments to source and destination traffic classification rules allows to match packets based on other criteria than interfaces or subnets. These options should be used with extreme care as invalid values could render the firewall ruleset broken, completely exposing all services.'); - }; - - o = s.taboption('extra', form.Value, 'extra_src', _('Extra source arguments'), _('Additional raw iptables arguments to classify zone source traffic, e.g. -p tcp --sport 443 to only match inbound HTTPS traffic.')); - o.modalonly = true; - o.cfgvalue = function(section_id) { - return uci.get('firewall', section_id, 'extra_src') || uci.get('firewall', section_id, 'extra'); - }; - o.write = function(section_id, value) { - uci.unset('firewall', section_id, 'extra'); - uci.set('firewall', section_id, 'extra_src', value); - }; - - o = s.taboption('extra', form.Value, 'extra_dest', _('Extra destination arguments'), _('Additional raw iptables arguments to classify zone destination traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS traffic.')); - o.modalonly = true; - o.cfgvalue = function(section_id) { - return uci.get('firewall', section_id, 'extra_dest') || uci.get('firewall', section_id, 'extra_src') || uci.get('firewall', section_id, 'extra'); - }; - o.write = function(section_id, value) { - uci.unset('firewall', section_id, 'extra'); - uci.set('firewall', section_id, 'extra_dest', value); - }; - - o = s.taboption('general', form.DummyValue, '_forwardinfo'); - o.rawhtml = true; - o.modalonly = true; - o.cfgvalue = function(section_id) { - var name = uci.get('firewall', section_id, 'name'); - if (name == null) - name = _("this new zone"); - return _('The options below control the forwarding policies between this zone (%s) and other zones. Destination zones cover forwarded traffic originating from %q. Source zones match forwarded traffic from other zones targeted at %q. The forwarding rule is unidirectional, e.g. a forward from lan to wan does not imply a permission to forward from wan to lan as well.') - .format(name); - }; - - out = o = s.taboption('general', widgets.ZoneSelect, 'out', _('Allow forward to destination zones:')); - o.nocreate = true; - o.multiple = true; - o.modalonly = true; - o.filter = function(section_id, value) { - return (uci.get('firewall', section_id, 'name') != value); - }; - o.cfgvalue = function(section_id) { - var out = (this.option == 'out'), - zone = this.lookupZone(uci.get('firewall', section_id, 'name')), - fwds = zone ? zone.getForwardingsBy(out ? 'src' : 'dest') : [], - value = []; - - for (var i = 0; i < fwds.length; i++) - value.push(out ? fwds[i].getDestination() : fwds[i].getSource()); - - return value; - }; - o.write = o.remove = function(section_id, formvalue) { - var out = (this.option == 'out'), - zone = this.lookupZone(uci.get('firewall', section_id, 'name')), - fwds = zone ? zone.getForwardingsBy(out ? 'src' : 'dest') : []; - - if (formvalue == null) - formvalue = []; - - if (Array.isArray(formvalue)) { - for (var i = 0; i < fwds.length; i++) { - var cmp = out ? fwds[i].getDestination() : fwds[i].getSource(); - if (!formvalue.filter(function(d) { return d == cmp }).length) - zone.deleteForwarding(fwds[i]); - } - - for (var i = 0; i < formvalue.length; i++) - if (out) - zone.addForwardingTo(formvalue[i]); - else - zone.addForwardingFrom(formvalue[i]); - } - }; - - inp = o = s.taboption('general', widgets.ZoneSelect, 'in', _('Allow forward from source zones:')); - o.nocreate = true; - o.multiple = true; - o.modalonly = true; - o.write = o.remove = out.write; - o.filter = out.filter; - o.cfgvalue = out.cfgvalue; - - return m.render(); - } -}); diff --git a/luci-app-firewall/po/bg/firewall.po b/luci-app-firewall/po/bg/firewall.po deleted file mode 100644 index 338618321..000000000 --- a/luci-app-firewall/po/bg/firewall.po +++ /dev/null @@ -1,1139 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Bulgarian \n" -"Language: bg\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/zones.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Traffic Redirection" -# msgstr "" -# -# msgid "" -# "Traffic redirection allows you to change the destination address of " -# "forwarded packets." -# msgstr "" -# -# msgid "Overview" -# msgstr "" -# -# msgid "Name" -# msgstr "" -# -# msgid "Source zone" -# msgstr "" -# -# msgid "Source MAC-address" -# msgstr "" -# -# msgid "Source port" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "MAC" -#~ msgstr "MAC" diff --git a/luci-app-firewall/po/ca/firewall.po b/luci-app-firewall/po/ca/firewall.po deleted file mode 100644 index 3c4b3ad17..000000000 --- a/luci-app-firewall/po/ca/firewall.po +++ /dev/null @@ -1,1319 +0,0 @@ -# luci-fw.pot -# generated from ./applications/luci-fw/luasrc/i18n/luci-fw.en.lua -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Catalan \n" -"Language: ca\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Acció" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Ajusts avançats" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Permet el reenviament des dels zones d'origen:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Permet el reenviament als zones de destí:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Qualsevol" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Xarxes cobertes" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Regles personalitzades" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Les regles personalitzades us permet executar ordres del iptables arbitraris " -"que la infraestructura de tallafocs no cobreix d'altra manera. Aquests " -"ordres s'executen després de cada reinici de tallafocs, just després el " -"conjunt de regles per defecte s'ha carregat." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Adreça de destí" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Port de destí" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Zona de destí" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Descarta els paquets invàlids" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Activa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Habilita protecció contra la inundació SYN" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Habilita el registre d'aquesta zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Adreça IP extern" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Port extern" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Paràmetres extres" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Tallafocs" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Tallafocs - Regles personalitzades" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Tallafocs - Reenviaments de port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Tallafocs - Regles de tràfic" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Tallafocs - Ajusts de zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Reenvia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Divendres" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Ajusts generals" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 i IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Només IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Només IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Entrada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Adreça IP interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Port intern" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Zona interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Limita els missatges de registre" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Fixació MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Mascarada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Coincideix" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Coincideix amb el tipus ICMP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Coincideix amb trànsit entrant dirigit al port o rang de ports de destí en " -"aquest host donat" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Dilluns" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Nom" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Només coincideix amb trànsit entrant dirigit a la adreça IP donada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Només coincideix amb trànsit entrant des d'aquests MAC." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Només coincideix amb trànsit entrant des d'aquest IP o rang." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Només coincideix amb trànsit originant en el host client des del port o del " -"rang de ports d'origen donat" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Sortida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "Passa paràmetres addicionals al iptables. Utilitzeu-ho amb cura!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Reenviaments de port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"El reenviament de ports permet que els ordinadors remots en el Internet " -"connectin a un ordinador o servei específic dins del LAN privat." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protocol" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "Redirigeix trànsit entrant coincidit al port donat en el host intern" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Redirigeix trànsit entrant coincidit al host intern especificat" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Restringeix la mascarada a les subxarxes de destí donades" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Restringeix la mascarada a les subxarxes d'origen donades" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Restringeix a la família d'adreces" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Dissabte" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Adreça IP d'origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Adreça MAC d'origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Adreça d'origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Port d'origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Zona d'origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Diumenge" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"El tallafocs crea zones a les teves interfícies de xarxa per controlar el " -"flux de tràfic de xarxa." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Les opcions a sota controlen les polítiques de reenviament entre aquesta " -"zona (%s) i altres zones. Zones de destí cobreixen trànsit reenviat " -"originant des de %q. Zones d'origen coincideixen " -"amb trànsit reenviat des de altres zones apuntat a %q. La " -"regla de reenviament es unidirectional, per exemple un reenviament " -"de lan a wan no implica permís per reenviar de wan a lan també." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -#, fuzzy -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Aquesta secció defineix propietats comuns de %q. Les opcions entrada i sortida estableixen les polítiques per defecte per a trànsit " -"entrant i sortint aquesta zona mentre l'opció reenvia descriu la " -"política de trànsit reenviat entre xarxes distintes dins de la zona. " -"Xarxes cobertes especifica quines xarxes disponibles són membres " -"d'aquesta zona." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Dijous" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Regles de trànsit" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Les regles de trànsit defineixen polítiques per als paquets viatjant entre " -"zones distintes, per exemple per a rebutjar trànsit entre certs hosts o " -"obrir ports WAN en el encaminador." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Dimarts" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Dimecres" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zona ⇒ Reenviaments" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zones" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "accepta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "qualsevol" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "qualsevol zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "no rastregis" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "descarta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "rebutja" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s in %s" -#~ msgstr "%s en %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s amb %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s en %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d paquets al %s" - -#~ msgid "%s and limit to %s" -#~ msgstr "%s i limita a %s" - -#~ msgid "Destination IP address" -#~ msgstr "Adreça IP de destí" - -#~ msgid "Do not rewrite" -#~ msgstr "No reescriguis" - -#~ msgid "Forward to" -#~ msgstr "Reenvia a" - -#~ msgid "From %s in %s" -#~ msgstr "Des de %s en %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Des de %s en %s amb origen %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Des de %s en %s amb orígens %s i %s" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "To %s at %s on this device" -#~ msgstr "A %s a %s en aquest dispositiu" - -#~ msgid "To %s in %s" -#~ msgstr "A %s en %s" - -#~ msgid "To %s on this device" -#~ msgstr "A %s en aquest dispositiu" - -#~ msgid "To %s, %s in %s" -#~ msgstr "A %s, %s en %s" - -#~ msgid "Via %s" -#~ msgstr "Via %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Via %s a %s" - -#~ msgid "any host" -#~ msgstr "qualsevol host" - -#~ msgid "any router IP" -#~ msgstr "qualsevol IP d'encaminador" - -#~ msgid "Force connection tracking" -#~ msgstr "Força el rastreig de connexió" - -#~ msgid "Add" -#~ msgstr "Afegeix" - -#~ msgid "Add and edit..." -#~ msgstr "Afegeix i edita..." - -#~ msgid "External zone" -#~ msgstr "Zona extern" - -#~ msgid "New SNAT rule" -#~ msgstr "Nova regla SNAT" - -#~ msgid "New forward rule" -#~ msgstr "Nova regla de reenviament" - -#~ msgid "New input rule" -#~ msgstr "Nova regla d'entrada" - -#~ msgid "New port forward" -#~ msgstr "Nou reenviament de port" - -#~ msgid "New source NAT" -#~ msgstr "Nou origen NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Obre els ports en el encaminador" - -#~ msgid "Other..." -#~ msgstr "Altre..." - -#~ msgid "To source IP" -#~ msgstr "A l'IP d'origen" - -#~ msgid "To source port" -#~ msgstr "Al port d'origen" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Entrada sense nom)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Regla sense nom)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(SNAT sense nom)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Reenviament interzonal" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Coincideix amb trànsit reenviat al port o rang de ports de destí donat." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "Coincideix amb trànsit entrant originant en el host client des del port o " -#~ "rang de ports d'origen donat." - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "Reescriu el trànsit coincidint cap a la adreça donada." - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Reescriu el trànsit coincidint cap al port d'origen donat. Pot ser deixat " -#~ "en blanc per només reescriure l'adreça IP." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Reescriu a l'origen %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Reescriu als orígens %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "Adreça IP de SNAT" - -#~ msgid "SNAT port" -#~ msgstr "Port SNAT" - -#~ msgid "Source NAT" -#~ msgstr "NAT d'origen" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "El NAT d'origen és un forma específic de mascarada que permet control de " -#~ "gra fi sobre l'IP d'origen utilitzat pel trànsit sortint, per exemple per " -#~ "associar múltiples adreces WAN a subxarxes internes." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Aquesta pàgina us permet canviar propietats avançats de l'entrada de " -#~ "reenviament de port. En la majoria dels casos no hi ha necessitat de " -#~ "modificar aquests ajusts." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Aquesta pàgina us permet canviar propietats avançats de l'entrada de " -#~ "regla de trànsit, com als hosts d'origen i de destí coincidits." - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Podeu especificar múltiples per seleccionar \"-- personalitzat --\" i " -#~ "llavors introduir protocols separats per espai." - -#~ msgid "Zone %q" -#~ msgstr "Zona %q" - -#~ msgid "traffic" -#~ msgstr "trànsit" diff --git a/luci-app-firewall/po/cs/firewall.po b/luci-app-firewall/po/cs/firewall.po deleted file mode 100644 index c91dc4bb9..000000000 --- a/luci-app-firewall/po/cs/firewall.po +++ /dev/null @@ -1,1316 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2020-02-04 05:03+0000\n" -"Last-Translator: Pavel Borecki \n" -"Language-Team: Czech \n" -"Language: cs\n" -"MIME-Version: 1.0\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Akce" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Pokročilá nastavení" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Povolit přesměrování ze zdrojových oblastí:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Povolit přesměrování do zdrojových oblastí:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Libovolné" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Obsah byl uložen." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Pokryté sítě" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Vlastní pravidla" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Vlastní pravidla vám umožňují spustit libovolné iptables příkazy, které " -"nejsou jinak pokryté frameworkem firewallu. Příkazy jsou spuštěny po každém " -"restartu firewallu, právě po načtení výchozí sady pravidel." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Cílová adresa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Cílový port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Cílová zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Zahazovat neplatné pakety" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Povolit" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Povolit NAT Loopback" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Povolit ochranu proti SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Povolit logování v této oblasti" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Vnější IP adresa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Vnější port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Další argumenty volání" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Brána firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Firewall - Vlastní pravidla" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Firewall - Přesměrování portů" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Firewall - Pravidla síťového provozu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Firewall - Nastavení zón" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Přesměrování" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "pátek" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Obecné nastavení" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 a IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "pouze IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "pouze IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Vstup" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Vnitřní IP adresa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Vnitřní port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Vnitřní zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Omezit logovací zprávy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "MSS clamping" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Maškárádování" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Shoda" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Odpovídá ICMP typu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Vybrat příchozí provoz, směrovaný na zadaný cílový port nebo rozsah portů " -"tohoto hostitele" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "pondělí" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Dny v měsíci" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Název" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Vybrat pouze příchozí provoz, směrovaný na danou IP adresu." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Vybrat pouze příchozí provoz z těchto MAC adres." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Vybrat pouze příchozí provoz z této IP nebo rozsahu IP adres." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Vybrat pouze příchozí provoz, pocházející ze zadaného portu nebo rozsahu " -"portů klienta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Výstup" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "Předává další argumenty iptables. Používat opatrně!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Přesměrování portů" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"Přesměrování portů (port forwarding) umožňuje vzdáleným počítačům z " -"Internetu připojení k vybraným počítačům nebo službám uvnitř privátní sítě " -"LAN." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protokol" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Přesměrovat vybraný příchozí provoz na uvedený port vnitřního hostitele" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Přesměrovat vybraný příchozí provoz na uvedeného vnitřního hostitele" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Omezit maškarádování na uvedené cílové podsítě" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Omezit maškarádování na uvedené zdrojové podsítě" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Omezit na rodinu adres" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "sobota" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Zdrojová IP adresa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Zdrojová MAC adresa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Zdrojová adresa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Zdrojový port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Zdrojová zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "neděle" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"Firewall vytváří zóny přes vaše síťová rozhraní za účelem řízení síťového " -"provozu." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Níže uvedené možnosti řídí přesměrovací politiky mezi touto zónou (%s) a " -"ostatními zónami. Cílové zóny pokrývají přesměrovávaný provoz, " -"pocházející z %q. Zdrojové zóny porovnávají " -"přesměrovávaný provoz z ostatních zón, zaměřený na %q. " -"Přesměrovávací pravidlo je jednosměrné, například přesměrování z " -"lan do wan nepovoluje přesměrování z wan do lan (a naopak)." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Tato sekce definuje běžné možnosti %q. Vstupní a výstupní " -"možnosti nastavují výchozí politiky pro provoz, vstupující do této zóny a " -"vystupující z ní, zatímco přesměrovací možnosti popisují politiku " -"pro přesměrování provozu mezi rozdílnými sítěmi uvnitř jedné zóny. " -"Pokryté sítě určuje, které z dostupných sítí jsou členy této zóny." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "čtvrtek" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Časová omezení" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Čas v UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Pravidla síťového provozu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Pravidla síťového provozu definují politiky pro cestování paketů mezi " -"různými zónami, například pro odmítnutí provozu mezi jistými hostiteli nebo " -"pro otevření WAN portů na routeru." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "úterý" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Nelze uložit obsah: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Nepojmenované pravidlo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Nepojmenovaná zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "středa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zóna ⇒ Přesměrování" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zóny" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "přijmout" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "libovolný" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "libovolná zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "nesledovat" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "zahodit" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "odmítnout" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s in %s" -#~ msgstr "%s v %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s s %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s v %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d paketů za %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d paketů za %s, burst %d paketů." - -#~ msgid "%s and limit to %s" -#~ msgstr "%s a omezit na %s" - -#~ msgid "Destination IP address" -#~ msgstr "Cílová IP adresa" - -#~ msgid "Do not rewrite" -#~ msgstr "Nepřepisovat" - -#~ msgid "Forward to" -#~ msgstr "Přesměrovat na" - -#~ msgid "From %s in %s" -#~ msgstr "Z %s v %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Z %s v %s se zdrojovou %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Z %s v %s se zdrojovou %s a %s" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "Network" -#~ msgstr "Síť" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Na %s v %s na tomto zařízení" - -#~ msgid "To %s in %s" -#~ msgstr "Na %s v %s" - -#~ msgid "To %s on this device" -#~ msgstr "Na %s na tomto zařízení" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Na %s, %s v %s" - -#~ msgid "Via %s" -#~ msgstr "Prostřednictvím %s" - -#~ msgid "any host" -#~ msgstr "libovolný hostitel" - -#~ msgid "any router IP" -#~ msgstr "libovolná IP routeru" - -#~ msgid "Force connection tracking" -#~ msgstr "Vynutit sledování připojení" - -#~ msgid "Add" -#~ msgstr "Přidat" - -#~ msgid "Add and edit..." -#~ msgstr "Přidat a upravit" - -#~ msgid "External zone" -#~ msgstr "Vnější zóna" - -#~ msgid "New SNAT rule" -#~ msgstr "Nové pravidlo SNAT" - -#~ msgid "New forward rule" -#~ msgstr "Nové přesměrovací pravidlo" - -#~ msgid "New input rule" -#~ msgstr "Nové vstupní pravidlo" - -#~ msgid "New port forward" -#~ msgstr "Nové přesměrování portu" - -#~ msgid "New source NAT" -#~ msgstr "Nový zdrojový NAT (SNAT)" - -#~ msgid "Open ports on router" -#~ msgstr "Otevřené porty na routeru" - -#~ msgid "Other..." -#~ msgstr "Ostatní ..." - -#~ msgid "To source IP" -#~ msgstr "Na zdrojovou IP" - -#~ msgid "To source port" -#~ msgstr "Na zdrojový port" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Nepojmenovaný vstup)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Nepojmenované pravidlo)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(Nepojmenovaný SNAT)" - -# nebo mimo zóny? -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Přesměrování mezi zónami" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "Vybrat provoz, přesměrovaný na zadaný port nebo rozsah portů" - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "Vybrat příchozí provoz, pocházející ze zadaného portu nebo rozsahu portů " -#~ "klienta." - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "Přepsat shodný provoz na uvedenou adresu." - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Přepsat shodný provoz na uvedený zdrojový port. Může zůstat prázdné, pak " -#~ "bude přepsána pouze IP adresa." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Přepsat na zdrojovou %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Přepsat na zdrojovou %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "IP adresa SNATu" - -#~ msgid "SNAT port" -#~ msgstr "Port SNATu" - -#~ msgid "Source NAT" -#~ msgstr "Zdrojový NAT" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "Zdrojový NAT je specifická forma maškarádování, která umožňuje " -#~ "jemnozrnnou kontrolu nad zdrojovými IP, použitými pro odchozí provoz. " -#~ "Využívá se například pro mapování množství WAN adres do vnitřních podsítí." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Tato stránka vám umožňuje změnit pokročilé vlastností přesměrování portů. " -#~ "Ve většině případů není potřeba upravovat tato nastavení." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Tato stránka vám umožňuje změnit pokročilé vlastnosti pravidla síťového " -#~ "provozu, například zdrojové a cílové hostitele." - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Lze určit více protokolů. Vyberte \"-- vlastní --\" a vkládejte protokoly " -#~ "oddělené mezerou." - -#~ msgid "Zone %q" -#~ msgstr "Zóna %q" - -#~ msgid "traffic" -#~ msgstr "provoz" diff --git a/luci-app-firewall/po/de/firewall.po b/luci-app-firewall/po/de/firewall.po deleted file mode 100644 index 596f13e1f..000000000 --- a/luci-app-firewall/po/de/firewall.po +++ /dev/null @@ -1,1587 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-04-01 19:11+0000\n" -"Last-Translator: CE4 \n" -"Language-Team: German \n" -"Language: de\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.0-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{src?%{dest?Weitergeleiteter:Eingehender}:Ausgehender} %{ipv6?%{ipv4?" -"IPv4- und IPv6:IPv6}:IPv4}-" -"Verkehr%{proto?, Protokoll %{proto#%{next?, }%{item.types?%{item.name}ICMP mit Typen " -"%{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp." -"val}:%{dscp.val}}}%{helper?, Tracking-Helfer %{helper.inv?" -"" -"%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- IP hinzufügen --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- MAC hinzufügen --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} erlauben" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "Quellmaskierung unterbinden" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"Weiterleiten zu %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? Port %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" -"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} verwerfen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" -"Setze DSCP-Klassifizierung auf " -"%{set_dscp}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"Assoziiere Tracking-Helfer %{set_helper}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"%{set_mark?Setze:XOR} Firewall-Markierung " -"%{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "Quell-IP automatisch maskieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"%{src?%{dest?Weiterleitungs:Eingangs}:Ausgangs}-Tracking verhindern" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" -"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} ablehnen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"Quell%{snat_ip?-IP %{snat_ip}} %{snat_port?Port %{snat_port}" -"} statisch umschreiben" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "Es muss eine IP-Adresse zum Umschreiben angegeben werden!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ACCEPT - Umschreiben von IP-Adressen deaktivieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Aktion" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"Zusätzliche rohe iptables-Argumente zur Klassifizierung des " -"Zonenzielverkehrs, z.B. -p tcp --dport 443, um nur ausgehenden " -"HTTPS-Verkehr übereinstimmen zu lassen." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"Zusätzliche rohe iptables-Argumente zur Klassifizierung von " -"Zonenquellenverkehr, z.B. -p tcp --sport 443, um nur " -"eingehenden HTTPS-Verkehr übereinstimmen zu lassen." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Erweiterte Einstellungen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Erlaube \"ungültigen\" Verkehr" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Erlaube Weiterleitung von Quellzone:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Erlaube Weiterleitung zu Zielzone:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Beliebig" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Beliebig" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"Bitweises XOR von angegebenem Wert und Maske auf etablierte Verbindungen " -"anwenden. Format ist Wert[/Maske]. Wenn eine Maske angegeben ist, werden die " -"korrespondierenden Bits des Wertes genullt." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" -"Wende die angegebene DSCP-Klasse oder den angegebenen DSCP-Wert auf " -"etablierte Verbindungen an." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"Weise den angegebenen Verbindungs-Tracking-Helfer selektiertem Verkehr zu." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Automatische Helferzuordnung" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Automatische Zuweisung von Conntrack-Helfern basierend auf Traffic-Protokoll " -"und Port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Conntrack-Einstellungen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Conntrack-Helfer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Inhalte wurden gespeichert." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Fortfahren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Abgedeckte Geräte" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Abgedeckte Netzwerke" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Abgedeckte Subnetze" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Benutzerdefinierte Regeln" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Benutzerdefinierte Regeln ermöglichen das Ausführen belieber iptables-" -"Befehle welche durch das Firewall-Framework nicht unterstützt werden. Die " -"Befehle werden mit jedem Firewall-Neustart abgearbeitet, direkt nach dem " -"Laden der Basisregeln." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "DSCP-Klassifizierung" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "DSCP-Markierung" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "DSCP-Markierung benötigt" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Zieladresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Zielport" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Ziel-Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Gerätename" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"Installiere keine zusätzlichen Regeln, um weitergeleiteten Traffic mit " -"Conntrack-Status invalid abzulehnen. Dies kann bei komplexen " -"asymmetrischen Routen erforderlich sein." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Ungültige Pakete verwerfen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Aktivieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "NAT-Loopback aktivieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Schutz vor SYN-flood-Attacken" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Protokollierung innerhalb der Zone aktivieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Erwarte: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Experimentelle Funktion. Nicht vollständig kompatibel mit QoS/SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"Wählt explizit zulässige Verbindungs-Tracking-Helfer für den Zonenverkehr aus" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Externe IP-Adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Externer Port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Zusätzliche Argumente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "Zusätzliche Ziel-Argumente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "Zusätzliche iptables-Argumente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "Zusätzliche Quell-Argumente" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Firewall - Benutzerdefinierte Regeln" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Firewall - NAT Regeln" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Firewall - Portweiterleitungen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Firewall - Traffic-Regeln" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Firewall - Zoneneinstellungen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "Migration der Firewall-Konfiguration" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Weitergeleitet" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"Weitergeleiteter IPv4-Verkehr%{proto?, Protokoll %{proto#%{next?, }" -"%{item.name}}}%{mark?, Markierung %{mark.val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Freitag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"Von %{src}%{src_device?, Schnittstelle %{src_device}}%{src_ip?, " -"IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, Port %{src_port#" -"%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"Von %{src}%{src_device?, Schnittstelle %{src_device}}%{src_ip?, " -"IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#" -"%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"Von %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " -"%{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Allgemeine Einstellungen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Hardwarebeschleunigte Flusskontrolle" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 und IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "nur IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "nur IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Eingehendes Gerät" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"Eingehender IPv4-Verkehr%{proto?, Protokoll %{proto#%{next?, }%{item.types?" -"%{item.name}ICMP mit Typen %{item.types#%{next?, }%{item}}:" -"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, Helfer " -"%{helper.inv?%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Eingehend" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Interne IP-Adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Interner Port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Interne Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Ungültige DSCP-Markierung" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Ungültiger Limit-Wert" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Limit-Häufung" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Protokollnachrichten limitieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Limitiere Vergleiche" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"Limitiere Vergleiche auf %{limit.num} Pakete pro %{limit." -"unit}%{limit.burst? Häufung %{limit.burst}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Limitiere Verkehrsvergleiche auf die angegebene Rate." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "Loopback Quell-IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" -"MASQUERADE - Automatisch auf IP-Adresse der ausgehenden Schnittstelle " -"umschreiben" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "MSS Korrektur" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "NAT aktivieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Filter" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "DSCP selektieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Nach ICMP-Typ filtern" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "Gerät selektieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "Selektiert an die angegebene IP-Adresse gerichteten Verkehr." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"Selektiert an den angegeben Port oder Port-Bereich gerichteten Verkehr." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" -"Selektiert weitergeleiteten Verkehr von dieser IP oder diesem IP-Bereich." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"Selektiert weitergeleiteten Verkehr vom angegebenem Quellport oder " -"Portbereich." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "Helfer selektieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Eingehende Verbindungen filtern welche an den angegebenen Port oder " -"Portbereich auf dem lokalen Gerät gerichtet sind" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "Erfasse Markierung" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "Selektiere Verkehr welcher den angegebenen Tracking-Helfer benutzt." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" -"Selektiert Verkehr mit einer spezifischen Firewall-Markierung oder einem " -"Bereich von Markierungen." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"Selektiert weitergeleiteten Verkehr welcher die angegebene " -"Netzwerkschnittstelle benutzt." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "Selektiere Verkehr welcher die angegebene DSCP-Markierung trägt." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"Maximale initiale Menge von Paketen die selektiert werden. Die Nummer wird " -"jedes Mal erhöht, wenn das oben genannte Limit nicht erreicht wird, bis zur " -"hier angegeben Anzahl." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Montag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Monatstage" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "NAT-Regeln" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"NAT-Regeln erlauben eine detaillierte Kontrolle über die verwendete Quell-IP-" -"Adresse für ausgehenden oder weitergeleiteten Verkehr." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Name" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Selektiert nur Traffic der an die angegebene IP-Adresse gerichtet ist." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Selektiert nur Traffic von den angegebenen MAC-Adressen." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Selektiert nur Traffic vom angebenem Quell-IP-Adressbereich." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Nur eingehenden Datenverkehr, der vom angegebenen Quellport oder Portbereich " -"des Client-Host stammt, selektieren" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "Ausgehende Schnittstelle" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "Ausgehende Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Ausgehend" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" -"Gibt zusätzliche Kommandozeilenargumente an iptables weiter. Mit Vorsicht " -"benutzen!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"Die Übergabe von rohen iptables-Argumenten an die Klassifizierungsregeln für " -"den Quell- und Zielverkehr ermöglicht es, Pakete abzugleichen, die auf " -"anderen Kriterien als Schnittstellen oder Subnetzen basieren. Diese Optionen " -"sollten mit äußerster Vorsicht verwendet werden, da ungültige Werte dazu " -"führen können, dass der Firewall-Regelsatz außer Funktion gesetzt wird und " -"alle Dienste vollständig offengelegt werden." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Portweiterleitungen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"Portweiterleitungen ermöglichen es entfernten Rechnern im Internet auf " -"bestimmte Computer oder Dienste im lokalen LAN zuzugreifen." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protokoll" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Gefilterte Verbindungen an den angegeben Port auf dem internen Host " -"weiterleiten" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Gefilterte Verbindungen an den angegeben internen Host weiterleiten" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" -"Erfordert Hardware-NAT-Unterstützung. (Zumindest für mt7621 implementiert)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "NAT auf die angegebenen Ziel-Subnetze beschränken" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "NAT auf die angegebenen Quell-Subnetze beschränken" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Beschränke auf Adressfamilie" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "IP-Adresse umschreiben" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "Selektierten Verkehr auf die angegebene Quell-IP-Adresse umschreiben." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"Selektierten Verkehr auf den angegebenen Quell-Port bzw. Port-Bereich " -"umschreiben." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "Port umschreiben" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Routing/NAT-Beschleunigung" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT - Umschreiben auf spezifische Quell-IP oder Port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Samstag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "Markierung setzen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"Setzt die angegebenen Markierung auf etablierten Verbindungen. Das Format " -"ist Wert[/Maske]. Wenn eine Maske spezifiziert ist, werden nur die " -"korrespondierenden Bits des Markierungswertes verändert." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Softwarebasierte Auslagerung von Routing/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Beschleunigte Flusskontrolle" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Quell-IP-Adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Quell-MAC-Adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Quelladresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Quellport" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Quell-Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"Gibt an, ob diese Verkehrsregel an eine spezifische Eingangs- oder " -"Ausgangsschnittstelle gebunden wird." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"Gibt an, ob die externe oder die interne IP-Adresse für reflektierten " -"Verkehr genutzt wird." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Startdatum (JJJJ-MM-TT)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Startzeit (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Enddatum (JJJJ-MM-TT)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Stoppzeit (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Sonntag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" -"Die existierende Firewall-Konfiguration muss geändert werden damit LuCI " -"richtig funktioniert." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"Die Firewall erstellt Netzwerkzonen über bestimmte Netzwerkschnittstellen um " -"den Netzwerk-Traffic zu trennen." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Die untenstehenden Optionen regeln die Verfahrensweisen für Traffic zwischen " -"dieser Zone (%s) und anderen Zonen. Ziel-Zonen decken " -"weitergeleiteten Traffic von %q ab. Quell-Zonen " -"treffen auf weitergeleiteten Traffic aus anderen Zonen zu, welcher " -"an %q gerichtet ist. Die Weiterleitung gilt nur in eine " -"Richtung, d. h. eine erlaubte Weiterleitung von LAN nach WAN bedeutet " -"nicht zusätzlich die Erlaubnis, auch von WAN nach LAN " -"weiterzuleiten." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Dieser Abschnitt definiert allgemeine Eigenschaften der %q-Zone. Die " -"input- und output-Optionen definieren die Regeln für " -"Datenverkehr, der in diese Zone eintritt oder diese verlässt. forward trifft auf Datenverkehr zwischen verschiedenen Schnittstellen innerhalb " -"dieser Zone zu. Covered networks definiert welche der verfügbaren " -"Netzwerke zu dieser Zone gehören." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Donnerstag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Zeitbeschränkungen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Zeit ist UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"Nach %{dest}%{dest_device?, Schnittstelle %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"Nach %{dest}%{dest_device?, über Schnittstelle %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"Nach %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "Tracking-Helfer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Traffic-Regeln" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Traffic-Regeln bestimmen den Fluss der Pakete zwischen verschiedenen Zonen, " -"zum Beispiel um Traffic zwischen bestimmten Rechnern zu unterbinden oder um " -"WAN-Ports auf dem Router zu öffnen." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Dienstag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Inhalt kann nicht gespeichert werden: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "Unbekannter oder nicht installierter Tracking-Helfer \"%s\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "Unbenannte NAT-Regel" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Unbenannte Portweiterleitung" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Unbennante Regel" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Unbenannte Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "Unbekanntes Protokoll" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"Beim Fortfahren werden \"redirect\" Sektionen mit \"SNAT\" Aktion in \"nat\" " -"Sektionen konvertiert und die Firewall wird neu gestartet um die geänderte " -"Konfiguration anzuwenden." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "Externe IP-Adresse nutzen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "Interne IP-Adresse nutzen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Diese Option verwenden, um den Zonenverkehr nach rohen, nicht uci-" -"verwalteten Netzwerkgeräten zu klassifizieren." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Diese Option verwenden, um den Zonenverkehr nach Quell- oder Zielsubnetz " -"anstelle von Netzwerken oder Geräten zu klassifizieren." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "Gültige Firewall-Markierung benötigt" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Mittwoch" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Wochentage" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "Firewallmarkierung XOR-en" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "Markierungen XOR-en" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zone ⇒ Weiterleitungen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zonen" - -# Die richtige Übersetzung von ACCEPT im Firewallkontext ist nicht "Annehmen" sondern "Zulassen". Man kann ja keinen -# ausgehenden Traffic annehmen. -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "zulassen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "beliebig" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "beliebige Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "Firewallmarkierung anwenden" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "Tracking-Helfer zuordnen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "Tag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "nicht umschreiben" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "nicht verfolgen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "verwerfen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "Stunde" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "Minute" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "zurückweisen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "Sekunde" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "dieses Gerät" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "diese neue Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "unlimitiert" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "unspezifiziert" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "gültige Firewall-Markierung" - -#~ msgid "%s in %s" -#~ msgstr "%s in %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s mit %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s in %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d Pkte. pro %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d Pkte. pro %s, Häufung %d Pkte." - -#~ msgid "%s and limit to %s" -#~ msgstr "%s und limitieren auf %s" - -#~ msgid "Accept forward" -#~ msgstr "Erlaubte Weiterleitung" - -#~ msgid "Accept input" -#~ msgstr "Eingang akzeptieren" - -#~ msgid "Accept output" -#~ msgstr "Ausgang akzeptieren" - -#~ msgid "Destination IP address" -#~ msgstr "Ziel IP-Adresse" - -#~ msgid "Discard forward" -#~ msgstr "Weiterleiten verwerfen" - -#~ msgid "Discard input" -#~ msgstr "Eingang verwerfen" - -#~ msgid "Discard output" -#~ msgstr "Ausgang verwerfen" - -#~ msgid "Do not rewrite" -#~ msgstr "Nicht umschreiben" - -#~ msgid "Do not track forward" -#~ msgstr "Weiterleitung nicht verfolgen" - -#~ msgid "Do not track input" -#~ msgstr "Eingang nicht verfolgen" - -#~ msgid "Do not track output" -#~ msgstr "Ausgang nicht verfolgen" - -#~ msgid "Forward to" -#~ msgstr "Weiterleiten an" - -#~ msgid "From %s in %s" -#~ msgstr "Von %s in %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Von %s in %s mit Quell-%s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Von %s in %s mit Quell-%s und %s" - -#~ msgid "From %s on this device" -#~ msgstr "Von %s auf dieses Gerät" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "Von %s auf diesem Gerät mit Quelle %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "Von %s auf dieses Gerät mit Quelle %s und %s" - -#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}" -#~ msgstr "Von %{ipaddr?:beliebigen Hosts} %{port?mit Quell-%{port}}" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP-Bereich" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "" -#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} " -#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}" -#~ msgstr "" -#~ "Selektiere %{protocol?%{family}-%{protocol} Verkehr:jeglichen %{family}-" -#~ "Verkehr} %{mark?mit Firewall-Markierung %{mark}}" - -#~ msgid "Network" -#~ msgstr "Netzwerk" - -#~ msgid "Refuse forward" -#~ msgstr "Weiterleiten ablehnen" - -#~ msgid "Refuse input" -#~ msgstr "Eingang ablehnen" - -#~ msgid "Refuse output" -#~ msgstr "Ausgang ablehnen" - -#~ msgid "Rewrite to" -#~ msgstr "Umschreiben auf…" - -#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}" -#~ msgstr "" -#~ "Umschreiben auf %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}" - -#~ msgid "Rewrite to outbound device IP" -#~ msgstr "Umschreiben auf ausgehende Schnittstellen-IP" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Zu %s an %s auf diesem Gerät" - -#~ msgid "To %s in %s" -#~ msgstr "Zu %s in %s" - -#~ msgid "To %s on this device" -#~ msgstr "Zu %s auf diesem Gerät" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Zu %s, %s in %s" - -#~ msgid "" -#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} " -#~ "%{device?egress device %{device}}" -#~ msgstr "" -#~ "Zu %{ipaddr?:beliebigem Host} %{port?an %{port}} %{zone?über Zone " -#~ "%{zone}} %{device?ausgehende Schnittstelle %{device}}" - -#~ msgid "Via %s" -#~ msgstr "Über %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Über %s an %s" - -#~ msgid "any host" -#~ msgstr "beliebiger Rechner" - -#~ msgid "any router IP" -#~ msgstr "beliebige Router-IP" - -#~ msgid "not" -#~ msgstr "nicht" - -#~ msgid "port" -#~ msgstr "Port" - -#~ msgid "ports" -#~ msgstr "Ports" - -#~ msgid "type" -#~ msgstr "Typ" - -#~ msgid "types" -#~ msgstr "Typen" - -#~ msgid "Force connection tracking" -#~ msgstr "Connectiontracking erzwingen" - -#~ msgid "Disable" -#~ msgstr "Deaktivieren" - -#~ msgid "Restart Firewall" -#~ msgstr "Firewall neu starten" - -#~ msgid "Rule is disabled" -#~ msgstr "Regel ist deaktiviert" - -#~ msgid "Rule is enabled" -#~ msgstr "Regel ist aktiviert" - -#~ msgid "Add" -#~ msgstr "Hinzufügen" - -#~ msgid "Add and edit..." -#~ msgstr "Hinzufügen und bearbeiten..." - -#~ msgid "External zone" -#~ msgstr "Externe Zone" - -#~ msgid "New SNAT rule" -#~ msgstr "Neue SNAT-Regel" - -#~ msgid "New forward rule" -#~ msgstr "Neue Weiterleitungsregel" - -#~ msgid "New input rule" -#~ msgstr "Neue eingehende Regel" - -#~ msgid "New port forward" -#~ msgstr "Neue Portweiterleitung" - -#~ msgid "New source NAT" -#~ msgstr "Neues SNAT" - -#~ msgid "Open ports on router" -#~ msgstr "Ports auf dem Router öffnen" - -#~ msgid "Other..." -#~ msgstr "Anderes..." - -#~ msgid "To source IP" -#~ msgstr "Zu Quell-IP" - -#~ msgid "To source port" -#~ msgstr "Zu Quell-Port" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Unbenannter Eintrag)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Unbenannte Regel)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(Unbennanter SNAT-Eintrag)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Weiterleitungen zwischen Zonen" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Selektiert weitergeleiteten Verkehr nach den angegebenen Ziel-Ports." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "Selektiert eingehenden Verkehr nach den angegebenen Quell-Ports." - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "" -#~ "Schreibe selektierten Verkehr auf die angegebene Quell-IP-Adresse um." - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Schreibe selektierten Verkehr auf den angegebenen Qull-Port um. Kann leer " -#~ "gelassen werden um nur die IP-Adresse umzuschreiben." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Schreibe um auf Quell-%s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Schreibe um auf Quell-%s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "SNAT-IP-Adresse" - -#~ msgid "SNAT port" -#~ msgstr "SNAT-Port" - -#~ msgid "Source NAT" -#~ msgstr "Source NAT" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "Source NAT ist eine spezifische From von NAT, welche volle Kontrolle über " -#~ "die verwendete Quell-IP-Adresse für ausgehenden Verkehr zulässt, zum " -#~ "Beispiel um mehrere WAN-IP-Adressen auf interne Subnetze abzubilden." - -#~ msgid "Start Time (hh:mm:ss)" -#~ msgstr "Startzeit (hh:mm:ss)" - -#~ msgid "Stop Time (hh:mm:ss)" -#~ msgstr "Endzeit (hh:mm:ss)" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Diese Seite bietet Zugriff auf die erweiterten Eigenschaften der " -#~ "Portweiterleitung. In den meisten Fällen ist es unnötig die Eigenschaften " -#~ "zu ändern." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Diese Seite bietet Zugriff auf die erweiterten Eigenschaften der " -#~ "Verkehrsregel, zum Beispiel die Selektion nach Quell- und Zieladressen." - -#~ msgid "Unnamed SNAT" -#~ msgstr "Unbennante SNAT-Regel" - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Durch die Auswahl von \"-- benutzerdefiniert --\" könnene mehrere Werte " -#~ "durch Leerzeichen getrennt angegeben werden." - -#~ msgid "Zone %q" -#~ msgstr "Zone %q" diff --git a/luci-app-firewall/po/el/firewall.po b/luci-app-firewall/po/el/firewall.po deleted file mode 100644 index 3dae7109a..000000000 --- a/luci-app-firewall/po/el/firewall.po +++ /dev/null @@ -1,1141 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Greek \n" -"Language: el\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Ενέργεια" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Ρυθμίσεις για προχωρημένους" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Οποιοδήποτε" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Προσαρμοσμένοι Κανόνες" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Διεύθυνση προορισμού" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Θύρα προορισμού" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Ζώνη προορισμού" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Αγνόηση μη-έγκυρων πακετών" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Ενεργοποίηση" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -#, fuzzy -msgid "Enable SYN-flood protection" -msgstr "Προστασία SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Εξωτερική διεύθυνση IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Εξωτερική θύρα" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Επιπλέον παράμετροι" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Τείχος προστασίας" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Τείχος προστασίας - Προσαρμοσμένοι Κανόνες" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Τείχος προστασίας - Προώθηση Θυρών" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Τείχος προστασίας - Κανόνες Κίνησεις" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Τείχος προστασίας - Ρυθμίσεις Ζώνης" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Προώθηση" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Γενικές Ρυθμίσεις" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 και IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Μόνο IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Μόνο IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Είσοδος" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -#, fuzzy -msgid "Internal IP address" -msgstr "Εσωτερική διεύθυνση" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -#, fuzzy -msgid "Internal port" -msgstr "Εξωτερική θύρα" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Εσωτερική ζώνη" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Περιορισμός καταγραφών συστήματος" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -#, fuzzy -msgid "MSS clamping" -msgstr "Περιορισμός MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Όνομα" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Έξοδος" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Προώθηση Θυρών" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Πρωτόκολλο" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -#, fuzzy -msgid "Source IP address" -msgstr "Διεύθυνση MAC πηγής" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -#, fuzzy -msgid "Source address" -msgstr "Διεύθυνση MAC πηγής" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Θύρα πηγής" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -#, fuzzy -msgid "Source zone" -msgstr "Θύρα πηγής" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"Το τείχος προστασίας δημιουργεί ζώνες πάνω στις διεπαφές δικτύου για να " -"ελέγχει την δικτυακή κίνηση." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Ζώνες" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "αποδοχή" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "αγνόηση" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "απόρριψη" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s με %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d πκτ. ανά %s" - -#~ msgid "Destination IP address" -#~ msgstr "Διεύθυνση IP προορισμού" - -#~ msgid "From %s in %s" -#~ msgstr "Απο %s στο %s" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "Force connection tracking" -#~ msgstr "Επιβολή παρακολούθησης σύνδεσης" - -#~ msgid "Add" -#~ msgstr "Προσθήκη" - -#~ msgid "Add and edit..." -#~ msgstr "Προσθήκη και επεξεργασία..." - -#~ msgid "Other..." -#~ msgstr "Άλλο..." diff --git a/luci-app-firewall/po/en/firewall.po b/luci-app-firewall/po/en/firewall.po deleted file mode 100644 index f595f3f81..000000000 --- a/luci-app-firewall/po/en/firewall.po +++ /dev/null @@ -1,1135 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Action" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Destination address" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Destination port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Destination zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Drop invalid packets" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Enable SYN-flood protection" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "External port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/zones.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Forward" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Input" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Internal IP address" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Internal port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "MSS clamping" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Masquerading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Name" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Output" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protocol" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Redirect matched incoming traffic to the given port on the internal host" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Redirect matched incoming traffic to the specified internal host" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Traffic Redirection" -# msgstr "" -# -# msgid "" -# "Traffic redirection allows you to change the destination address of " -# "forwarded packets." -# msgstr "" -# -# msgid "Overview" -# msgstr "" -# -# msgid "Name" -# msgstr "" -# -# msgid "Source zone" -# msgstr "" -# -# msgid "Source MAC-address" -# msgstr "" -# -# msgid "Source port" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Source IP address" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Source address" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Source port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Source zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zones" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "accept" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "any" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "drop" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "reject" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" diff --git a/luci-app-firewall/po/es/firewall.po b/luci-app-firewall/po/es/firewall.po deleted file mode 100644 index 55c4b5aa3..000000000 --- a/luci-app-firewall/po/es/firewall.po +++ /dev/null @@ -1,1600 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-26 12:41+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Spanish \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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{src?%{dest?Reenvío:Entrada}:Salida} %{ipv6?%{ipv4?IPv4 y " -"IPv6:IPv6}:IPv4}%{proto?, protocolo %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP con tipos %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, marca %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" -"%{dscp.val}}}%{helper?, ayudante %{helper.inv?%{helper." -"val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- Añadir IP --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- Añadir MAC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"Aceptar %{src?%{dest?reenvío:entrada}:" -"salida}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" -"Prevenir la reescritura de la fuente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"Reenviar a %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? puerto %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" -"Descartar %{src?%{dest?reenvío:entrada}:" -"salida}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" -"Asignar DSCP clasificación %{set_dscp}" -"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"Asignar conntrack ayudante %{set_helper}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"%{set_mark?Asignar:XOR} marca de firewall " -"%{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" -"Reescribir automáticamente IP de " -"origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"No seguir %{src?%{dest?reenvío:entrada}:" -"salida}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" -"Rechazar %{src?%{dest?reenvío:entrada}:" -"salida}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"Reescribir estáticamente a origen %{snat_ip?" -"IP %{snat_ip}} %{snat_port?puerto %{snat_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "¡Se debe especificar una IP de reescritura!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ACEPTAR - Desactivar reescritura de direcciones" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Acción" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"Argumentos sin procesar adicionales de iptables para clasificar el " -"tráfico de destino de la zona, p.e. -p tcp --dport 443 para que " -"solo coincida con el tráfico HTTPS saliente." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"Argumentos sin procesar adicionales de iptables para clasificar el " -"tráfico de origen de zona, p.e. -p tcp --sport 443 para que " -"solo coincida con el tráfico HTTPS entrante." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Configuración avanzada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Permitir tráfico \"inválido\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Permitir reenvío desde zonas de origen:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Permitir reenvío a zonas de destino:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Cualquiera" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Cualquier día" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"Aplique un XOR bit a bit del valor dado y el valor de marca existente en las " -"conexiones establecidas. El formato es el valor [/ máscara]. Si se " -"especifica una máscara, esos bits establecidos en la máscara se ponen a cero." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "Aplique la clase o valor DSCP dado a las conexiones establecidas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"Asigne el asistente de seguimiento de conexión especificado al tráfico " -"coincidente." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Asignación automática de ayuda" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Asigna automáticamente ayudantes de conntrack según el protocolo de tráfico " -"y el puerto" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Configuraciones de Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Ayudantes de Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Los contenidos han sido guardados." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Continuar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Interfaces cubiertas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Redes cubiertas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Subredes cubiertas" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Reglas personalizadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Las reglas personalizadas le permiten ejecutar comandos de iptables que no " -"están disponibles en el marco del firewall. Los comandos se ejecutarán tras " -"cualquier reinicio del FIrewall, justo tras haber cargado el conjunto de " -"reglas predeterminadas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "Clasificación DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "Marca DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "Marca DSCP requerida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Dirección de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Puerto de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Zona de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Nombre del dispositivo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"No instale reglas adicionales para rechazar el tráfico reenviado con el " -"estado conntrack inválido. Esto puede ser necesario para " -"configuraciones complejas de rutas asimétricas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Descartar paquetes inválidos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Activar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Activar bucle NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Activar protección contra inundaciones SYN" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Activar registro en esta zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Esperando: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Característica experimental. No es totalmente compatible con QoS/SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"Elige explícitamente los ayudantes de seguimiento de conexión permitidos " -"para el tráfico de zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Dirección IP externa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Puerto externo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Argumentos extra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "Argumentos de destino adicionales" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "Argumentos adicionales de iptables" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "Argumentos fuente adicionales" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Firewall - Reglas personalizadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Firewall - Reglas de NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Firewall - Reenvío de puertos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Firewall - Reglas de tráfico" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Firewall - Configuración de la zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "Migración de configuración de Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Reenviar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"Reenviar IPv4%{proto?, protocolo %{proto#%{next?, }%{item.name}}}%{mark?, marca %{mark.val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Viernes" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"Desde %{src}%{src_device?, interfaz %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"puerto %{src_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"Desde %{src}%{src_device?, interfaz %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"puerto %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#" -"%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"Desde %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, puerto %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " -"MAC %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Configuración general" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Descarga de flujo por hardware" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 e IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Sólo IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Sólo IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Dispositivo de entrada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"IPv4 entrante%{proto?, protocolo %{proto#%{next?, }%{item.types?%{item.name}ICMP con " -"tipos %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}}%{helper?, ayudante %{helper.inv?" -"%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Entrada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Dirección IP interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Puerto interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Zona interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Marca DSCP inválida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Valor límite no válido" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Límite de ráfaga" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Limitar registro de mensajes" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Limitar coincidencia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"Limitar coincidencia a %{limit.num} paquetes por %{limit." -"unit}%{limit.burst? interrumpir %{limit.burst}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Limita el tráfico que coincide con la velocidad especificada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "IP de origen de bucle invertido" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "MASQUERADE - Reescribe automáticamente a la interfaz IP saliente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Fijado de MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Enmascaramiento" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Coincidir" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "Coincidir DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Coincidir con tipo ICMP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "Dispositivo de coincidencia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "Haga coincidir el tráfico reenviado dirigido a la dirección IP dada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"Haga coincidir el tráfico reenviado dirigido al puerto de destino o rango de " -"puertos dados." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "Haga coincidir el tráfico reenviado desde esta IP o rango." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"Haga coincidir el tráfico reenviado que se origina en el puerto fuente o " -"rango de puertos dados." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "Ayudante de partido" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Coincidir con tráfico de entrada dirigido al puerto o rango de puertos " -"destino en este host" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "Marca de partido" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" -"Haga coincidir el tráfico con el ayudante de seguimiento de conexión " -"especificado." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" -"Coincide con una marca de firewall específica o un rango de marcas " -"diferentes." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"Coincide con el tráfico reenviado utilizando el dispositivo de red saliente " -"especificado." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "Coincide con el tráfico que lleva la marca DSCP especificada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"Número inicial máximo de paquetes que deben coincidir: este número se " -"recarga en uno cada vez que no se alcanza el límite especificado " -"anteriormente, hasta este número." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Lunes" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Días del mes" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "Reglas de NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"Las reglas de NAT permiten un control detallado sobre la IP de origen para " -"el tráfico saliente o reenviado." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Nombre" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Coincidir sólo con tráfico de entrada a esta dirección IP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Coincidir sólo con tráfico de entrada desde estas MACs." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Coincidir sólo con tráfico de entrada desde esta IP o rango." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Solo coincida con el tráfico entrante que se origina desde el puerto de " -"origen o el rango de puertos en el host del cliente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "Dispositivo de salida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "Zona de salida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Salida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "Ingrese argumentos adicionales a iptables. ¡Utilícelo con cuidado!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"Pasar argumentos de iptables sin procesar a las reglas de clasificación de " -"tráfico de origen y destino permite hacer coincidir paquetes basados en " -"otros criterios que no sean interfaces o subredes. Estas opciones se deben " -"usar con extremo cuidado, ya que los valores inválidos pueden hacer que el " -"conjunto de reglas del firewall se rompa, exponiendo completamente todos los " -"servicios." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Reenvío de puertos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"El reenvío de puertos permite a ordenadores remotos en internet conectar a " -"un ordenador o servicio específico en la LAN privada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protocolo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Redirigir el tráfico de entrada que coincida al puerto dado en el host " -"interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" -"Redirigir el tráfico de entrada que coincida al host interno especificado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" -"Requiere soporte de NAT por hardware. Implementado al menos para mt7621" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Restringir enmascaramiento a las subredes destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Restringir enmascaramiento a las subredes origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Restringir a la familia de direcciones" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "Reescribir dirección IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" -"Reescribe el tráfico coincidente a la dirección IP de origen especificada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"Reescribe el tráfico coincidente al puerto de origen o rango de puertos " -"especificados." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "Reescribir puerto" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Enrutamiento/NAT Offloading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT - Reescribe a una fuente específica IP o puerto" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Sábado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "Establecer marca" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"Establezca el valor de marca dado en las conexiones establecidas. El formato " -"es el valor [/máscara]. Si se especifica una máscara, sólo se modifican los " -"bits establecidos en la máscara." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Descarga basada en software para enrutamiento/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Descarga de flujo por software" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Dirección IP de origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Dirección MAC de origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Dirección de origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Puerto de origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Zona de origen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"Especifica si se debe vincular esta regla de tráfico a un dispositivo de red " -"entrante o saliente específico." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"Especifica si se debe usar la dirección IP externa o interna para el tráfico " -"reflejado." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Fecha de inicio (aaaa-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Hora de inicio (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Fecha de finalización (aaaa-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Hora de finalización (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Domingo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" -"La configuración de firewall existente debe cambiarse para que LuCI funcione " -"correctamente." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"El Firewall crea zonas sobre sus interfaces de red para controlar el flujo " -"del tráfico." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Estas opciones controlan las políticas de reenvío entre esta zona (%s) y " -"otras. Las zonas de origen cubren el tráfico reenviado desde " -"%q. Las zonas de origen coinciden con el tráfico " -"reenviado desde otras zonas dirigido a %q. La regla de " -"reenvío es unidireccional, por ejemplo una regla de reenvío desde " -"la LAN a la WAN no implica permiso para reenviar desde la WAN a la " -"LAN también." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Esta sección define propiedades comunes de %q. Las opciones de entrada y la salida marcan las políticas por defecto para el tráfico " -"que entra y deja esta zona mientras que la opción reenvío describe " -"la política para tráfico reenviado desde diferentes redes en la zona. " -"Redes cubiertas especifican qué redes disponibles son miembros de " -"esta zona." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Jueves" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Restricciones de tiempo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Tiempo en UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"A %{dest}%{dest_device?, interfaz %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, " -"puerto %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"A %{dest}%{dest_device?, via interfaz %{dest_device}}%{dest_ip?, " -"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, " -"puerto %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"A %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, puerto %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "Ayudante de seguimiento" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Reglas de tráfico" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Las reglas de tráfico definen políticas para los paquetes que viajan entre " -"diferentes zonas, por ejemplo, para rechazar el tráfico entre ciertos hosts " -"o para abrir puertos WAN en el enrutador." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Martes" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "No se puede guardar el contenido: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "Ayudante de Conntrack desconocido o no instalado \"%s\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "NAT sin nombre" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Reenvío sin nombre" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Regla sin nombre" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Zona sin nombre" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "Protocolo no reconocido" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"Al presionar \"Continuar\", las secciones de \"redireccionamiento\" con " -"\"SNAT\" de destino se convertirán en secciones \"nat\" y el firewall se " -"reiniciará para aplicar la configuración actualizada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "Usar dirección IP externa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "Usar dirección IP interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Use esta opción para clasificar el tráfico de zona por raw, dispositivos de " -"red no administrados uci." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Use esta opción para clasificar el tráfico de zona por subred de origen o " -"destino en lugar de redes o dispositivos." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "Se requiere una marca de firewall válida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Miércoles" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Días de la semana" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "Marca de firewall XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "Marca XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zona ⇒ Reenvíos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zonas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "Aceptar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "cualquiera" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "cualquier zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "aplicar marca de firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "asignar ayudante de Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "Día" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "no reescribir" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "No seguir" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "Descartar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "Hora" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "minuto" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "Rechazar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "segundo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "este dispositivo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "esta nueva zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "ilimitado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "Sin especificar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "marca de firewall válida" - -#~ msgid "%s in %s" -#~ msgstr "%s en %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s con %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s en %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d paquetes por %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "" -#~ "%d paquetes por %s, máximo %d paquetes." - -#~ msgid "%s and limit to %s" -#~ msgstr "%s y limitar a %s" - -#~ msgid "Accept forward" -#~ msgstr "Aceptar reenvío" - -#~ msgid "Accept input" -#~ msgstr "Aceptar entrada" - -#~ msgid "Accept output" -#~ msgstr "Aceptar salida" - -#~ msgid "Destination IP address" -#~ msgstr "Dirección IP destino" - -#~ msgid "Discard forward" -#~ msgstr "Descartar reenvío" - -#~ msgid "Discard input" -#~ msgstr "Descartar entrada" - -#~ msgid "Discard output" -#~ msgstr "Descartar salida" - -#~ msgid "Do not rewrite" -#~ msgstr "No reescribir" - -#~ msgid "Do not track forward" -#~ msgstr "No seguir reenvío" - -#~ msgid "Do not track input" -#~ msgstr "No seguir entrada" - -#~ msgid "Do not track output" -#~ msgstr "No seguir salida" - -#~ msgid "Forward to" -#~ msgstr "Reenviar a" - -#~ msgid "From %s in %s" -#~ msgstr "Desde %s en %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Desde %s en %s con origen %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Desde %s en %s con origen %s y %s" - -#~ msgid "From %s on this device" -#~ msgstr "Desde %s en este dispositivo" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "Desde %s en este dispositivo con la fuente %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "De %s en este dispositivo con la fuente %s y %s" - -#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}" -#~ msgstr "Desde %{ipaddr?:cualquier host} %{puerto?con origen %{puerto}}" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Rango de IP" - -#~ msgid "IPs" -#~ msgstr "IP" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC" - -#~ msgid "" -#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} " -#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}" -#~ msgstr "" -#~ "Coincidir %{protocolo?%{familia} %{protocolo} tráfico:cualquiera " -#~ "%{familia} tráfico} %{marco?con marco de firewall %{marco}}" - -#~ msgid "Network" -#~ msgstr "Red" - -#~ msgid "Refuse forward" -#~ msgstr "Rechazar reenvío" - -#~ msgid "Refuse input" -#~ msgstr "Rechazar entrada" - -#~ msgid "Refuse output" -#~ msgstr "Rechazar salida" - -#~ msgid "Rewrite to" -#~ msgstr "Reescribe a" - -#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}" -#~ msgstr "" -#~ "Reescribe a %{ipaddr?%{puerto?%{ipaddr}, %{puerto}:%{ipaddr}}:%{puerto}}" - -#~ msgid "Rewrite to outbound device IP" -#~ msgstr "Reescribir a la IP del dispositivo saliente" - -#~ msgid "To %s at %s on this device" -#~ msgstr "A %s en %s por este dispositivo" - -#~ msgid "To %s in %s" -#~ msgstr "A %s en %s" - -#~ msgid "To %s on this device" -#~ msgstr "A %s por este dispositivo" - -#~ msgid "To %s, %s in %s" -#~ msgstr "A %s, %s en %s" - -#~ msgid "" -#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} " -#~ "%{device?egress device %{device}}" -#~ msgstr "" -#~ "A %{ipaddr?:cualquier destino} %{puerto?a %{puerto}} %{zona?via zona " -#~ "%{zona}} %{dispositivo?dispositivo de salida %{dispositivo}}" - -#~ msgid "Via %s" -#~ msgstr "Vía %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Vía %s a %s" - -#~ msgid "any host" -#~ msgstr "cualquier host" - -#~ msgid "any router IP" -#~ msgstr "cualquier router IP" - -#~ msgid "not" -#~ msgstr "No" - -#~ msgid "port" -#~ msgstr "puerto" - -#~ msgid "ports" -#~ msgstr "puertos" - -#~ msgid "type" -#~ msgstr "Tipo" - -#~ msgid "types" -#~ msgstr "Tipos" - -#~ msgid "Force connection tracking" -#~ msgstr "Forzar seguimiento de conexión" - -#~ msgid "" -#~ "Prevent the installation of NOTRACK rules which would bypass " -#~ "connection tracking." -#~ msgstr "" -#~ "Evite la instalación de reglas NOTRACK que evitarían el " -#~ "seguimiento de la conexión." - -#~ msgid "Disable" -#~ msgstr "Desactivar" - -#~ msgid "Restart Firewall" -#~ msgstr "Reiniciar Firewall" - -#~ msgid "Rule is disabled" -#~ msgstr "Regla desactivada" - -#~ msgid "Rule is enabled" -#~ msgstr "Regla activada" - -#~ msgid "Add" -#~ msgstr "Añadir" - -#~ msgid "Add and edit..." -#~ msgstr "Añadir y editar..." - -#~ msgid "External zone" -#~ msgstr "Zona externa" - -#~ msgid "New SNAT rule" -#~ msgstr "Nueva regla SNAT" - -#~ msgid "New forward rule" -#~ msgstr "Nueva regla de reenvío" - -#~ msgid "New input rule" -#~ msgstr "Nueva regla de entrada" - -#~ msgid "New port forward" -#~ msgstr "Nuevo reenvío de puerto" - -#~ msgid "New source NAT" -#~ msgstr "Nuevo origen NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Abrir puertos en el router" - -#~ msgid "Other..." -#~ msgstr "Otros..." - -#~ msgid "To source IP" -#~ msgstr "A IP origen" - -#~ msgid "To source port" -#~ msgstr "A puerto origen" - -#~ msgid "Output zone" -#~ msgstr "Zona de salida" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Entrada sin nombre)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Regla sin nombre)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(SNAT sin nombre)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Reenvío entre zonas" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Coincidir con tráfico reenviado al puerto o rango de puertos destino." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "Haga coincidir el tráfico entrante que se origina en el puerto de origen " -#~ "o el rango de puertos en el host del cliente." - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "Reescribir el tráfico que coincida a estas direcciones." - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Reescribir el tráfico que coincida con este puerto origen. Deje en blanco " -#~ "para reescribir sólo la dirección IP." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Reescribir a origen %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Reescribir a origen %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "Dirección IP SNAT" - -#~ msgid "SNAT port" -#~ msgstr "Puerto SNAT" - -#~ msgid "Source NAT" -#~ msgstr "Origen NAT" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "Origen NAT es una forma específica de enmascaramiento que permite el " -#~ "control fino del origen IP que se usa en el tráfico de salida por ejemplo " -#~ "para dirigir múltiples direcciones WAN a las subredes internas." - -#~ msgid "Start Time (hh:mm:ss)" -#~ msgstr "Hora de inicio (hh:mm:ss)" - -#~ msgid "Stop Time (hh:mm:ss)" -#~ msgstr "Hora de finalización (hh:mm:ss)" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Propiedades avanzadas de la entrada \"reenvío de puertos\". No suele ser " -#~ "necesario modificar esta configuración." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Esta página le permite cambiar las propiedades avanzadas de la entrada de " -#~ "la regla de tráfico, como los hosts de origen y destino coincidentes." - -#~ msgid "Unnamed SNAT" -#~ msgstr "SNAT sin nombre" - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Puede poner varios seleccionando \"-- personalizado --\" e introduciendo " -#~ "los protocolos separados por espacio." - -#~ msgid "Zone %q" -#~ msgstr "Zona %q" - -#~ msgid "traffic" -#~ msgstr "Tráfico" diff --git a/luci-app-firewall/po/fr/firewall.po b/luci-app-firewall/po/fr/firewall.po deleted file mode 100644 index bc11f49aa..000000000 --- a/luci-app-firewall/po/fr/firewall.po +++ /dev/null @@ -1,1417 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-03-20 17:55+0000\n" -"Last-Translator: Hydci \n" -"Language-Team: French \n" -"Language: fr\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.0-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- ajouter IP --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- ajouter MAC --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"Accepter %{src?%{dest?forward:input}:" -"output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "Empêcher la réécriture de la source" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"Suivre vers %{dest}%{dest_ip ? IP " -"%{dest_ip}}%{dest_port ? port %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" -"Laisser %{src?%{dest?forward:input}:output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" -"Assigner DSCP classification " -"%{set_dscp}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"Attribuer conntrack assistant %{set_helper}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" -"Réécrire automatiquement l'IP source" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"Ne pas suivre %{src?%{dest?forward:" -"input}:output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" -"Rejeter %{src?%{dest?forward:input}:" -"output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "Une IP de réécriture doit être spécifiée!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ACCEPTER - Désactiver la réécriture d'adresses" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Action" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"Arguments iptables bruts supplémentaires pour classer le trafic de " -"destination de la zone, par exemple -p tcp --dport 443 pour " -"correspondre uniquement au trafic HTTPS sortant." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"Arguments iptables bruts supplémentaires pour classer le trafic " -"source de la zone, par exemple -p tcp --sport 443 pour " -"correspondre uniquement au trafic HTTPS entrant." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Paramètres avancés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Autoriser le trafic \"non valide\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Permettre la transmission des zones source :" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Permettre la transmission vers les zones destination :" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "N'importe lequel" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "N'importe quel jour" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"Appliquer un XOR au niveau du bit de la valeur donnée et de la valeur de " -"repère existante sur les connexions établies. Le format est la valeur[/" -"mask]. Si un masque est spécifié, les bits définis dans le masque sont mis à " -"zéro." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "Appliquez la classe ou la valeur DSCP donnée aux connexions établies." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"Attribuez l'assistant de suivi des connexions spécifié au trafic " -"correspondant." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Affectation automatique des assistants" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Attribuer automatiquement des assistants conntrack en fonction du protocole " -"de trafic et du port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Paramètres Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Assistants Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Le contenu a été enregistré." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Continuer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Appareils couverts" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Réseaux couverts" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Sous-réseaux couverts" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Régles spécifiques" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Les règles personnalisées vous permettent d'exécuter des commandes iptables " -"arbitraires qui ne sont pas autrement couvertes par le framework de pare-" -"feu. Les commandes sont exécutées après chaque redémarrage du pare-feu, " -"juste après le chargement de l'ensemble de règles par défaut." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "Classification DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "Marque DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "Marque DSCP requise" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Adresse de destination" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Port de destination" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Zone de destination" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Nom de l'appareil" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"N'installez pas de règles supplémentaires pour rejeter le trafic transféré " -"avec l'état conntrack invalide. Cela peut être nécessaire pour les " -"configurations de route asymétriques complexes." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Supprimer les paquets invalides" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Activer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Activer le NAT sur la boucle-locale" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Activer la protection contre le SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Activer les traces (logs) sur cette zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Attendu : % s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Fonction expérimentale. Pas entièrement compatible avec QoS/SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"Choisit explicitement les assistants de suivi de connexion autorisés pour le " -"trafic de zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Adresse IP externe" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Port externe" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Arguments supplémentaires" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "Arguments de destination supplémentaires" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "Arguments supplémentaires iptables" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "Arguments sources supplémentaires" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# applications/luci-fw/luasrc/model/cbi/luci_fw/zones.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Pare-feu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Pare-feu - Règles personnalisées" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Pare-feu - Règles NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Pare-feu - Redirections de ports" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Pare-feu - Règles de trafic" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Pare-feu - Configuration des zones" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "Migration de la configuration du pare-feu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Transférer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Vendredi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Paramètres généraux" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Déchargement de flux matériel" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 et IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "IPv4 seulement" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "IPv6 seulement" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Appareil entrant" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Entrée" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Adresse IP interne" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Port interne" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Zone interne" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Marque DSCP non valide" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Valeur limite non valide" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Rafale limite" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Limiter les messages de journalisation" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Limiter la correspondance" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"Limiter la correspondance à %{limit.num} paquets par %{limit." -"unit}%{limit.burst? burst %{limit.burst}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Limite le trafic correspondant au débit spécifié." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "IP source de bouclage" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "MASQUERADE - Réécriture automatique sur l'IP de l'interface sortante" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Contrainte du MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Masquage" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Match" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "Match DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Type ICMP correspondant" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "Match device" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" -"Faites correspondre le trafic transféré dirigé vers l'adresse IP donnée." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"Faites correspondre le trafic transféré dirigé vers le port de destination " -"ou la plage de ports donné." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" -"Faites correspondre le trafic transféré depuis cette adresse IP ou cette " -"plage." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"Faites correspondre le trafic transféré provenant du port source ou de la " -"plage de ports donné." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "Aide au match" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Prendre en compte le trafic dirigé vers le port de destination donné (ou la " -"gamme de ports) sur cet hôte" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "Match mark" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" -"Faites correspondre le trafic à l'aide de l'assistant de suivi des " -"connexions spécifié." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" -"Correspond à une marque de pare-feu spécifique ou à une gamme de marques " -"différentes." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"Correspond au trafic transféré à l'aide du périphérique réseau sortant " -"spécifié." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "Correspond au trafic portant le marquage DSCP spécifié." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"Nombre initial maximal de paquets à faire correspondre: ce nombre est " -"rechargé d'un à chaque fois que la limite spécifiée ci-dessus n'est pas " -"atteinte, jusqu'à ce nombre." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Lundi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Mois jours" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "Règles NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"Les règles NAT permettent un contrôle fin sur l'IP source à utiliser pour le " -"trafic sortant ou transféré." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Nom" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" -"Correspondre uniquement au trafic entrant dirigé vers l'adresse IP donnée." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Montrer seulement le trafic entrant provenant de ces adresses MAC." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" -"Correspondre uniquement au trafic entrant provenant de cette adresse IP ou " -"de cette plage." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Faire correspondre uniquement le trafic entrant provenant du port source ou " -"de la plage de ports donné sur l'hôte client" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "Périphérique sortant" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "Zone sortante" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Sortie" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" -"Passe des arguments supplémentaires aux tables d'adresses IP. A utiliser " -"avec précaution !" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"Le passage d'arguments iptables bruts aux règles de classification du trafic " -"source et de destination permet de faire correspondre les paquets en " -"fonction d'autres critères que les interfaces ou les sous-réseaux. Ces " -"options doivent être utilisées avec une extrême prudence, car des valeurs " -"non valides peuvent endommager le jeu de règles du pare-feu, exposant " -"complètement tous les services." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Redirections de port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"La redirection de port permet aux ordinateurs distants sur Internet, de se " -"connecter à un ordinateur ou service spécifié dans le réseau local privé." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protocole" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Rediriger le trafic entrant correspondant vers le port donné sur l'hôte " -"interne" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Rediriger le trafic entrant correspondant vers l'hôte interne spécifié" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "Nécessite un support NAT matériel. Implémenté au moins pour mt7621" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" -"Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux " -"destinataires" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" -"Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux " -"sources" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Restreindre à cette famille d'adresses" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "Réécrire l'adresse IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "Réécrivez le trafic correspondant à l'adresse IP source spécifiée." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"Réécrivez le trafic correspondant sur le port source ou la plage de ports " -"spécifié." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "Port de réécriture" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Routage/déchargement NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT - Réécriture sur IP ou port source spécifique" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Samedi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "Définir la marque" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"Définissez la valeur de repère donnée sur les connexions établies. Le format " -"est la valeur[/mask]. Si un masque est spécifié, seuls les bits définis dans " -"le masque sont modifiés." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Déchargement basé sur logiciel pour le routage/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Déchargement de flux logiciel" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Traffic Redirection" -# msgstr "" -# -# msgid "" -# "Traffic redirection allows you to change the destination address of " -# "forwarded packets." -# msgstr "" -# -# msgid "Overview" -# msgstr "" -# -# msgid "Name" -# msgstr "" -# -# msgid "Source zone" -# msgstr "" -# -# msgid "Source MAC-address" -# msgstr "" -# -# msgid "Source port" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Adresse IP source" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Adresse MAC source" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Adresse source" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Port source" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Zone source" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"Spécifie s'il faut lier cette règle de trafic à un périphérique réseau " -"entrant ou sortant spécifique." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"Spécifie s'il faut utiliser l'adresse IP externe ou interne pour le trafic " -"réfléchi." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Date de début (aaaa-mm-jj)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Heure de début (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Date d'arrêt (aaaa-mm-jj)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Heure d'arrêt (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Dimanche" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" -"La configuration de pare-feu existante doit être modifiée pour que LuCI " -"fonctionne correctement." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"Le pare-feu crée des zones sur les interfaces réseau pour contrôler le flux " -"du trafic réseau." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Les options ci-dessous contrôlent les politiques de transmission entre cette " -"zone (%s) et les autres zones. Zones de destination couvre le " -"trafic transfmis venant de %q. Zones source " -"correspond au trafic transféré d'autres zones à destination de %q. La règle de transmission est unidirectionnelle, la " -"transmission du LAN au WAN n'implique pas également l'autorisation " -"de transmission du WAN au LAN." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Cette section définit les propriétés communes de %q. Les options entrée et sortie définissent les politiques par défaut pour le trafic " -"entrant et sortant de cette zone tandis que l'option en avant " -"décrit la politique pour le trafic transféré entre différents réseaux dans " -"la zone. Réseaux couverts spécifie quels réseaux disponibles sont " -"membres de cette zone." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Jeudi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Restrictions de temps" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Heure en UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "Aide au suivi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Règles de trafic" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Les règles de trafic définissent des politiques pour les paquets voyageant " -"entre différentes zones, par exemple pour rejeter le trafic entre certains " -"hôtes ou pour ouvrir des ports WAN sur le routeur." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Mardi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Impossible d'enregistrer le contenu: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "Assistant conntrack inconnu ou non installé \"%s\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "NAT sans nom" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Transférer sans nom" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Règle sans nom" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Zone sans nom" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "Protocole non reconnu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"En appuyant sur \"Continuer\", les sections \"rediriger\" avec la cible " -"\"SNAT\" seront converties en sections \"nat\" et le pare-feu sera redémarré " -"pour appliquer la configuration mise à jour." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "Utiliser une adresse IP externe" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "Utiliser l'adresse IP interne" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Utilisez cette option pour classer le trafic de zone par périphériques " -"réseau bruts non uci gérés." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Utilisez cette option pour classer le trafic de zone par sous-réseau source " -"ou de destination au lieu de réseaux ou de périphériques." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "Marque de pare-feu valide requise" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Mercredi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Jours de la semaine" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "Marque de pare-feu XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "Marque XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zone ⇒ Transmissions" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zones" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "accepter" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "tous" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "n'importe quelle zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "appliquer une marque de pare-feu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "affecter l'assistant conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "journée" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "ne réécris pas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "ne pas suivre" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "ignorer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "heure" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "minute" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "rejeter" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "seconde" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "cet appareil" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "cette nouvelle zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "non limité" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "non précisé" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "marque de pare-feu valide" - -#~ msgid "%s in %s" -#~ msgstr "%s dans %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s avec %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s dans %s" - -#~ msgid "Accept input" -#~ msgstr "Accepter l'entrée" - -#~ msgid "Destination IP address" -#~ msgstr "Adresse IP de destination" - -#~ msgid "Forward to" -#~ msgstr "Transférer à" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Plage IP" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "Network" -#~ msgstr "Réseau" - -#~ msgid "any host" -#~ msgstr "n'importe quel hôte" - -#~ msgid "not" -#~ msgstr "ne pas" - -#~ msgid "port" -#~ msgstr "port" - -#~ msgid "type" -#~ msgstr "type" - -#~ msgid "Force connection tracking" -#~ msgstr "Forcer le suivi des connexions" - -#~ msgid "Disable" -#~ msgstr "Désactiver" - -#~ msgid "External zone" -#~ msgstr "Zone externe" - -#~ msgid "New SNAT rule" -#~ msgstr "Nouvelle règle SNAT" - -#~ msgid "New input rule" -#~ msgstr "Nouvelle règle d'entrée" - -#~ msgid "New port forward" -#~ msgstr "Nouvelle redirection de port" - -#~ msgid "New source NAT" -#~ msgstr "Nouvelle source NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Ports ouverts sur le routeur" - -#~ msgid "Other..." -#~ msgstr "Autre..." - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Transmission entre zones" - -#~ msgid "SNAT IP address" -#~ msgstr "Adresse IP SNAT" - -#~ msgid "SNAT port" -#~ msgstr "Port SNAT" - -#~ msgid "Source NAT" -#~ msgstr "Source NAT" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Cette page vous permet de modifier les propriétés avancées parmi les " -#~ "entrées de redirection de port. Dans la plupart des cas, cela n'est pas " -#~ "nécessaire de modifier ces paramètres." - -#~ msgid "Zone %q" -#~ msgstr "Zone %q" diff --git a/luci-app-firewall/po/he/firewall.po b/luci-app-firewall/po/he/firewall.po deleted file mode 100644 index 008c542aa..000000000 --- a/luci-app-firewall/po/he/firewall.po +++ /dev/null @@ -1,1093 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\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" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" diff --git a/luci-app-firewall/po/hi/firewall.po b/luci-app-firewall/po/hi/firewall.po deleted file mode 100644 index 825fb1625..000000000 --- a/luci-app-firewall/po/hi/firewall.po +++ /dev/null @@ -1,1139 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Hindi \n" -"Language: hi\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/zones.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Traffic Redirection" -# msgstr "" -# -# msgid "" -# "Traffic redirection allows you to change the destination address of " -# "forwarded packets." -# msgstr "" -# -# msgid "Overview" -# msgstr "" -# -# msgid "Name" -# msgstr "" -# -# msgid "Source zone" -# msgstr "" -# -# msgid "Source MAC-address" -# msgstr "" -# -# msgid "Source port" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "MAC" -#~ msgstr "MAC" diff --git a/luci-app-firewall/po/hu/firewall.po b/luci-app-firewall/po/hu/firewall.po deleted file mode 100644 index cf1c6aad5..000000000 --- a/luci-app-firewall/po/hu/firewall.po +++ /dev/null @@ -1,1454 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2020-03-31 13:27+0000\n" -"Last-Translator: Tamas Szanto \n" -"Language-Team: Hungarian \n" -"Language: hu\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.0-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- IP-cím hozzáadása --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- MAC-cím hozzáadása --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "Forrás felülírásának tiltása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"Továbbítás ide: %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" -"Eldobás %{src?%{dest?forward:input}:output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "Egy átírási IP-t meg kell adni!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ELFOGADÁS – címátírás letiltása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Művelet" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"További nyers iptables argumentumok a zóna célforgalmának " -"besorolásához, például -p tcp --dport 443 csak a kimenő HTTPS " -"forgalom illesztéséhez." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"További nyers iptables argumentumok a zóna forrásforgalmának " -"besorolásához, például -p tcp --sport 443 csak a bejövő HTTPS " -"forgalom illesztéséhez." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Speciális beállítások" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "„Érvénytelen” forgalom engedélyezése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Továbbítás engedélyezése a forrászónákból:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Továbbítás engedélyezése ezekbe a célzónákba:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Bármelyik" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Bármely nap" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"A megadott érték és a meglévő jelölésérték bitenkénti kizáró vagy " -"műveletének alkalmazása a kiépített kapcsolatokon. A formátum: érték[/" -"maszk]. Ha egy maszk meg van adva, akkor a maszkban beállított bitek ki " -"lesznek nullázva." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" -"A megadott DSCP-osztály vagy érték alkalmazása a kiépített kapcsolatokra." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"A megadott kapcsolatkövető segítőjének hozzárendelése az illesztett " -"forgalomhoz." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Automatikus segítő hozzárendelés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Kapcsolatkövető segítők automatikus hozzárendelése a forgalom protokollja és " -"portja alapján" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Kapcsolatkövető beállításai" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Kapcsolatkövető segítők" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "A tartalom mentésre került." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Tovább" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Lefedett eszközök" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Lefedett hálózatok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Lefedett alhálózatok" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Egyéni szabályok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Az egyéni szabályok lehetővé teszik tetszőleges iptables parancsok " -"végrehajtását, amelyeket a tűzfal keretrendszer egyébként nem fed le. A " -"parancsok minden tűzfal-újraindítás után végrehajtásra kerülnek, közvetlenül " -"az alapértelmezett szabálykészletek betöltődése után." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "DSCP osztályozás" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "DSCP jelölés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "DSCP jelölés szükséges" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Célcím" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Célport" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Célzóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Eszköz neve" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"Ne telepítsen további szabályokat az érvénytelen kapcsolatkövető " -"állapottal rendelkező továbbított forgalom visszautasításához." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Érvénytelen csomagok eldobása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Engedélyezés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "NAT visszacsatolás engedélyezése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "SYN-elárasztás elleni védelem engedélyezése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Naplózás engedélyezése ezen a zónán" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Elvárás: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Kísérleti funkció. Nem teljesen kompatibilis a QoS/SQM használatával." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"Határozottan kiválasztja az engedélyezett kapcsolatkövető segítőket a " -"zónaforgalomhoz" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Külső IP-cím" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Külső port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "További argumentumok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "További célargumentumok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "További iptables argumentumok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "További forrásargumentumok" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Tűzfal" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Tűzfal – egyéni szabályok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Tűzfal – NAT szabályok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Tűzfal – porttovábbítások" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Tűzfal – forgalmi szabályok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Tűzfal – Zóna beállításai" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Továbbítás" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Péntek" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Általános beállítások" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Hardveres áramláskiürítés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 és IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Csak IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Csak IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Bejövő eszköz" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Bemenet" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Belső IP-cím" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Belső port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Belső zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Érvénytelen DSCP jelölés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Érvénytelen korlátérték" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Löket korlátozása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Naplóüzenetek korlátozása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Illesztés korlátozása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Korlátozza a megadott sebességre illeszkedő forgalmat." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "Visszacsatolás forrás IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "ÁLCÁZÁS – átírás automatikusan a kimenő csatoló IP-jére" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "MSS összefogás" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Álcázás" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Illesztés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "DSCP illesztése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "ICMP-típus illesztése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "Eszköz illesztése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "A megadott IP-címre irányított továbbított forgalom illesztése." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"A megadott célportra vagy porttartományra irányított továbbított forgalom " -"illesztése." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "Erről az IP-ről vagy tartományról továbbított forgalom illesztése." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"A megadott forrásportról vagy porttartományból eredő továbbított forgalom " -"illesztése." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "Illesztési segítő" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Az ezen a gépen lévő megadott célportra vagy porttartományra irányított " -"bejövő forgalom illesztése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "Jelölés illesztése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "Forgalom illesztése a megadott kapcsolatkövető segítő használatával." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" -"Egy bizonyos tűzfaljelölést vagy különböző jelölések tartományát illeszti." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"A megadott kimeneti hálózati eszköz használatával illeszti a továbbított " -"forgalmat." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "A megadott DSCP jelölést szállító forgalmat illeszti." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"Az illesztendő csomagok legnagyobb kezdeti száma: ez a szám újratöltődik " -"minden alkalommal, amikor a fent meghatározott korlátot nem érik el, " -"legfeljebb eddig a számig." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Hétfő" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Hónap napjai" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "NAT szabályok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"A NAT szabályok lehetővé teszik a részletes szabályozást a kimenő vagy " -"továbbított forgalomnál használandó forrás IP fölött." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Név" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Csak a megadott IP-címre irányított bejövő forgalom illesztése." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Csak ezekről a MAC-ekről érkező bejövő forgalom illesztése." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" -"Csak erről az IP-ről vagy tartományból érkező bejövő forgalom illesztése." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Csak az ügyfélgépen lévő megadott forrásportról vagy porttartományból eredő " -"bejövő forgalom illesztése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "Kimeneti eszköz" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "Kimenő zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Kimenet" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" -"Átadja a további argumentumokat az iptables részére. Használja " -"körültekintően!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"A forrás- és célforgalom osztályozási szabályainak való nyers iptables " -"argumentumok átadása lehetővé teszi a csomagoknak a csatolóktól vagy " -"alhálózatoktól eltérő feltételek alapján történő illesztését. Ezeket a " -"kapcsolókat rendkívül óvatosan kell használni, mivel az érvénytelen értékek " -"tönkre tehetik a tűzfalszabálykészleteket, ezáltal teljesen feltárva az " -"összes szolgáltatást." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Porttovábbítások" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"A porttovábbítás lehetővé teszi az interneten lévő távoli számítógépeknek a " -"személyes helyi hálózat bizonyos számítógépéhez vagy szolgáltatásához " -"történő csatlakozását." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protokoll" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "Egyező bejövő forgalom átirányítása a belső gép megadott portjára" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Egyező bejövő forgalom átirányítása a megadott belső gépre" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "Hardveres NAT támogatás szükséges. Legalább az mt7621-hez megvalósítva" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Álcázás korlátozása a megadott célalhálózatokra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Álcázás korlátozása a megadott forrás alhálózatokra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Korlátozás címcsaládra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "IP-cím átírása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "Illesztett forgalom átírása a megadott forrás IP-címre." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"Illesztett forgalom átírása a megadott forrásportra vagy porttartományra." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "Port átírása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Útválasztás vagy NAT kiürítés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT – átírás egy adott forrás IP-re vagy portra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Szombat" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "Jelölés beállítása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"A megadott jelölésérték beállítása a kiépített kapcsolatokon. A formátum: " -"érték[/maszk]. Ha egy maszk meg van adva, akkor csak a maszkban beállított " -"bitek lesznek módosítva." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Szoftver alapú kiürítés az útválasztásnál vagy NAT-nál" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Szoftveres áramláskiürítés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Forrás IP-cím" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Forrás MAC-cím" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Forráscím" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Forrásport" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Forrászóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"Meghatározza, hogy ezt a forgalomszabályt egy adott bejövő vagy kimenő " -"hálózati eszközhöz kell kötni." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"Meghatározza, hogy a külső vagy a belső IP-címet használja a visszatükrözött " -"forgalomnál." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Kezdés dátuma (ÉÉÉÉ-HH-NN)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Kezdés ideje (ÓÓ.PP.MM)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Leállítás dátuma (ÉÉÉÉ-HH-NN)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Leállítás ideje (ÓÓ.PP.MM)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Vasárnap" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"A tűzfal zónákat hoz létre a hálózati csatolók fölött a hálózati forgalom " -"áramlásának szabályozásához." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Az alábbi beállítások vezérlik a továbbítási szabályokat a jelenlegi zóna " -"(%s) és a többi zóna között. A célzónák fedik le a továbbított " -"forgalmat, amelynek forrása %q. A forrászónák " -"illesztik a továbbított forgalmat más zónákból, amelynek célja %q. A továbbítási szabály egyirányú, például egy továbbítás " -"LAN-ból WAN-ba nem jelenti azt, hogy a továbbítás WAN-ból LAN-ba is " -"engedélyezett." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Ez a szakasz a(z) %q közös tulajdonságait határozza meg. A bemenet " -"és kimenet beállításai határozzák meg a zónába be- és kilépő " -"forgalom alapértelmezett szabályait, míg a továbbítási beállítás a " -"különböző hálózatok közötti továbbított forgalom szabályát írja le a zónán " -"belül. A lefedett hálózatok adják meg, hogy mely elérhető hálózatok " -"tagjai ennek a zónának." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Csütörtök" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Időkorlátozások" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Idő UTC szerint" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "Követési segítő" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Forgalmi szabályok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"A forgalmi szabályok a különböző zónák között utazó csomagokra vonatkozó " -"szabályokat határozzák meg, például bizonyos gépek közötti forgalom " -"visszautasításához vagy WAN portok megnyitásához az útválasztón." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Kedd" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Nem lehet elmenteni a tartalmat: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "Ismeretlen vagy nem telepített kapcsolatkövető segítő: „%s”" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "Névtelen NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Névtelen továbbítás" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Névtelen szabály" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Névtelen zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "Külső IP-cím használata" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "Belső IP-cím használata" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Használja ezt a beállítást a zónaforgalom nyers, nem uci által " -"kezelt hálózati eszközök szerint történő besorolásához." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Használja ezt a beállítást a zónaforgalom forrás- vagy célalhálózat szerint " -"történő besorolásához a hálózatok vagy eszközök helyett." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "Érvényes tűzfaljelölés szükséges" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Szerda" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Hétköznapok" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "kizáró vagy tűzfaljelölés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "kizáró vagy jelölés" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zóna ⇒ Továbbítások" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zónák" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "elfogadás" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "bármely" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "bármely zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "tűzfaljelölés alkalmazása" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "kapcsolatkövető segítő hozzárendelése" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "nap" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "ne írja át" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "ne kövessen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "eldobás" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "óra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "perc" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "visszautasítás" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "másodperc" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "ez az új zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "korlátlan" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "nincs meghatározva" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "érvényes tűzfaljelölés" - -#~ msgid "Rewrite to" -#~ msgstr "Átírás erre:" - -#~ msgid "Rewrite to outbound device IP" -#~ msgstr "Átírás a kimenő eszköz IP-jére" - -#~ msgid "%s in %s" -#~ msgstr "%s ebben: %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s ezzel: %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s ebben: %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d csomag / %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d csomag / %s, löket %d csomag" - -#~ msgid "%s and limit to %s" -#~ msgstr "%s és korlátozás erre: %s" - -#~ msgid "Accept forward" -#~ msgstr "Továbbítás elfogadása" - -#~ msgid "Accept input" -#~ msgstr "Bemenet elfogadása" - -#~ msgid "Accept output" -#~ msgstr "Kimenet elfogadása" - -#~ msgid "Destination IP address" -#~ msgstr "Cél IP-cím" - -#~ msgid "Discard forward" -#~ msgstr "Továbbítás elvetése" - -#~ msgid "Discard input" -#~ msgstr "Bemenet elvetése" - -#~ msgid "Discard output" -#~ msgstr "Kimenet elvetése" - -#~ msgid "Do not rewrite" -#~ msgstr "Ne írja felül" - -#~ msgid "Do not track forward" -#~ msgstr "Ne kövesse a továbbítást" - -#~ msgid "Do not track input" -#~ msgstr "Ne kövesse a bemenetet" - -#~ msgid "Do not track output" -#~ msgstr "Ne kövesse a kimenetet" - -#~ msgid "Forward to" -#~ msgstr "Továbbítás ide" - -#~ msgid "From %s in %s" -#~ msgstr "Innen: %s, ebben: %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Innen: %s, ebben: %s, ezzel a forrással: %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Innen: %s, ebben: %s, ezekkel a forrásokkal: %s és %s" - -#~ msgid "From %s on this device" -#~ msgstr "Ettől: %s, ezen az eszközön" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "Ettől: %s, ezen az eszközön, ezzel a forrással: %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "" -#~ "Ettől: %s, ezen az eszközön, ezekkel a forrásokkal: %s és %s" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP-tartomány" - -#~ msgid "IPs" -#~ msgstr "IP-k" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC-ek" - -#~ msgid "Network" -#~ msgstr "Hálózat" - -#~ msgid "Refuse forward" -#~ msgstr "Továbbítás visszautasítása" - -#~ msgid "Refuse input" -#~ msgstr "Bemenet visszautasítása" - -#~ msgid "Refuse output" -#~ msgstr "Kimenet visszautasítása" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Ide: %s, ekkor: %s, ezen az eszközön" - -#~ msgid "To %s in %s" -#~ msgstr "Ide: %s, ebben: %s" - -#~ msgid "To %s on this device" -#~ msgstr "Ide: %s, ezen az eszközön" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Erre: %s, %s ebben: %s" - -#~ msgid "Via %s" -#~ msgstr "Ezen keresztül: %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Ezen keresztül: %s, itt: %s" - -#~ msgid "any host" -#~ msgstr "bármely gép" - -#~ msgid "any router IP" -#~ msgstr "bármely útválasztó IP" - -#~ msgid "not" -#~ msgstr "nem" - -#~ msgid "port" -#~ msgstr "port" - -#~ msgid "ports" -#~ msgstr "portok" - -#~ msgid "type" -#~ msgstr "típus" - -#~ msgid "types" -#~ msgstr "típusok" - -#~ msgid "Force connection tracking" -#~ msgstr "Kapcsolat követés kényszerítése" - -#~ msgid "Add" -#~ msgstr "Hozzáadás" - -#~ msgid "Add and edit..." -#~ msgstr "Hozzáadás és szerkesztés..." - -#~ msgid "External zone" -#~ msgstr "Külső zóna" - -#~ msgid "New SNAT rule" -#~ msgstr "Új SNAT szabály" - -#~ msgid "New forward rule" -#~ msgstr "Új továbbítási szabály" - -#~ msgid "New input rule" -#~ msgstr "Új bemeneti szabály" - -#~ msgid "New port forward" -#~ msgstr "Új port továbbítás" - -#~ msgid "New source NAT" -#~ msgstr "Új forrás NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Port megnyitása a routeren" - -#~ msgid "Other..." -#~ msgstr "Egyéb..." - -#~ msgid "To source IP" -#~ msgstr "Forrás IP-re" - -#~ msgid "To source port" -#~ msgstr "Forrás portra" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Névtelen bejegyzés)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Névtelen szabály)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(Névtelen SNAT)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Zónák-közötti továbbítás" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Továbbított forgalom szűrése a megadott cél port, vagy port tartomány " -#~ "szerint." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "Az ügyfél gép megadott portjáról, vagy port tartományából indított " -#~ "forgalom szűrése. " - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "Az összeíllő forgalom átírása a megadott címre." - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Az összeillő forgalom átírása a megadott forrás portra. Amennyibe üresen " -#~ "van hagyva, csak az IP cím kerül átírásra." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Átírás %s forrásra" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Átírás %s, %s forrásra" - -#~ msgid "SNAT IP address" -#~ msgstr "SNAT IP cím" - -#~ msgid "SNAT port" -#~ msgstr "SNAT port" - -#~ msgid "Source NAT" -#~ msgstr "Forrás NAT" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "A forrás NAT az álcázás olyan speciális formája, mely lehetővé teszi a " -#~ "kimenő forgalomhoz használt forrás IP címek aprólékos szabályozását, " -#~ "például több WAN cím hozzárendelését a belső alhálózatokhoz." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Ez a lap lehetővé teszi a port továbbítási bejegyzések speciális " -#~ "tulajdonságainak módosítását. A legtöbb esetben ezeknek a beállításoknak " -#~ "a módosítása nem szükséges." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Ez a lap lehetővé teszi a forgalmi szabály bejegyzés speciális " -#~ "tulajdonságainak módosítását, mint a forrás- és célgépek megfeleltetése." - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Az \"-- egyéni --\" lehetőség választásával több protokoll megadása " -#~ "lehetséges egymástól szóközzell elválasztva." - -#~ msgid "Zone %q" -#~ msgstr "Zóna %q" diff --git a/luci-app-firewall/po/it/firewall.po b/luci-app-firewall/po/it/firewall.po deleted file mode 100644 index 31b3ecd9b..000000000 --- a/luci-app-firewall/po/it/firewall.po +++ /dev/null @@ -1,1357 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-03-03 13:34+0000\n" -"Last-Translator: TuxAlex0 \n" -"Language-Team: Italian \n" -"Language: it\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.0-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Azione" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Impostazioni Avanzate" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Consenti traffico \"non valido\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Permetti routing da zone di origine:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Permetti rounting a zone di destinazione:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Qualsiasi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Qualsiasi giorno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Dispositivi coperti" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Reti coperte" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Sottoreti coperte" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Regole Personalizzate" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Le regole personalizzate ti permettorno di eseguire comandi iptables " -"arbitrari che non sono altrimenti coperti dall'applicazione firewall. I " -"comandi sono eseguiti dopo ogni riavvio del firewall, giusto dopo le altre " -"regole che sono state caricate." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Indirizzo di destinazione" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Porta di destinazione" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Zona di destinazione" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Scarta pacchetti invalidi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Abilita" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Attiva NAT Loopback" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Attiva protezione SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Attiva registro su questa zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Indirizzo IP Esterno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Porta Esterna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Comandi extra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Firewall - Regole Personalizzate" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Firewall - Inoltro Porte" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Firewall - Regole Traffico" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Firewall - Opzioni delle Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Inoltra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Venerdì" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Impostazioni Generali" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 e IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Solo IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Solo IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Ingresso" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Indirizzo IP interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Porta interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Zona Interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Limita messaggi del registro" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Corrispondenza" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Corrispondenza tipo ICMP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Corrispondi traffico in entrata diretto alla porta o intervallo di porte " -"dato su questo host" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Lunedì" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Giorni del Mese" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Corrispondi solo traffico in entrata diretto al dato indirizzo IP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Corrispondi solo traffico in entrata da questi MAC." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Corrispondi solo traffico in entrata da questo IP o intervallo." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Corrispondi solo traffico in entrata originato dalla porta o intervallo di " -"porte sorgenti su host cliente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "Passa comandi addizionali a iptables. Usare con cura!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Inoltri Porta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"L'inoltro delle porte permette ai computer in remoto su Internet di " -"connettersi a uno specifico computer o servizio presente nella LAN privata" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protocollo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "Reindirizza il traffico in entrata alla porta data su host interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Reindirizza il traffico in entrata allo specifico host interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Limita il Masquerading alle subnet di destinazione date" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Limita il Masquerading alle subnet sorgente date" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Limita agli indirizzi famiglia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Sabato" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# msgid "Traffic Redirection" -# msgstr "" -# msgid "" -# "Traffic redirection allows you to change the destination address of " -# "forwarded packets." -# msgstr "" -# msgid "Overview" -# msgstr "" -# msgid "Name" -# msgstr "" -# msgid "Source zone" -# msgstr "" -# msgid "Source MAC-address" -# msgstr "" -# msgid "Source port" -# msgstr "" -# msgid "Protocol" -# msgstr "" -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Indirizzo IP di origine" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Indirizzo MAC di origine" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Indirizzo di origine" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Porta di origine" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Zona di origine" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Data di Inizio (yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Data di Stop (yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Domenica" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"Il firewall crea delle zone nelle tue interfacce di rete per controllare il " -"flusso del traffico." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Queste opzioni controllano le regole di inoltro tra questa zona (%s) e altre " -"zone. Le zone di destinazione coprono il traffico inoltrato " -"originato da %q. Le zone di origine corrispondono " -"il traffico inoltrato da altre zone che puntano a %q. La " -"regola di inoltro è unidirezionale, esempio: un inoltro dalla lan " -"alla wan non implica anche un permesso da inoltrare dalla wan alla " -"lan." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Questa sezione definisce le proprietà comuni di %q. Le opzioni " -"diingresso e uscita definiscono le regole di default per " -"il traffico in entrata e uscita di questa zona mentre l'opzione di " -"inoltro descrive il metodo per il traffico inoltrato tra reti " -"differenti nella zona. Le reti coperte specificano quali reti " -"disponibili sono membri di questa zona." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Giovedì" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Orario in UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Regole di Traffico" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Le regole del traffico definiscono il metodo per il viaggio dei pacchetti " -"tra zone differenti, per esempio per rifiutare il traffico tra certi host o " -"per aprire porte WAN sul router." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Martedì" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Regola senza nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Zona senza nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Mercoledì" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Giorni della Settimana" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zona ⇒ Inoltri" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "accetta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "qualsiasi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "qualsiasi zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "giorno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "non tracciare" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "scarta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "rifiuta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "questa nuova zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s con %s" - -#~ msgid "%s and limit to %s" -#~ msgstr "%s e limita a %s" - -#~ msgid "Accept input" -#~ msgstr "Accetta input" - -#~ msgid "Accept output" -#~ msgstr "Accetta output" - -#~ msgid "Destination IP address" -#~ msgstr "Indirizzo IP destinazione" - -#~ msgid "Do not rewrite" -#~ msgstr "Non riscrivere" - -#~ msgid "Forward to" -#~ msgstr "Inoltra a" - -#~ msgid "From %s in %s" -#~ msgstr "Da %s a %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Da %s a %s con sorgente %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Da %s a %s con sorgente %s e %s" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Intervallo IP" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "Network" -#~ msgstr "Rete" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Verso %s a %s su questo dispositivo" - -#~ msgid "To %s in %s" -#~ msgstr "Verso %s in %s" - -#~ msgid "To %s on this device" -#~ msgstr "Verso %s su questo dispositivo" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Verso %s, %s in %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Via %s a %s" - -#~ msgid "any host" -#~ msgstr "qualsiasi host" - -#~ msgid "any router IP" -#~ msgstr "qualsiasi router IP" - -#~ msgid "not" -#~ msgstr "non" - -#~ msgid "ports" -#~ msgstr "porti" - -#~ msgid "types" -#~ msgstr "tipi" - -#~ msgid "Force connection tracking" -#~ msgstr "Forza tracciamento connessione" - -#~ msgid "Restart Firewall" -#~ msgstr "Riavvia Firewall" - -#~ msgid "Add" -#~ msgstr "Aggiungi" - -#~ msgid "Add and edit..." -#~ msgstr "Aggiungi e modifica..." - -#~ msgid "External zone" -#~ msgstr "Zona Esterna" - -#~ msgid "New SNAT rule" -#~ msgstr "Nuova regola SNAT" - -#~ msgid "New forward rule" -#~ msgstr "Nuova regola di inoltro" - -#~ msgid "New input rule" -#~ msgstr "Nuova regola di ingresso" - -#~ msgid "New port forward" -#~ msgstr "Nuova porta di inoltro" - -#~ msgid "New source NAT" -#~ msgstr "Nuova sorgente NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Porte aperte sul router" - -#~ msgid "Other..." -#~ msgstr "Altri..." - -#~ msgid "To source IP" -#~ msgstr "Verso IP sorgente" - -#~ msgid "To source port" -#~ msgstr "Verso la porta sorgente" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Inoltro tra le zone" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Corrispondi traffico inoltrato alla porta o intervallo di porte dato." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "Corrispondi traffico in entrata originato dalla porta o intervallo di " -#~ "porte dato su host cliente" - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "Riscrivi il traffico verso l'indirizzo dato." - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Riscrivi il traffico corrispondente alla porta sorgente data. Può essere " -#~ "lasciato vuoto per riscrivere solo l'indirizzo IP." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Riscrivi alla sorgente %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Riscrivi alla sorgente %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "Indirizzo IP SNAT" - -#~ msgid "SNAT port" -#~ msgstr "Porta SNAT" - -#~ msgid "Source NAT" -#~ msgstr "NAT di origine" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "La sorgente NAT è una forma specifica di masquerading che consente un " -#~ "controllo preciso sull'IP sorgente usato per il traffico in uscita, per " -#~ "esempio per mappare indirizzi WAN multipli verso le subnet interne." - -#~ msgid "Start Time (hh:mm:ss)" -#~ msgstr "Ora di Inizio (hh:mm:ss)" - -#~ msgid "Stop Time (hh:mm:ss)" -#~ msgstr "Ora di Stop (hh:mm:ss)" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Questa pagina ti consente di cambiare le opzioni avanzate della voce " -#~ "porta di inoltro. Nella maggioranza dei casi non serve modificare queste " -#~ "impostazioni." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Questa pagina ti consente di cambiare le opzioni avanzate della voce " -#~ "regola del traffico, come la sorgente corrispondente e gli host di " -#~ "destinazione." - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Puoi specificare multipli selezionando \"-- custom --\" e poi inserendo i " -#~ "protocolli separati da uno spazio." - -#~ msgid "Zone %q" -#~ msgstr "Zona %q" - -#~ msgid "traffic" -#~ msgstr "traffico" diff --git a/luci-app-firewall/po/ja/firewall.po b/luci-app-firewall/po/ja/firewall.po deleted file mode 100644 index 7c97d27f4..000000000 --- a/luci-app-firewall/po/ja/firewall.po +++ /dev/null @@ -1,1448 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-02-22 11:57+0000\n" -"Last-Translator: INAGAKI Hiroshi \n" -"Language-Team: Japanese \n" -"Language: ja\n" -"MIME-Version: 1.0\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.1\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{ipv6?%{ipv4?IPv4IPv6:IPv6}:IPv4} の %{src?%{dest?転送:受信}:送信}%{proto?, プロトコル %{proto#" -"%{next?, }%{item.types?%{item.name}" -"含まれる ICMP タイプ - %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, マーク " -"%{mark.val}}%{dscp?, DSCP %{dscp." -"inv?%{dscp.val}:%{dscp.val}}}%{helper?, ヘルパー " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- IP を追加 --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- MAC を追加 --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"%{src?%{dest?転送:受信}:送信} を 許可" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "アクセス元の書き換えを防止" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"%{dest}%{dest_ip? IP %{dest_ip}}%{dest_port? port " -"%{dest_port}} へ転送" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "%{src?%{dest?転送:受信}:送信} を 破棄" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" -"DSCP 区分の割り当て - %{set_dscp}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"conntrack ヘルパーの割り当て - %{set_helper}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"ファイアウォール マークの%{set_mark?割り当て:XOR}" -" - %{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" -"アクセス元 IP を 自動的に書き換え" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"%{src?%{dest?転送:受信}:送信} を追跡しない" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" -"%{src?%{dest?転送:受信}:送信} を拒否" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"アクセス元 %{snat_ip?IP %{snat_ip}} %{snat_port?ポート " -"%{snat_port}} への静的書き換え" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "書き換え先 IP の指定が必要です!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ACCEPT - アドレス書き換えを無効化" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "アクション" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"ゾーンの送信先へのトラフィックを区分するために付加する、生の iptables 引数です。(例: HTTPS 送信トラフィックのみにマッチさせる -p tcp --" -"dport 443)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"ゾーンを送信元とするトラフィックを区分するために付加する、生の iptables 引数です。(例: HTTPS 受信トラフィックのみにマッチさせる -p tcp --" -"sport 443)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "詳細設定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "\"invalid\" トラフィックの許可" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "送信元ゾーンからの転送を許可する:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "宛先ゾーンへの転送を許可する:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "全て" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "全日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "指定された DSCP クラスまたは値を確立された接続に適用します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "指定された接続追跡ヘルパーを対象のトラフィックに割り当てます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "自動ヘルパー割り当て" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"トラフィックのプロトコルとポートに基づいて、 conntrack ヘルパーを自動的に割り" -"当てます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Conntrack 設定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Conntrack ヘルパー" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "内容が保存されました。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "続行" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "カバーされるデバイス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "対象ネットワーク" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "カバーされるサブネット" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "手動設定ルール" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"手動設定ルールの設定では、ファイアウォールの設定画面ではサポートされていない" -"ような、任意のiptablesコマンドを実行することが可能です。これらの任意のコマン" -"ドは、ファイアウォール機能の起動ごとに、標準のルールが読み込まれた後に実行さ" -"れます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "DSCP 区分" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "DSCP マーク" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "DSCP マークが必要です" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "宛先アドレス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "宛先ポート" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "宛先ゾーン" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "デバイス名" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"conntrack ステートが invalid である転送されたトラフィックを拒否する" -"追加ルールをインストールしません。これは、複雑で非対称なルートのセットアップ" -"に必要となることがあります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "無効なパケットを遮断する" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "有効" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "NATループバックを有効にする" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "SYN-Floodプロテクションを有効にする" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "このゾーンのログ記録を有効にする" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "期待される値: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "実験的な機能です。 QoS/SQM との完全な互換性はありません。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "ゾーン トラフィックの接続追跡ヘルパーを明示的に選択します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "外部IPアドレス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "外部ポート" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "追加の引数" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "追加の送信先引数" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "追加の iptables 引数" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "追加の送信元引数" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "ファイアウォール" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "ファイアウォール - 手動設定ルール" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "ファイアウォール - NAT ルール" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "ファイアウォール - ポートフォワーディング" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "ファイアウォール - トラフィック・ルール" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "ファイアウォール - ゾーン設定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "ファイアウォール設定マイグレーション" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "転送" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"IPv4 の転送%{proto?, プロトコル %{proto#%{next?, }%{item.name}}}%{mark?, マーク %{mark.val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "金曜日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"送信元: %{src}%{src_device?, インターフェース %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, ポート " -"%{src_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"送信元: %{src}%{src_device?, インターフェース %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, ポート " -"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"送信元: %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"ポート %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#" -"%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "一般設定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "ハードウェア フローオフロード" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4及びIPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "IPv4のみ" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "IPv6のみ" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "受信側デバイス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"IPv4 の受信%{proto?, プロトコル %{proto#%{next?, }%{item.types?%{item.name}含まれる " -"ICMP タイプ - %{item.types#%{next?, }%{item}}:" -"%{item.name}}}}%{mark?, マーク " -"%{mark.val}}%{helper?, ヘルパー %{helper.inv?%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "受信" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "内部IPアドレス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "内部ポート" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "内部ゾーン" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "無効な DSCP マーク" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "無効な制限値" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "バースト制限" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "ログメッセージを制限" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "一致の制限" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"一致するパケット数を %{limit.unit} あたり %{limit.num} " -"に制限%{limit.burst?(バースト %{limit.burst})}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "トラフィックを指定されたレートに制限します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "ループバック元 IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "MASQUERADE - 自動的に送信側インターフェース IP へ書き換え" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "MSSクランプ" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "マスカレード" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "対象" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "DSCP の一致" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "ICMPタイプの一致" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "デバイスの一致" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "指定された IP アドレスに転送されるトラフィックが対象になります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"指定されたポートまたはポート範囲に転送されるトラフィックが対象になります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "この IP または範囲からのトラフィックが対象になります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"指定された送信元ポートまたはポート範囲から発信されたトラフィックが対象になり" -"ます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "ヘルパーの一致" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"設定された宛先ポート(またはポート範囲)に一致した受信トラフィックが対象になり" -"ます" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "マークの一致" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "指定された接続追跡ヘルパーを使用するトラフィックが対象になります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" -"特定のファイアウォール マークまたは異なる複数のマークの範囲が対象になります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"指定された送信側ネットワーク デバイスを使用して転送されるトラフィックが対象に" -"なります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "指定された DSCP マークを持っているトラフィックが対象になります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"対象となるパケットの最初の最大数です。この数は、上のレート制限で上限に到達し" -"なかった場合に、その時間毎にここで指定された数まで1ずつ回復します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "月曜日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "月間" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "NAT ルール" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"NAT ルールは、送信または転送トラフィックのために使用するアクセス元 IP に対し" -"て、とても細かな制御を可能にします。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "名前" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "設定された宛先IPアドレスと一致した受信トラフィックが対象になります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "設定されたMACアドレスと一致した受信したトラフィックが対象になります。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" -"設定されたIPアドレス (または範囲) と一致した受信したトラフィックが対象になり" -"ます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"設定されたクライアントホストの送信元ポート(またはポート範囲)からの受信トラ" -"フィックと一致したトラフィックのみを対象にします。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "送信側デバイス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "送信側ゾーン" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "送信" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" -"iptablesにパススルーする追加の引数を設定してください。ただし、注意して設定し" -"てください!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"送信元と送信先のトラフィックの区分ルールを、インターフェースやサブネット以外" -"の基準に基づいてマッチすることができるように、生の iptables 引数を渡します。" -"これらのオプションは、無効な値がファイアウォール ルールセットの破壊を引き起こ" -"し、全サービスを外部に晒す恐れがあることに、特段の注意を払い使用されなければ" -"なりません。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "ポートフォワーディング" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"ポートフォワーディングは、インターネット上のリモートコンピュータから、プライ" -"ベートなネットワーク上の、特定のコンピュータやサービスへのアクセスを可能にし" -"ます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "プロトコル" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"ルールに一致した受信トラフィックを、内部ホストの設定されたポートへ転送します" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "ルールに一致した受信トラフィックを、設定された内部ホストへ転送します" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" -"ハードウェア NAT サポートが必要です。 mt7621 のみにおいて実装されています。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "設定された宛先サブネットへのマスカレードを制限する" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "設定された送信元サブネットへのマスカレードを制限する" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "アドレスファミリの制限" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "IP アドレスの書き換え" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "対象のトラフィックを指定されたアクセス元 IP アドレスに書き換えます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"対象のトラフィックを指定されたアクセス元ポートまたはポート範囲に書き換えま" -"す。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "ポートの書き換え" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "ルーティング/NAT オフロード" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT - 特定のアクセス元 IP またはポートへの書き換え" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "土曜日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "マークの設定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"確立された接続にマーク値を設定します。フォーマットは value[/mask] です。もし" -"マスクが指定されている場合、マスクによって有効なビットのみ設定されます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "ルーティング/NAT のための、ソフトウェアベースのオフロードです。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "ソフトウェア フローオフロード" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "送信元IPアドレス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "送信元MACアドレス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "送信元アドレス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "送信元ポート" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "送信元ゾーン" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"このトラフィック ルールを関連付ける、特定の受信側または送信側ネットワークデバ" -"イスを指定します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"反映されるトラフィックに対し、外部または内部 IP アドレスのどちらを使用するか" -"を指定します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "開始日 (yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "開始時刻 (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "停止日 (yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "停止時刻 (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "日曜日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" -"既存のファイアウォール設定は、 LuCI が正常に機能するように変更する必要があり" -"ます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"ファイアウォール機能は、各ネットワークインターフェース上にゾーンを作成してト" -"ラフィックの制御を行います。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"下記の設定は、このゾーン (%s)とその他のゾーン間の転送ポリシーを制御します。" -"宛先ゾーンへの転送 は、%q から転送されたトラフィッ" -"クに対して転送を許可します。 送信元ゾーンからの転送 は、別のゾーンか" -"ら%qへ の転送を許可します。トラフィック転送設定は、一方" -"向であり、例えばlanからwanへの転送設定は、wanからlanへの転送を許可し" -"ません。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"このセクションでは、%sの標準的な動作を設定します。受信及び送信オプションは、このゾーンに対して入出力するトラフィックに対する標準のポリ" -"シーを設定し、転送オプションは、ゾーン間の転送トラフィックに対する標" -"準のポリシーになります。対象ネットワークは、どのネットワーク設定がこ" -"のゾーンに属するかを設定します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "木曜日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "時間制限" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "UTC時刻を使用" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"送信先: %{dest}%{dest_device?, インターフェース %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート " -"%{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"送信先: %{dest}%{dest_device?, 経由インターフェース %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート " -"%{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"送信先: %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "追跡ヘルパー" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "トラフィック・ルール" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"トラフィック・ルールの設定では、ゾーン間を行き来するパケットのポリシーを設定" -"します。例えば、特定のホスト間や、ルーターのWANポートへのトラフィックの拒否を" -"設定することができます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "火曜日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "内容を保存できません: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "不明またはインストールされていない conntrack ヘルパー \"%s\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "名称未設定の NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "名称未設定の転送" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "名称未設定のルール" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "名称未設定のゾーン" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "認識されていないプロトコル" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"\"続行\" を押下すると、 \"SNAT\" ターゲットを持つ \"redirect\" セクションは " -"\"nat\" セクションに変換されたうえで、ファイアウォールは更新された設定を適用" -"するために再起動されます。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "外部 IP アドレスを使用" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "内部 IP アドレスを使用" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"生の、または非 uci 管理下にあるデバイスによるゾーン トラフィックの区" -"分にこのオプションを使用します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"ネットワークまたはデバイスに代わり、アクセス元またはアクセス先サブネットによ" -"るゾーン トラフィックの区分にこのオプションを使用します。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "有効なファイアウォール マークが必要です" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "水曜日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "曜日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "ファイアウォール マークの XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "マークの XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "ゾーン ⇒ 転送" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "ゾーン" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "許可" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "全て" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "全てのゾーン" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "ファイアウォール マークの適用" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "conntrack ヘルパーの割り当て" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "書き換えない" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "コネクション追跡を行わない" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "破棄" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "時間" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "分" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "拒否" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "秒" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "このデバイス" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "この新しいゾーン" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "無制限" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "設定しない" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "有効なファイアウォール マーク" - -#~ msgid "%s in %s" -#~ msgstr "%s (%s)" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s ,%s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s (%s)" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d パケット / %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "" -#~ "%d パケット / %s, バースト %d パケット" - -#~ msgid "%s and limit to %s" -#~ msgstr "%s, %s を上限に設定" - -#~ msgid "Accept forward" -#~ msgstr "転送を許可" - -#~ msgid "Accept input" -#~ msgstr "入力を許可" - -#~ msgid "Accept output" -#~ msgstr "出力を許可" - -#~ msgid "Discard forward" -#~ msgstr "転送を破棄" - -#~ msgid "Discard input" -#~ msgstr "入力を破棄" - -#~ msgid "Discard output" -#~ msgstr "出力を破棄" - -#~ msgid "Do not rewrite" -#~ msgstr "リライトしない" - -#~ msgid "Do not track forward" -#~ msgstr "転送を追跡しない" - -#~ msgid "Do not track input" -#~ msgstr "入力を追跡しない" - -#~ msgid "Do not track output" -#~ msgstr "出力を追跡しない" - -#~ msgid "Forward to" -#~ msgstr "転送先" - -#~ msgid "From %s in %s" -#~ msgstr "送信元 %s (%s)" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "送信元 %s (%s) , %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "送信元 %s (%s) , %s, %s" - -#~ msgid "From %s on this device" -#~ msgstr "送信元 %s (デバイス)" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "送信元 %s, %s (デバイス)" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "送信元 %s, %s, %s (デバイス)" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP の範囲" - -#~ msgid "IPs" -#~ msgstr "IP" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC" - -#~ msgid "Network" -#~ msgstr "ネットワーク" - -#~ msgid "Refuse forward" -#~ msgstr "転送を拒否" - -#~ msgid "Refuse input" -#~ msgstr "入力を拒否" - -#~ msgid "Refuse output" -#~ msgstr "出力を拒否" - -#~ msgid "To %s at %s on this device" -#~ msgstr "宛先 %s, %s (デバイス)" - -#~ msgid "To %s in %s" -#~ msgstr "宛先 %s (%s)" - -#~ msgid "To %s on this device" -#~ msgstr "宛先 %s (デバイス)" - -#~ msgid "To %s, %s in %s" -#~ msgstr "宛先 %s, %s (%s)" - -#~ msgid "Via %s" -#~ msgstr "経由 %s" - -#~ msgid "Via %s at %s" -#~ msgstr "経由 %s , %s" - -#~ msgid "any host" -#~ msgstr "全てのホスト" - -#~ msgid "any router IP" -#~ msgstr "全てのルーターIP" - -#~ msgid "port" -#~ msgstr "ポート" - -#~ msgid "ports" -#~ msgstr "ポート" - -#~ msgid "type" -#~ msgstr "タイプ" - -#~ msgid "types" -#~ msgstr "タイプ" - -#~ msgid "Force connection tracking" -#~ msgstr "強制的にコネクション追跡を行う" - -#~ msgid "" -#~ "Prevent the installation of NOTRACK rules which would bypass " -#~ "connection tracking." -#~ msgstr "" -#~ "コネクション追跡をバイパスさせる NOTRACK ルールのインストールを防" -#~ "ぎます。" - -#~ msgid "Disable" -#~ msgstr "無効" - -#~ msgid "Restart Firewall" -#~ msgstr "ファイアウォールの再起動" - -#~ msgid "Rule is disabled" -#~ msgstr "ルールは無効です" - -#~ msgid "Rule is enabled" -#~ msgstr "ルールは有効です" - -#~ msgid "Add" -#~ msgstr "追加" - -#~ msgid "Add and edit..." -#~ msgstr "追加及び編集..." - -#~ msgid "External zone" -#~ msgstr "外部ゾーン" - -#~ msgid "New SNAT rule" -#~ msgstr "SNATルールの新規作成" - -#~ msgid "New forward rule" -#~ msgstr "転送ルールの新規作成" - -#~ msgid "New input rule" -#~ msgstr "受信ルールの新規作成" - -#~ msgid "New port forward" -#~ msgstr "転送設定の新規作成" - -#~ msgid "New source NAT" -#~ msgstr "SNATルールの新規作成" - -#~ msgid "Open ports on router" -#~ msgstr "ポートの開放" - -#~ msgid "Other..." -#~ msgstr "その他のプロトコル" - -#~ msgid "To source IP" -#~ msgstr "変換後送信元IP" - -#~ msgid "To source port" -#~ msgstr "変換後送信元ポート" diff --git a/luci-app-firewall/po/ko/firewall.po b/luci-app-firewall/po/ko/firewall.po deleted file mode 100644 index 02c610889..000000000 --- a/luci-app-firewall/po/ko/firewall.po +++ /dev/null @@ -1,1183 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Korean \n" -"Language: ko\n" -"MIME-Version: 1.0\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-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Source zone 로부터의 forward 허용:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Destination zone 으로 forward 허용:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Custom Rule" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Custom rule 은 방화벽 UI 로 해결이 되지 않는 임의의 iptables 명령을 실행할 " -"수 있도록 합니다. 입력된 명령어들은 매 방화벽 재시작시 실행되는데 default " -"ruleset 이 load 된 후 시점입니다." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Destination 주소" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "활성화" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "NAT Loopback 활성화" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "SYN-flood protection 활성화" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "zone 의 logging 활성화" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "외부 IP 주소" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "외부 port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "추가 argument" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "방화벽" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "방화벽 - Custom Rules" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "방화벽 - Port Forwards" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "방화벽 - Traffic Rules" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "방화벽 - Zone 설정" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "금요일" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "내부 IP 주소" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "내부 port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "내부 zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "월요일" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "이름" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "iptables 명령에 추가 인자들을 더합니다. 조심해 사용하세요!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Port Forward" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"Port forwarding 기능은 인터넷 상의 원격 컴퓨터가 내부 LAN 에 속한 특정 컴퓨터" -"나 서비스에 접속할 수 있도록 합니다." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "주어진 destination subnet 으로 Masquerading 제한" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "주어진 source subnet 으로 Masquerading 제한" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Address family 제한" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "토요일" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Source IP 주소" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Source MAC 주소" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Source 주소" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "시작 날짜 (yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "종료 날짜 (yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "일요일" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"방화벽 기능을 이용하여 네트워크 인터페이스와 연결된 zone 을 생성할 수 있고 이" -"를 이용하여 네트워크 traffic flow 를 제어할 수 있습니다." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"이 zone (%s) 과 다른 zone 들 사이의 forwarding 정책을 제어하는 옵션들입니다. " -"Destination zones%q 에서 출발한 forward " -"traffic 을 뜻하고, Source zones 은 다른 zone 들에서 %q 로 전" -"달되는 forward traffic 을 뜻합니다. Forwarding rule 은 " -"unidirectional 인데, 예를 들어 LAN 에서 WAN 으로의 forward 규칙이 " -"WAN 에서 LAN 으로의 forward 를 허락하는 것이 아닙니다." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -#, fuzzy -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"이 섹션은 %q 의 공통 속성을 설정할 수 있습니다. input 과 " -"output 옵션은 이 zone 으로 전달되어 들오거나 나가는 트래픽에 대한 기" -"본 정책을 뜻합니다. forward 옵션은 zone 내에서 다른 네트워크들 사이" -"를 오가는 forward traffic 에 대한 정책을 뜻합니다. Covered networks " -"에서는 zone 의 영향을 받을 네트워크들을 지정할 수 있습니다." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "목요일" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "UTC 기준시" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Traffic Rule" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Traffic rule 은 서로 다른 zone 사이를 오가는 패킷들에 대한 정책을 정의합니" -"다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 공유기의 WAN port 를 " -"open 할때 사용됩니다." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "화요일" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "수요일" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "주일" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zone 내역" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s ,%s" - -#~ msgid "Destination IP address" -#~ msgstr "Destination IP 주소" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "Add and edit..." -#~ msgstr "추가 후 수정..." - -#~ msgid "External zone" -#~ msgstr "외부 zone" - -#~ msgid "New SNAT rule" -#~ msgstr "새로운 SNAT rule" - -#~ msgid "New forward rule" -#~ msgstr "새로운 forward rule" - -#~ msgid "New input rule" -#~ msgstr "새로운 input rule" - -#~ msgid "New port forward" -#~ msgstr "새로운 port forward" - -#~ msgid "New source NAT" -#~ msgstr "새로운 source NAT" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "Source NAT 기능은 masquerading 의 한 형태로써 outgoing 트래픽이 사용할 " -#~ "source IP 를 세밀하게 제어할 수 있습니다. 예를 들어 다수의 WAN 주소들을 " -#~ "내부 subnet 에 매핑(mapping) 할 경우 사용됩니다." - -#~ msgid "Start Time (hh:mm:ss)" -#~ msgstr "시작 시간 (hh:mm:ss)" - -#~ msgid "Stop Time (hh:mm:ss)" -#~ msgstr "종료 시간 (hh:mm:ss)" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "이 메뉴에서는 port forwarding 의 고급 설정 정보를 변경할 수 있습니다. 대부" -#~ "분의 경우 이 설정을 수정할 일이 없습니다." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "이 메뉴에서는 traffic rule 항목의 고급 설정, 예를 들어 source host 와 " -#~ "destination host 매칭, 을 변경할 수 있습니다." diff --git a/luci-app-firewall/po/mr/firewall.po b/luci-app-firewall/po/mr/firewall.po deleted file mode 100644 index ae3c81857..000000000 --- a/luci-app-firewall/po/mr/firewall.po +++ /dev/null @@ -1,1139 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-02-07 09:18+0000\n" -"Last-Translator: Prachi Joshi \n" -"Language-Team: Marathi \n" -"Language: mr\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "प्रगत सेटिंग्ज" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "गंतव्य पोर्ट" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "सक्षम करा" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/zones.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "सामान्य सेटिंग्ज" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 आणि IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "केवळ IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "केवळ IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "चिन्ह जुळवा" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "नाव" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "प्रोटोकॉल" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/rrule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Traffic Redirection" -# msgstr "" -# -# msgid "" -# "Traffic redirection allows you to change the destination address of " -# "forwarded packets." -# msgstr "" -# -# msgid "Overview" -# msgstr "" -# -# msgid "Name" -# msgstr "" -# -# msgid "Source zone" -# msgstr "" -# -# msgid "Source MAC-address" -# msgstr "" -# -# msgid "Source port" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "स्रोत पोर्ट" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "MAC" -#~ msgstr "MAC" diff --git a/luci-app-firewall/po/ms/firewall.po b/luci-app-firewall/po/ms/firewall.po deleted file mode 100644 index dfc6fad65..000000000 --- a/luci-app-firewall/po/ms/firewall.po +++ /dev/null @@ -1,1103 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Malay \n" -"Language: ms\n" -"MIME-Version: 1.0\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-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Tindakan" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "MAC" -#~ msgstr "MAC" diff --git a/luci-app-firewall/po/nb_NO/firewall.po b/luci-app-firewall/po/nb_NO/firewall.po deleted file mode 100644 index cc73c222e..000000000 --- a/luci-app-firewall/po/nb_NO/firewall.po +++ /dev/null @@ -1,1316 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Norwegian Bokmål \n" -"Language: 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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Handling" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Avanserte Innstillinger" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Tillat videresending fra kilde soner:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Tillat videresending til destinasjon soner:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Enhver" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Gjeldene nettverk" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Egendefinerte Regler" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Egendefinerte regler tillater deg å utføre vilkårlige iptables kommandoer " -"som ikke dekkes av brannmurens standardoppsett. Kommandoene utføres etter " -"hver omstart av brannmuren, rett etter at standard regelsett er lastet." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Destinasjon adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Destinasjon port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Destinasjon sone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Forkast ugyldige pakker" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Aktiver" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Aktiver NAT Tilbakekobling" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Aktiver SYN-flood beskyttelse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Aktiver logging av denne sonen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Ekstern IP adressse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Ekstern port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Ekstra argumenter" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Brannmur" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Brannmur - Egendefinerte Regler" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Brannmur - Port Videresending" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Brannmur - Trafikk Regler" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Brannmur - Sone Innstillinger" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Videresend" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Generelle Innstillinger" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 og IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Kun IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Kun IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Inndata" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Intern IP adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Intern port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Intern sone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Begrens logging" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "MSS Kontroll (Clamping)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Masquerading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Match" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Match ICMP type" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Match innkommende trafikk rettet mot den oppgitte destinasjonsport eller " -"portområdet på denne verten" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Navn" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Match kun innkommende trafikk rettet mot den oppgitt IP adresse." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Match kun innkommende trafikk fra disse MAC adresser." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Match kun innkommende trafikk fra denne IP eller IP område." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Match kun innkommende trafikk som kommer fra den oppgitte kildeport eller " -"fra portområdet til klienten" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Utdata" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "Sender flere argumenter til iptables. Bruk med forsiktighet!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Port Videresendinger" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"Port videresending tillater at eksterne datamaskiner på Internett kan koble " -"seg til en bestemt maskin eller tjeneste innenfor det private LAN." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protokoll" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Viderekoble matchet innkommende trafikk til den oppgitte porten på intern " -"vert" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Viderekoble matchet innkommende trafikk til den angitte interne vert" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Begrens Masquerading til oppgitt destinasjons subnett" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Begrens Masqeuerading til oppgitt kilde subnett" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Begrens til adresse familie" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Kilde IP adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Kilde MAC adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Kilde adresse" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Kilde port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Kilde sone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"Brannmuren skaper soner over nettverkets grensesnitt for å styre " -"nettverkstrafikken." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Med valgene under konfigurerer man videresending mellom denne sone (%s) og " -"andre soner. Destinasjons soner omhandler videresendt trafikk " -"med opprinnelse fra %q. Kilde soner matcher " -"videresendt trafikk fra andre soner rettet mot %q. Reglene " -"ved videresending er enveis, d.v.s at videresending fra LAN til WAN " -"ikke automatisk også tillater videresending fra WAN til LAN." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -#, fuzzy -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Denne seksjonen definerer de vanligste valg for %q. Med Inndata og " -"Utdata fastsetter man vanlige regler for trafikk gjennom sonen, " -"mens videresend valget definerer regler for videresendt trafikk " -"mellom forskjellige nettverk i sonen. Gjeldene nettverk " -"spesifiserer hvilken av de tilgjengelige nettverk som er medlem av denne " -"sone." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Trafikk Regler" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Trafikk regler definerer regler for sending av pakker mellom ulike soner, " -"for eksempel for å avvise trafikk mellom visse verter eller for å åpne WAN " -"porter på ruteren." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Sone = Videresendinger" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Soner" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "godta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "enhver" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "enhver sone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "ikke track" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "forkast" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "avslå" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s in %s" -#~ msgstr "%s i %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s med %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s i %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d pakker per %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d pakker per %s, burst %dpakker." - -#~ msgid "%s and limit to %s" -#~ msgstr "%s og begrens til %s" - -#~ msgid "Destination IP address" -#~ msgstr "Destinasjon IP adresse" - -#~ msgid "Do not rewrite" -#~ msgstr "Ikke omskriv" - -#~ msgid "Forward to" -#~ msgstr "Videresend til" - -#~ msgid "From %s in %s" -#~ msgstr "Fra %s i %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Fra %s i %s med kilde %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Fra %s i %s med kilde %s og %s" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Til %s på %s på denne enheten" - -#~ msgid "To %s in %s" -#~ msgstr "Til %s i %s" - -#~ msgid "To %s on this device" -#~ msgstr "Til %s på denne enheten" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Til %s, %s i %s" - -#~ msgid "Via %s" -#~ msgstr "Via %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Via %s på %s" - -#~ msgid "any host" -#~ msgstr "enhver vert" - -#~ msgid "any router IP" -#~ msgstr "enhver ruter IP" - -#~ msgid "Force connection tracking" -#~ msgstr "" -#~ "Bruk forbindelse sporing" - -#~ msgid "Add" -#~ msgstr "Legg til" - -#~ msgid "Add and edit..." -#~ msgstr "Legg til og redigere..." - -#~ msgid "External zone" -#~ msgstr "Ekstern sone" - -#~ msgid "New SNAT rule" -#~ msgstr "Ny SNAT regel" - -#~ msgid "New forward rule" -#~ msgstr "Ny videresending regel" - -#~ msgid "New input rule" -#~ msgstr "Ny inndata regel" - -#~ msgid "New port forward" -#~ msgstr "Ny port videresending" - -#~ msgid "New source NAT" -#~ msgstr "Ny kilde NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Åpne porter på ruteren" - -#~ msgid "Other..." -#~ msgstr "Andre..." - -#~ msgid "To source IP" -#~ msgstr "Til kilde IP" - -#~ msgid "To source port" -#~ msgstr "Til kilde port" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(oppføring uten navn)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(regel uten navn)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(SNAT uten navn)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Sone til Sone Videresending" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Match videresendt trafikk til den oppgitte destinasjonsport eller " -#~ "portområdet." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "Match innkommende trafikk som kommer fra den oppgitte kildeport eller " -#~ "portområdet på klienten." - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "Omskriv matchet trafikk til den oppgitte adressen." - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Omskriv matchet trafikk til den oppgitte kildeport. Kan stå tom for kun " -#~ "omskriving av IP adressen." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Omskriv til kilde %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Omskriv til kilde %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "SNAT IP adresse" - -#~ msgid "SNAT port" -#~ msgstr "SNAT port" - -#~ msgid "Source NAT" -#~ msgstr "Kilde NAT" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "Kilde NAT er en spesifikk form for masquerading som tillater finkornet " -#~ "kontroll over kilde IP adressen som brukes for utgående trafikk, for " -#~ "eksempel for å mappe flere WAN adresser til interne subnett." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Denne siden lar deg endre avanserte egenskaper til port videresending " -#~ "oppføringer. I de fleste tilfeller er det ikke nødvendig å endre disse " -#~ "innstillingene." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Denne siden lar deg endre de avanserte egenskapene til trafikken regel " -#~ "oppføringer, som for eksempel matchet kilde og destinasjons vert." - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Du kan spesifisere flere ved å velge \"-- egendefinert --\" og deretter " -#~ "skrive flere protokoller atskilt med mellomrom." - -#~ msgid "Zone %q" -#~ msgstr "Sone %q" diff --git a/luci-app-firewall/po/pl/firewall.po b/luci-app-firewall/po/pl/firewall.po deleted file mode 100644 index 538e8713f..000000000 --- a/luci-app-firewall/po/pl/firewall.po +++ /dev/null @@ -1,1559 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-26 21:49+0000\n" -"Last-Translator: Marcin Net \n" -"Language-Team: Polish \n" -"Language: pl\n" -"MIME-Version: 1.0\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 i " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP z odmianami %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- dodaj IP --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- dodaj MAC --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"Akceptuj %{src?%{dest?forward:input}:" -"output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "Zapobieganie przepisywaniu źródła" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"Przekazuj do %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" -"Porzuć %{src?%{dest?forward:input}:output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" -"Przydziel DSCP klasyfikacja %{set_dscp}" -"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"Przydziel conntrack pomoc %{set_helper}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"%{set_mark?Assign:XOR} znacznik zapory " -"sieciowej %{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" -"Automatycznie przepisz źródłowy adres " -"IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"Nie śledź %{src?%{dest?forward:input}:" -"output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" -"Odrzucaj %{src?%{dest?forward:input}:" -"output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"Statystycznie przepisz do źródła %{snat_ip?" -"IP %{snat_ip}} %{snat_port?port %{snat_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "Należy podać adres IP do ponownego zapisu!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "AKCEPTUJ - Wyłącz przepisywanie adresów" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Akcja" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"Dodatkowe surowe iptables argumenty do klasyfikacji ruchu w strefie " -"docelowej, np. -p tcp --dport 443 tylko w celu dopasowania " -"ruchu wychodzącego HTTPS." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"Dodatkowe surowe iptables argumenty do klasyfikacji ruchu w strefie " -"docelowej, np. -p tcp --sport 443 tylko w celu dopasowania " -"ruchu przychodzącego HTTPS." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Ustawienia zaawansowane" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Zezwól na \"nieprawidłowy\" ruch" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Zezwól na przekazywanie z strefy źródłowej:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Zezwól na przekazywanie do strefy docelowej:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Każdy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Każdy dzień" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"Zastosuj bitowy XOR podanej wartości i istniejącej wartości znacznika na " -"ustanowionych połączeniach. Format to wartość [/mask]. Jeśli maska jest " -"określona, wówczas ustawione w niej bity są zerowane." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "Zastosuj daną klasę lub wartość DSCP do ustanowionych połączeń." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"Przypisz określonego pomocnika śledzenia połączeń do dopasowanego ruchu." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Automatyczne przydzielanie pomocy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Automatycznie przydzielaj pomocników conntrack'a na podstawie protokołu " -"ruchu i portu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Ustawienia conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Pomocnicy conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Zawartość została zapisana." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Kontynuuj" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Objęte urządzenia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Objęte sieci" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Objęte podsieci" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Własne reguły" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Własne reguły pozwalają na arbitralne wykonanie poleceń iptables, które nie " -"są objęte składnią zapory. Polecenia wykonywane są po każdym restarcie " -"zapory, zaraz po załadowaniu zestawu reguł domyślnych." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "Klasyfikacja DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "Znacznik DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "Wymagany znacznik DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Adres docelowy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Port docelowy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Strefa docelowa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Nazwa urządzenia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"Nie instaluj dodatkowych reguł odrzucania ruchu przekazywanego z conntrack " -"state invalid. Może to być wymagane w przypadku skomplikowanych " -"asymetrycznych ustawień trasy." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Porzuć wadliwe pakiety" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Włącz" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Włącz NAT Loopback" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Włącz ochronę SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Włącz logowanie tej strefy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Zaleca się użyć: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Funkcja eksperymentalna. Nie w pełni kompatybilna z QoS/SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"Dokładnie wybiera dozwolone pomoce śledzenia połączeń dla ruchu strefowego" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Zewnętrzne adresy IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Port zewnętrzny" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Dodatkowe argumenty" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "Dodatkowe argumenty przeznaczenia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "Dodatkowe argumenty tablicy IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "Dodatkowe argumenty zródłowe" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/zones.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Zapora sieciowa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Zapora sieciowa - Własne reguły" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Zapora sieciowa - Zasady NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Zapora sieciowa - Przekazywane porty" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Zapora sieciowa - Reguły ruchu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Zapora sieciowa - Ustawienia strefy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "Migracja konfiguracji zapory sieciowej" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Przekazuj" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"Przekazywanie IPv4 %{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Piątek" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"Z %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"Z %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"Z %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Ustawienia główne" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Sprzętowy flow offloading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 i IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Tylko IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Tylko IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Urządzenie przychodzące" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"Przychodzące IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " -"with types %{item.types#%{next?, }%{item}}:" -"%{item.name}}}}%{mark?, mark " -"%{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Ruch przychodzący" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Wewnętrzny adres IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Port wewnętrzny" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Strefa wewnętrzna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Nieprawidłowy znacznik DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Nieprawidłowa wartość graniczna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Naruszenie limitu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Ograniczenie logowania" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Dopasowanie limitu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"Dopasowanie limitu do %{limit.num} pakiety na %{limit.unit}%{limit.burst? burst %{limit.burst}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Ogranicza ruch zgodny z określoną stawką." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "Źródło pętli zwrotnej IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "MASQUERADE - Automatyczne przepisywanie na interfejs wyjściowy IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Dostosuj MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Maskarada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Dopasuj" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "Dopasuj DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Dopasuj typ ICMP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "Dopasuj urządzenie" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "Dopasuj przesyłany ruch skierowany na podany adres IP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"Dopasuj przesyłany ruch skierowany na dany port docelowy lub zakres portów." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "Dopasuj przesyłany ruch z tego adresu IP lub zakresu." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"Dopasuj przesyłany ruch pochodzący z danego portu źródłowego lub zakresu " -"portów." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "Dopasuj pomocnika" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Dopasuj ruch przychodzący do danego portu docelowego lub zakresu portów na " -"tym hoście" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "Znacznik dopasowania" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "Dopasuj ruch, używając określonego pomocnika śledzenia połączeń." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "Odpowiada konkretnemu znakowi zapory lub zakresowi różnych znaków." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"Dopasowuje przesyłany ruch przy użyciu określonego wychodzącego urządzenia " -"sieciowego." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "Dopasowuje ruch niosący określone oznaczenie DSCP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"Maksymalna początkowa liczba pakietów do dopasowania: ta liczba jest " -"ładowana jednorazowo za każdym razem, gdy limit określony powyżej nie " -"zostanie osiągnięty, aż do tej liczby." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Poniedziałek" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Dni miesiąca" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "Zasady NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"Reguły NAT umożliwiają precyzyjną kontrolę źródłowego adresu IP w celu " -"użycia ruchu wychodzącego lub przekazywanego." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Nazwa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Dopasuj tylko przychodzący ruch skierowany do danego adresu IP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Dopasuj tylko ruch z tych adresów MAC." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Dopasuj tylko ruch przychodzący z tego adresu IP lub zakresu adresów." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Dopasuj tylko ruch przychodzący z podanego portu źródłowego lub zakresu " -"portów na hoście klienta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "Urządzenie wychodzące" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "Strefa wychodząca" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Ruch wychodzący" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" -"Przekazuje dodatkowe argumenty do iptables. Zachowaj szczególną ostrożność!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"Przekazywanie surowych argumentów iptables do reguł klasyfikacji ruchu " -"źródłowego i docelowego pozwala na dopasowanie pakietów w oparciu o inne " -"kryteria niż interfejsy lub podsieci. Opcje te powinny być używane ze " -"szczególną ostrożnością, ponieważ nieprawidłowe wartości mogą spowodować " -"złamanie zestawu reguł zapory sieciowej, całkowicie odsłaniając wszystkie " -"usługi." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Przekazywanie portów" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"Przekazanie portów pozwala komputerom z internetu na połączenia z " -"komputerami z sieci LAN." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protokół" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Przekieruj ruch przychodzący na podany port do wskazanego hosta w sieci " -"wewnętrznej" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Przekieruj ruch przychodzący do wskazanego hosta w sieci wewnętrznej" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "Wymaga sprzętowej obsługi NAT. Wdrożono dla co najmniej mt7621" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Ogranicz maskaradę do wskazanych podsieci docelowych" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Ogranicz maskaradę do wskazanych podsieci źródłowych" - -# Wstawiłem rodzinę gdyż gdzieś wcześniej było tak opisane ale klasa pasuje mi tu bardziej. -# Obsy - niestety ale "rodzina". W gui dotyczy to wyboru IPv4/IPv6, więc "rodzina" a nie klasa. -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Ogranicz do rodziny adresów" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "Przepisz adres IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "Przepisz dopasowany ruch do określonego źródłowego adresu IP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"Przepisz dopasowany ruch do określonego portu źródłowego lub zakresu portów." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "Przepisz port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Trasowanie/NAT Offloading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT - Przepisz do określonego źródłowego adresu IP lub portu" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Sobota" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "Ustaw znacznik" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"Ustaw podaną wartość znaku na ustanowionych połączeniach. Format to wartość " -"[/mask]. Jeśli maska jest określona, modyfikowane są tylko te bity ustawione " -"w masce." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Oprogramowanie oparte na offloading dla trasowania/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Programowy flow offloading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Źródłowy adres IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Źródłowy adres MAC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Adres źródłowy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Port źródłowy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Strefa źródłowa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"Określa, czy powiązać tę regułę ruchu z określonym przychodzącym, czy " -"wychodzącym urządzeniem sieciowym." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"Określa, czy użyć zewnętrznego czy wewnętrznego adresu IP do odbijanego " -"ruchu." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Data rozpoczęcia (rrrr-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Czas rozpoczęcia (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Data zakończenia (yyyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Czas zatrzymania (yyyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Niedziela" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" -"Istniejąca konfiguracja zapory sieciowej musi zostać zmieniona, aby LuCI " -"mógł działać prawidłowo." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"Zapora tworzy strefy z twoich interfejsów sieciowych, aby kontrolować ruch " -"sieciowy." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Opcje poniżej kontrolują politykę przekazywania pomiędzy tą strefą (%s) a " -"innymi strefami. Strefy docelowe obejmują przekazywany ruch " -"pochodzący z %q. Strefy źródłowe match forwarded " -"traffic from other zones skierowane do %q. Reguła " -"przekazywania jest jednokierunkowa, np. przekazywanie z sieci LAN " -"do WAN nie implikuje pozwolenia na przekazywanie z sieci WAN do LAN." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Ta sekcja definiuje ustawienia ogólne %q. Opcje wejście i " -"wyjście określające domyślną politykę dla ruchu przychodzącego i " -"wychodzącego w tej strefie, podczas gdy przekazywanie opisuje " -"politykę ruchu przekazywanego pomiędzy różnymi sieciami wewnątrz strefy. " -"Objęte sieci określają dostępne sieci będące członkami tej strefy." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Czwartek" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Ograniczenia czasowe" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Czas w UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"Do %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"Do %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"Do %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "Pomocnik śledzenia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Reguły ruchu sieciowego" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Reguły ruchu sieciowego definiują politykę dla pakietów przechodzących " -"między strefami, na przykład aby odrzucać ruch między konkretnymi hostami " -"albo otworzyć porty WAN routera." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Wtorek" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Nie można zapisać zawartości: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "Nieznany lub nie zainstalowany pomocnik conntrack \"%s\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "Nienazwany NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Przekazywanie bez nazwy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Nieznana zasada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Strefa bez nazwy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "Nierozpoznany protokół" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"Po naciśnięciu przycisku „Kontynuuj” sekcje przekierowujące z docelowym " -"\"SNAT\" zostaną przekonwertowane na sekcje \"nat\", a zapora sieciowa " -"zostanie ponownie uruchomiona w celu zastosowania zaktualizowanej " -"konfiguracji." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "Użyj zewnętrznego adresu IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "Użyj wewnętrznego adresu IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Opcja ta służy do klasyfikacji ruchu strefowego według surowych, nie-" -"uci obsługiwanych urządzeń sieciowych." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Opcji tej należy używać do klasyfikacji ruchu strefowego według źródła lub " -"podsieci docelowej zamiast sieci lub urządzeń." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "Wymagany prawidłowy znacznik zapory sieciowej" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Środa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Dni tygodnia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "Znacznik zapory XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "Znacznik XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Strefa ⇒ Przekazywanie" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Strefy" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "akceptuj" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "dowolny" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "dowolna strefa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "Zastosuj znacznik zapory" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "przypisz pomocnika conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "Dzień" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "Nie przepisuj" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "nie śledź" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "porzuć" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "godzina" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "minuta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "odrzucaj" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "sekunda" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "to urządzenie" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "ta nowa strefa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "nielimitowane" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "nieokreślone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "prawidłowy znacznik zapory sieciowej" - -#~ msgid "%s in %s" -#~ msgstr "%s w %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s z %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s w %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d pakietów na %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "" -#~ "%d pakietów na %s, popsutych %d pakietów." - -#~ msgid "%s and limit to %s" -#~ msgstr "%s i limit do %s" - -#~ msgid "Accept forward" -#~ msgstr "Zaakceptuj przekazywanie" - -#~ msgid "Accept input" -#~ msgstr "Zaakceptuj wejście" - -#~ msgid "Accept output" -#~ msgstr "Zaakceptuj wyjście" - -#~ msgid "Destination IP address" -#~ msgstr "Docelowy adres IP" - -#~ msgid "Discard forward" -#~ msgstr "Odrzuć przekazywanie" - -#~ msgid "Discard input" -#~ msgstr "Odrzuć wejście" - -#~ msgid "Discard output" -#~ msgstr "Odrzuć wyjście" - -#~ msgid "Do not rewrite" -#~ msgstr "Nie przepisuj" - -#~ msgid "Do not track forward" -#~ msgstr "Nie śledź przekazywania" - -#~ msgid "Do not track input" -#~ msgstr "Nie śledź wejścia" - -#~ msgid "Do not track output" -#~ msgstr "Nie śledź wyjścia" - -#~ msgid "Forward to" -#~ msgstr "Przekazuj do" - -#~ msgid "From %s in %s" -#~ msgstr "Z %s w %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Z %s w %s ze źródłem %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Z %s w %s ze źródłem %s i %s" - -#~ msgid "From %s on this device" -#~ msgstr "Z %s na to urządzenie" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "Z %s na to urządzenie ze źródłem %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "Z %s na to urządzenie ze źródłem %s oraz %s" - -#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}" -#~ msgstr "Z %{ipaddr?:any host} %{port?with source %{port}}" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Zakres IP" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "" -#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} " -#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}" -#~ msgstr "" -#~ "Dopasuj %{protocol?%{family} %{protocol} traffic:any %{family} traffic} " -#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}" - -#~ msgid "Network" -#~ msgstr "Sieć" - -#~ msgid "Refuse forward" -#~ msgstr "Odmowa przekazania" - -#~ msgid "Refuse input" -#~ msgstr "Odmowa wejścia" - -#~ msgid "Refuse output" -#~ msgstr "Odmowa wyjścia" - -#~ msgid "Rewrite to" -#~ msgstr "Przepisz do" - -#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}" -#~ msgstr "Przepisz do %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}" - -#~ msgid "Rewrite to outbound device IP" -#~ msgstr "Przepisz do adresu IP urządzenia wychodzącego" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Do %s w %s na tym urządzeniu" - -#~ msgid "To %s in %s" -#~ msgstr "Do %s w %s" - -#~ msgid "To %s on this device" -#~ msgstr "Do %s na tym urządzeniu" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Do %s, %s w %s" - -#~ msgid "" -#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} " -#~ "%{device?egress device %{device}}" -#~ msgstr "" -#~ "Do %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} " -#~ "%{device?egress device %{device}}" - -#~ msgid "Via %s" -#~ msgstr "Przez %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Przez %s w %s" - -#~ msgid "any host" -#~ msgstr "dowolny host" - -#~ msgid "any router IP" -#~ msgstr "dowolne IP routera" - -#~ msgid "not" -#~ msgstr "Nie" - -#~ msgid "port" -#~ msgstr "port" - -#~ msgid "ports" -#~ msgstr "porty" - -#~ msgid "type" -#~ msgstr "typ" - -#~ msgid "types" -#~ msgstr "typy" - -#~ msgid "Force connection tracking" -#~ msgstr "Wymuś śledzenie połączeń" - -#~ msgid "Add" -#~ msgstr "Dodaj" - -#~ msgid "Add and edit..." -#~ msgstr "Dodaj i edytuj..." - -#~ msgid "External zone" -#~ msgstr "Strefa zewnętrzna" - -#~ msgid "New SNAT rule" -#~ msgstr "Nowa reguła SNAT" - -#~ msgid "New forward rule" -#~ msgstr "Nowa reguła przekazywania (forward)" - -#~ msgid "New input rule" -#~ msgstr "Nowa reguła wejściowa (input)" - -#~ msgid "New port forward" -#~ msgstr "Nowe przekierowanie portu" - -#~ msgid "New source NAT" -#~ msgstr "Nowy NAT źródłowy" - -#~ msgid "Open ports on router" -#~ msgstr "Otwarte porty na routerze" - -#~ msgid "Other..." -#~ msgstr "Inne..." - -#~ msgid "To source IP" -#~ msgstr "Do źródłowego IP" - -#~ msgid "To source port" -#~ msgstr "Do źródłowego portu" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Nienazwany wpis)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Nienazwana reguła)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(Nienazwany SNAT)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Przekazywanie pomiędzy strefami" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Dopasuj przekazywany ruch do danego docelowego portu lub zakresu portów" - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "Dopasuj przychodzący ruch pochodzący z danego portu źródłowego lub " -#~ "zakresu portów na hoście klienta." - -# Dosłownie przetłumaczone, nie bardzo wiem czy chodzi o czynność przepisywania pakietu przez usługę czy to jakieś ogólne sformułowanie... -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "Przepisz dopasowany ruch do wskazanych adresów." - -# Jak wyżej chodzi o przepisanie pakietu przez usługę? -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Przepisz dopasowany ruch do danego portu źródłowego. Można zostawić puste " -#~ "aby przepisać tylko adres IP" - -#~ msgid "Rewrite to source %s" -#~ msgstr "Przepisz do źródła %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Przepisz do źródła %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "Adres IP SNAT" - -#~ msgid "SNAT port" -#~ msgstr "Port SNAT" - -#~ msgid "Source NAT" -#~ msgstr "NAT źródłowy" - -# http://www.digipedia.pl/def/doc/id/677604507/name/SNAT/ -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "SNAT używany jest wtedy, gdy zmieniane są adresy pakietów połączenia " -#~ "wychodzącego, czyli pakiety źródłowe. Wykonywany jest zawsze po " -#~ "routowaniu (POSTROUTING), a więc w chwili, gdy pakiety są gotowe opuścić " -#~ "host. IPmasquerading jest formą SNAT." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Ta strona pozwala zmienić zaawansowane ustawienia przekierowania portów. " -#~ "W większości przypadków nie ma potrzeby zmieniać tych ustawień." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Ta strona pozwala zmienić zaawansowane ustawienia reguły ruchu " -#~ "sieciowego, takie jak pasujące źródło i hosty docelowe." - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Możesz określić kilka wybierając \"-- własne --\" i wpisując protokoły " -#~ "rozdzielone spacją." - -#~ msgid "Zone %q" -#~ msgstr "Strefa %q" diff --git a/luci-app-firewall/po/pt/firewall.po b/luci-app-firewall/po/pt/firewall.po deleted file mode 100644 index d031d7171..000000000 --- a/luci-app-firewall/po/pt/firewall.po +++ /dev/null @@ -1,1421 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-20 05:58+0000\n" -"Last-Translator: ssantos \n" -"Language-Team: Portuguese \n" -"Language: pt\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- adicionar IP --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- adicionar MAC --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"Aceitar %{src?%{dest?forward:input}:" -"output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "Prevenir a reescrita da fonte" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "Um IP reescrito deve ser especificado!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ACCEPT - Deactivate reescrever endereços" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Ação" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"Argumentos brutos adicionais iptables para classificar o tráfego de " -"destino da zona, por exemplo, -p tcp -- dport 443 para " -"corresponder apenas ao tráfego https de saída." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"Argumentos adicionais brutos iptables para classificar o tráfego de " -"fonte de zona, por exemplo, -p tcp - esporte 443 para " -"corresponder apenas ao tráfego HTTPS de entrada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Definições Avançadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Permitir o tráfego \"inválido\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Permitir encaminhamento de zonas de origem:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Permitir encaminhamento para zonas de destino:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Qualquer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Qualquer dia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"Aplique um XOR bit a bit do valor dado e o valor da marca existente nas " -"ligações estabelecidas. Formato é valor[/máscara]. Se uma máscara for " -"especificada, os bits definidos na máscara são zerados." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "Aplique a classe ou valor de DSCP dado às conexões estabelecidas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"Atribua o ajudante de rastreamento de conexão especificado para o tráfego " -"combinado." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Atribuição automática de assistentes" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Atribuir assistentes de conntrack automaticamente com base no protocolo de " -"tráfego e na porta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Configurações do Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Assistentes do Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Os conteúdos foram gravados." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Continuar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Aparelhos abrangidos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Redes abrangidas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Subredes abrangidas" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Regras Personalizadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"As regras personalizadas permitem-lhe executar comandos arbitrários iptables " -"os quais não são possiveis de aplicar usando a framework da firewall. Os " -"comandos são executados a seguir ao reinicio da firewall, logo a seguir ao " -"conjunto de regras predefinidas serem carregadas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "Classificação de DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "Marca de DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "Marca de DSCP necessária" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Endereço de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Porta de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Zona de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Nome do aparelho" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"Não instalae regras adicionais para rejeitar tráfego encaminhado com estado " -"conntrack invalid. Isto pode ser necessário para configurações " -"complexas de rotas assimétricas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Cancelar pacotes inválidos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Ativar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Ativar NAT Loopback" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Ativar a Proteção SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Ativar registo nesta zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "À espera de: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Característica experimental. Não totalmente compatível com QoS/SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"Escolhe explicitamente os assistentes de rastreamento de conexão permitidos " -"para o tráfego da zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Endereço IP externo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Porta externa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Argumentos adicionais" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "Argumentos adicionais de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "Argumentos adicionais do iptables" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "Argumentos adicionais da fonte" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Firewall - Regras Personalizadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Firewall - Regras de NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Firewall - Encaminhamento de Portas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Firewall - Regras de Tráfego" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Firewall - Definições de Zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Encaminhar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Sexta-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Configurações Gerais" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Descarga de fluxo em hardware" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 e IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Só IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Só IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Aparelho de entrada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Entrada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Endereço IP interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Porta interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Zona Interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Marca de DSCP inválida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Valor limite inválido" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Limite de burst" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Limitar registo de mensagens" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Limitar a correspondência" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Limita o tráfego de acordo com a taxa especificada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "IP fonte de loopback" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Fixação de MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Mascaramento" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Corresponder" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Correspondência do tipo de ICMP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"O tráfego de entrada corresponde a uma dada porta de destino ou intervalo de " -"portas neste host" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Segunda-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Dias do mês" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Só se tráfego de entrada corresponder ao endereço IP fornecido." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Só se o tráfego de entrada corresponder a um destes MACs." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Só se o tráfego de entrada corresponder a este IP ou intervalo." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Só se o tráfego de entrada corresponder à porta de origem fornecida ou de um " -"intervalo de portas no host cliente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Saída" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "Passa argumentos adicionais para o iptables. Usar com cuidado!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"Passar argumentos brutos do iptables para regras de classificação de tráfego " -"de origem e destino permite combinar pacotes baseados em outros critérios " -"além de interfaces ou sub-redes. Essas opções devem ser usadas com extremo " -"cuidado, pois valores inválidos podem tornar o conjunto de regras do " -"firewall quebrado, expondo completamente todos os serviços." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Encaminhamento de Portas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"O Encaminhamento de Portas permite que computadores remotos na internet se " -"liguem a um computador ou serviço especifico na rede privada (LAN)." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protocolo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Redirecionar a entrada de trafego correspondente à porta fornecida no host " -"interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Redirecionar o tráfego de entrada correspondente para o host interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" -"Requer suporte de hardware para NAT. Implementado pelo menos para mt7621" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Restringir o Mascaramento às sub-redes de destino dadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Restringir Mascaramento a sub-redes de origem fornecidas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Restringir a família de endereços" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Descargar Roteamento/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Sábado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Descarga baseada em software para roteamento/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Descarga de fluxo de software" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Endereço IP de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Endereço MAC de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Endereço de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Porta de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Zona de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Data de Início (aaaaa-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Hora de início (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Data de Paragem (aaaaa-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Tempo de Parada (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Domingo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"A firewall cria zonas sobre as interfaces de rede para controlar o fluxo do " -"tráfego." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"As opções abaixo controlam as políticas de encaminhamento entre esta zona " -"(%s) e outras zonas. Zonas de destino cobrem tráfego encaminhado " -"originando de %q. Zonas de origem correspondem ao " -"tráfego encaminhado de outras zonas alvo em %q. A regra de " -"encaminhamento é unidirecional, por exemplo, um encaminhamento de " -"lan para wan não implica uma permissão para avançar de wan para lan " -"também." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Esta secção define propriedades comuns de %q. As opções input e " -"output definem as políticas padrão para entrada e saída de tráfego " -"nessa zona, enquanto a opção forward descreve a política para " -"tráfego encaminhado entre redes diferentes dentro da zona. Redes " -"abrangidas especifica quais das redes disponíveis são membros desta " -"zona." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Quinta-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Restrições de Tempo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Tempo em UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Regras de Tráfego" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"As Regras de Tráfego definem políticas para os pacotes que viajam entre " -"diferentes zonas, por exemplo, para rejeitar trafego entre certos hosts ou " -"para abrir portas WAN no router." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Terça-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Incapaz de gravar conteúdos: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Encaminhamento sem nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Regra sem nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Zona sem nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Use esta opção para classificar o tráfego da zona por aparelhos de rede " -"brutos, não geridos por uci." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou " -"destino em vez de redes ou aparelhos." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Quarta-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Dias úteis" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zona ⇒ Encaminhamentos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zonas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "aceitar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "qualquer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "qualquer zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "dia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "não seguir" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "descartar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "hora" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "minuto" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "rejeitar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "segundo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "esta nova zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "ilimitado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "não especificado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}" -#~ msgstr "De %{ipaddr?:qualquer host} %{port?com fonte %{port}}" - -#~ msgid "%s in %s" -#~ msgstr "%s em %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s with %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s em %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d pkts. por %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d pcts. por %s, burst %d pcts." - -#~ msgid "%s and limit to %s" -#~ msgstr "%s e limite a %s" - -#~ msgid "Accept forward" -#~ msgstr "Aceitar o encaminhamento" - -#~ msgid "Accept input" -#~ msgstr "Aceitar a entrada" - -#~ msgid "Accept output" -#~ msgstr "Aceitar a saída" - -#~ msgid "Destination IP address" -#~ msgstr "Endereço IP de destino" - -#~ msgid "Discard forward" -#~ msgstr "Descartar o encaminhamento" - -#~ msgid "Discard input" -#~ msgstr "Descartar a entrada" - -#~ msgid "Discard output" -#~ msgstr "Descartar a saída" - -#~ msgid "Do not rewrite" -#~ msgstr "Não re-escrever" - -#~ msgid "Do not track forward" -#~ msgstr "Não rastrear o encaminhamento" - -#~ msgid "Do not track input" -#~ msgstr "Não rastrear a entrada" - -#~ msgid "Do not track output" -#~ msgstr "Não rastrear a saída" - -#~ msgid "Forward to" -#~ msgstr "Encaminhar para" - -#~ msgid "From %s in %s" -#~ msgstr "De %s em %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "De %s em %s com origem %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "De %s em %s com origem %s e %s" - -#~ msgid "From %s on this device" -#~ msgstr "De %s neste aparelho" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "De %s neste aparelho com a fonte %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "De %s neste aparelho com as fontes %s e %s" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Intervalo de IP" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "Network" -#~ msgstr "Rede" - -#~ msgid "Refuse forward" -#~ msgstr "Recusar encaminhamento" - -#~ msgid "Refuse input" -#~ msgstr "Recusar entrada" - -#~ msgid "Refuse output" -#~ msgstr "Recusar saída" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Para %s no %s em este dispositivo" - -#~ msgid "To %s in %s" -#~ msgstr "Para %s em %s" - -#~ msgid "To %s on this device" -#~ msgstr "Para %s em este dispositivo" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Para %s, %s em %s" - -#~ msgid "Via %s" -#~ msgstr "Via %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Via %s no %s" - -#~ msgid "any host" -#~ msgstr "qualquer host" - -#~ msgid "any router IP" -#~ msgstr "qualquer IP do router" - -#~ msgid "not" -#~ msgstr "não" - -#~ msgid "port" -#~ msgstr "porta" - -#~ msgid "ports" -#~ msgstr "portas" - -#~ msgid "type" -#~ msgstr "tipo" - -#~ msgid "types" -#~ msgstr "tipos" - -#~ msgid "Force connection tracking" -#~ msgstr "Forçar rasto de ligação" - -#~ msgid "" -#~ "Prevent the installation of NOTRACK rules which would bypass " -#~ "connection tracking." -#~ msgstr "" -#~ "Prevenir a instalação de regras NOTRACK que contornariam o " -#~ "rastreamento de conexão." - -#~ msgid "Disable" -#~ msgstr "Desativar" - -#~ msgid "Add" -#~ msgstr "Adicionar" - -#~ msgid "Add and edit..." -#~ msgstr "Adicionar e editar..." - -#~ msgid "External zone" -#~ msgstr "Zona externa" - -#~ msgid "New SNAT rule" -#~ msgstr "Nova regra SNAT" - -#~ msgid "New forward rule" -#~ msgstr "Nova regra de encaminhamento" - -#~ msgid "New input rule" -#~ msgstr "Nova regra de entrada" - -#~ msgid "New port forward" -#~ msgstr "Novo encaminhamento de porta" - -#~ msgid "New source NAT" -#~ msgstr "Nova origem de NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Abrir portas no router" - -#~ msgid "Other..." -#~ msgstr "Outro..." - -#~ msgid "To source IP" -#~ msgstr "Para o IP de origem" - -#~ msgid "To source port" -#~ msgstr "Para a porta de origem" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Entrada Sem Nome)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Regra Sem Nome)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(SNAT Sem Nome)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Encaminhamento Inter-Zona" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "O tráfego encaminhado corresponde a uma determinada porta de destino ou " -#~ "intervalo de portas." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "O tráfego de entrada corresponde a uma dada porta ou de um intervalo de " -#~ "portas no host cliente." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Re-escrever para a origem %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Re-escrever para a origem %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "Endereço IP da SNAT" - -#~ msgid "SNAT port" -#~ msgstr "Porta SNAT" - -#~ msgid "Source NAT" -#~ msgstr "NAT de origem" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "NAT de origem é uma forma especifica de mascarar que permite um controlo " -#~ "melhorado sobre o IP de origem usado para o tráfego de saída, por " -#~ "exemplo, para mapear múltiplos endereços para as sub-redes internas." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Esta página permite-lhe alterar as definições avançadas da regra de " -#~ "entrada de tráfego, tal como correspondências de hosts de origem e " -#~ "destino." - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Pode especificar múltiplos seleccionando \"-- personalizado --\" e depois " -#~ "introduzir os protocolos separados por espaço." - -#~ msgid "Zone %q" -#~ msgstr "Zona %q" diff --git a/luci-app-firewall/po/pt_BR/firewall.po b/luci-app-firewall/po/pt_BR/firewall.po deleted file mode 100644 index 481bc8c3f..000000000 --- a/luci-app-firewall/po/pt_BR/firewall.po +++ /dev/null @@ -1,1567 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-02-22 11:57+0000\n" -"Last-Translator: Wellington Terumi Uemura \n" -"Language-Team: Portuguese (Brazil) \n" -"Language: pt_BR\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 3.11.1\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 e " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP com tipos %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" -"%{dscp.val}}}%{helper?, helper %{helper.inv?" -"%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- Adicionar IP --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- Adicionar MAC --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"Aceite %{src?%{dest?forward:input}:output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "Prevenir a reescrita da fonte" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"Encaminhar para %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" -"Derruba %{src?%{dest?forward:input}:output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" -"Atribuir DSCP classificação %{set_dscp}" -"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"Atribuir auxiliar conntrack %{set_helper}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"%{set_mark?Assign:XOR} marca do firewall " -"%{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" -"Reescrever automaticamente o IP de " -"origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"Não rastreie %{src?%{dest?forward:input}:" -"output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" -"Rejeita %{src?%{dest?forward:input}:" -"output}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"Reescrever estaticamente para a origem " -"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "Um IP de reescrita deve ser especificado!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ACEITAR - Desativar a reescrita do endereço" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Ação" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"Comandos iptables adicionais para classificar o tráfego de destino " -"da zona, por exemplo, -p tcp --dport 443 para corresponder " -"apenas ao tráfego HTTPS de saída." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"Comandos iptables adicionais para classificar o tráfego de origem " -"da zona, por exemplo, -p tcp --sport 443 para corresponder " -"apenas ao tráfego HTTPS de entrada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Configurações Avançadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Permitir tráfego \"inválido\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Permite o encaminhamento da zona de origem:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Permite o encaminhamento para a zona de destino:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Qualquer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Qualquer dia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"Aplique um XOR bitwise do valor dado e o valor da marca existente nas " -"ligações estabelecidas. O formato é o valor[/mask]. Se uma máscara for " -"especificada, então os bits definidos na máscara são zerados." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "Aplique a classe ou valor DSCP dado às conexões estabelecidas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"Atribua o auxiliar de rastreamento de conexão especificado para o tráfego " -"combinado." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Atribuição automática de assistentes" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Atribuir automaticamente ajudantes de conntrack com base no protocolo de " -"tráfego e na porta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Configurações do Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Ajudantes do Conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "O conteúdo foi salvo." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Continuar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Dispositivos cobertos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Redes cobertas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Sub-redes cobertas" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Regras Personalizadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"As regras personalizadas permitem executar comandos iptables arbitrários não " -"cobertos por esta ferramenta. Os comandos serão executados após cada " -"reinício do firewall, logo após a carga do conjunto de regras padrão." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "Classificação DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "Marca DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "Marca DSCP necessária" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Endereço de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Porta de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Zona de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Nome do dispositivo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"Não instale regras extras para rejeitar o tráfego encaminhado quando o " -"estado do conntrack for invalid. Isto pode ser necessário para " -"configurações complexas e de rotas assimétricas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Descartar pacotes inválidos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Ativar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Habilite o Loopback do NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Habilite proteção contra SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Habilite o registro nesta zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Esperando: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" -"Funcionalidade experimental. Ela não é totalmente compatível com QoS/SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"Escolhe explicitamente os assistentes de rastreamento de conexão permitidos " -"para o tráfego da zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Endereço IP externo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Porta Externa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Argumentos extras" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "Argumentos extra de destino" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "Argumentos extras para o iptables" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "Argumentos extras da fonte" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Firewall - Regras personalizadas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Firewall - Regras NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Firewall - Encaminhamento de Portas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Firewall - Regras de Tráfego" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Firewall - Configurações de Zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "Migração de configuração do Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Encaminhar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." -"val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Sexta-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " -"%{src_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " -"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#" -"%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " -"%{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Configurações Gerais" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Aceleração de fluxo de dados via Hardware" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 e IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Somente IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Somente IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Dispositivo de entrada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper." -"val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Entrada" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Endereço IP interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Porta Interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Zona interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Marca DSCP inválida" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Valor limite inválido" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Estouro limite" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Limita as mensagens de registro" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Limitar as correspondências" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"Limitar a correspondência de %{limit.num} pacotes por " -"%{limit.unit}%{limit.burst? estouro %{limit.burst}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Limita a correspondência de tráfego à taxa especificada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "IP da fonte de Loopback" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "MASQUERADE - Reescreve automaticamente para o IP da interface de saída" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Ajuste do MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Mascaramento" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Casa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "Correspondência DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Casa com ICMP tipo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "Dispositivo de correspondência" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" -"Encaminha o tráfego que obteve correspondência para um determinado endereço " -"de IP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"Encaminha o tráfego que obteve correspondência para uma determinada porta de " -"destino ou uma faixa de portas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" -"Encaminha o tráfego que obteve correspondência deste IP ou uma faixa de IPs." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"Encaminha o tráfego que obteve correspondência originado de uma determinada " -"porta de origem ou faixa de portas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "Auxiliar de correspondência" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Casa o tráfego entrante direcionado para uma porta ou faixa de portas de " -"destino específica neste computador" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "Marca de correspondência" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" -"Corresponder o tráfego usando uma conexão definida pelo auxiliar de " -"rastreamento." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" -"Corresponder uma marca de firewall especifica ou uma variedade de diferentes " -"marcas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"Corresponda o tráfego encaminhado usando um dispositivo de rede de saída " -"indicado." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" -"Casa o tráfego correspondente que esteja carregando uma marca DSCP " -"específica." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"Número inicial máximo de pacotes para combinar: este número é recarregado " -"por um cada vez que o limite especificado acima não é atingido, até este " -"número." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Segunda-Feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Dias do mês" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "Regras NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"As regras da NAT permitem o controle fino sobre o IP de origem para usar com " -"o tráfego de saída ou tráfego de encaminhamento." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" -"Somente case o tráfego entrante direcionado para o endereço IP fornecido." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Somente case o tráfego entrante destes endereços MAC." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Somente case o tráfego entrante desta faixa de endereços IP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Somente case o tráfego entrante vindo da porta de origem fornecida ou " -"intervalo de portas no equipamento cliente" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "Dispositivo de saída" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "Zona de saída" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Saída" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "Passa argumentos adicionais para o iptables. Use com cuidado!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"Passar comandos diretos ao iptables para regras de classificação de tráfego " -"de origem e destino, permite combinar pacotes baseados em outros critérios " -"que não sejam interfaces ou sub-redes. Estas opções devem ser usadas com " -"extremo cuidado, pois valores inválidos podem quebrar todo o conjunto de " -"regras do firewall expondo todos os serviços completamente." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Encaminhamentos de Porta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"O encaminhamento de portas permite que computadores remotos na Internet " -"conectem a um computador ou serviço específico dentro da rede local privada." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protocolo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Redireciona tráfego entrante para a porta especificada no computador interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Redireciona tráfego entrante para o computador interno especificado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "Requer suporte de NAT em hardware. Implementado ao menos para mt7621" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Restringe o mascaramento para uma subrede de destino específica" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Restringe o mascaramento para uma subrede de origem específica" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Restringe para uma família de endereços" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "Reescreva o endereço IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" -"Reescreva o tráfego compatível com o endereço IP de origem especificado." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"Reescrever tráfego compatível com a porta de origem especificado ou uma " -"faixa de portas." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "Reescrever porta" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Aceleração de Roteamento/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT - Reescrever para um IP de origem ou uma porta específica" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Sábado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "Definir marca" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"Defina o valor da marca dada nas ligações estabelecidas. o formato é valor[/" -"mask]. Se uma máscara for especificada, então apenas os bits definidos na " -"máscara são modificados." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Aceleração de roteamento/NAT baseada em Software" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Aceleração de fluxo de dados via Software" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Endereço IP de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Endereço MAC de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Endereço de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Porta de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Zona de origem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"Especifica se esta regra de tráfego deve ser ligada a um dispositivo de rede " -"específico de entrada ou de saída." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"Especifica se deve usar o endereço de IP externo ou interno para o tráfego " -"refletido." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Dia inicial (aaaa-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Hora de Início (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Dia final (aaaa-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Hora de Parada (hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Domingo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" -"A configuração de firewall existente precisa ser alterada para que o LuCI " -"funcione corretamente." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"O firewall cria zonas sobre as interfaces de rede para controlar o fluxo do " -"tráfego de rede." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"As opções abaixo controlam as políticas de encaminhamento entre esta zona " -"(%s) e outras zonas. Zonas de destino incluem tráfego encaminhado " -"originado de %q. Zonas de origem casam com tráfego " -"encaminhado de outras zonas apontando para %q. A regra de " -"encaminhamento é unidirecional, ex: um encaminhamento da LAN para " -"WAN não implica na permissão de encaminhar da WAN para LAN." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Esta seção define as propriedades comuns de %q. As opções de entrada e saída definem as políticas padrão para o tráfego entrando e " -"saindo desta zona, enquanto a opção de encaminhamento descreve a " -"política para encaminhar o tráfego entre diferentes redes dentro da zona. " -"Redes Cobertas especificam que redes disponíveis são membros desta " -"zona." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Quita-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Restrições de tempo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Hora em UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"Para %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " -"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"Para %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "Auxiliar de rastreamento" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Regras de tráfego" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Regras de tráfego definem políticas para a passagem de pacotes entre as " -"diferentes zonas. Por exemplo, rejeitar o tráfego entre certos equipamentos " -"ou abrir portas WAN no roteador." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Terça-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Não foi possível salvar os conteúdos: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "Auxiliar conntrack desconhecido ou não instalado \"%s\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "NAT sem nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Encaminhamento sem nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Regra sem nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Zona sem nome" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "Protocolo desconhecido" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"Ao pressionar \"Continue\", as seções \"redirecionar\" com o alvo \"SNAT\" " -"serão convertidas para seções \"nat\" e o firewall será reiniciado para " -"aplicar e atualizar as novas configurações." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "Usar endereço IP externo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "Usar endereço IP interno" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Use esta opção para classificar o tráfego bruto da zona por dispositivos de " -"rede não gerenciados pelauci." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou " -"destino em vez de redes ou dispositivos." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "Marca de firewall válida necessária" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Quarta-feira" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Dias da semana" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "Marca de firewall XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "Marca XOR" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Zona ⇒ Encaminhamentos" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zonas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "aceitar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "qualquer" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "qualquer zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "aplicar marca de firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "atribuir auxiliar conntrack" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "dia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "não reescrever" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "não rastrear" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "descartar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "hora" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "minuto" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "rejeitar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "segundo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "este dispositivo" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "esta nova zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "ilimitado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "não especificado" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "marca de firewall válida" - -#~ msgid "%s in %s" -#~ msgstr "%s in %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s com %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s em %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d pcts. por %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d pcts. por %s, pico %d pcts." - -#~ msgid "%s and limit to %s" -#~ msgstr "%s e limite a %s" - -#~ msgid "Accept forward" -#~ msgstr "Aceitar encaminhamento" - -#~ msgid "Accept input" -#~ msgstr "Aceitar entrada" - -#~ msgid "Accept output" -#~ msgstr "Aceitar saída" - -#~ msgid "Destination IP address" -#~ msgstr "Endereço IP de destino" - -#~ msgid "Discard forward" -#~ msgstr "Descartar o encaminhamento" - -#~ msgid "Discard input" -#~ msgstr "Descartar a entrada" - -#~ msgid "Discard output" -#~ msgstr "Descartar a saída" - -#~ msgid "Do not rewrite" -#~ msgstr "Não sobrescreva" - -#~ msgid "Do not track forward" -#~ msgstr "Não rastrear o encaminhamento" - -#~ msgid "Do not track input" -#~ msgstr "Não rastrear a entrada" - -#~ msgid "Do not track output" -#~ msgstr "Não rastrear a saída" - -#~ msgid "Forward to" -#~ msgstr "Encaminhar para" - -#~ msgid "From %s in %s" -#~ msgstr "Vindo de %s em %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Vindo de %s em %s com origem %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Vindo de %s em %s com origem %s e %s" - -#~ msgid "From %s on this device" -#~ msgstr "De %s neste dispositivo" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "De %s neste dispositivo com origem %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "De %s neste dispositivo com origem %s e %s" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Faixa IP" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "Network" -#~ msgstr "Rede" - -#~ msgid "Refuse forward" -#~ msgstr "Recusar encaminhamento" - -#~ msgid "Refuse input" -#~ msgstr "Recusar entrada" - -#~ msgid "Refuse output" -#~ msgstr "Recusar saída" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Para %s em %s neste dispositivo" - -#~ msgid "To %s in %s" -#~ msgstr "Para %s em %s" - -#~ msgid "To %s on this device" -#~ msgstr "Para %s neste dispositivo" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Para %s, %s em %s" - -#~ msgid "Via %s" -#~ msgstr "Via %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Através do %s na %s" - -#~ msgid "any host" -#~ msgstr "qualquer equipamento" - -#~ msgid "any router IP" -#~ msgstr "qualquer endereço IP do roteador" - -#~ msgid "not" -#~ msgstr "não" - -#~ msgid "port" -#~ msgstr "porta" - -#~ msgid "ports" -#~ msgstr "portas" - -#~ msgid "type" -#~ msgstr "tipo" - -#~ msgid "types" -#~ msgstr "tipos" - -#~ msgid "Force connection tracking" -#~ msgstr "Force o rastreamento da conexão" - -#~ msgid "Disable" -#~ msgstr "Desabilitar" - -#~ msgid "Restart Firewall" -#~ msgstr "Reiniciar o Firewall" - -#~ msgid "Rule is disabled" -#~ msgstr "A regra está desabilitada" - -#~ msgid "Rule is enabled" -#~ msgstr "A regra está habilitada" - -#~ msgid "Add" -#~ msgstr "Adicionar" - -#~ msgid "Add and edit..." -#~ msgstr "Adicionar e editar..." - -#~ msgid "External zone" -#~ msgstr "Zona externa" - -#~ msgid "New SNAT rule" -#~ msgstr "Nova regra de SNAT" - -#~ msgid "New forward rule" -#~ msgstr "Nova regra de encaminhamento" - -#~ msgid "New input rule" -#~ msgstr "Nova regra de entrada" - -#~ msgid "New port forward" -#~ msgstr "Novo encaminhamento de porta" - -#~ msgid "New source NAT" -#~ msgstr "Nova origem NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Abrir portas no roteador" - -#~ msgid "Other..." -#~ msgstr "Outro..." - -#~ msgid "To source IP" -#~ msgstr "Para o endereço IP de origem" - -#~ msgid "To source port" -#~ msgstr "Para a porta de origem" - -#~ msgid "Output zone" -#~ msgstr "Zona de saída" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Entrada Sem Nome)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Regra Sem Nome)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(SNAT Sem Nome)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Encaminhamento entre Zonas" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Casa o tráfego encaminhado para uma porta ou faixa de portas de destino " -#~ "específica." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "" -#~ "Casa o tráfego entrante originado de uma porta ou faixa de portas no " -#~ "equipamento cliente." - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "Reescreva o tráfego correspondente para o endereço fornecido." - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "" -#~ "Reescreva o tráfego correspondente para a porta de origem fornecida. Pode " -#~ "ficar em branco para somente reescrever o endereço IP." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Reescrever para a origem %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "Reescrever para a origem %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "Endereço IP da SNAT" - -#~ msgid "SNAT port" -#~ msgstr "Porta da SNAT" - -#~ msgid "Source NAT" -#~ msgstr "NAT origem" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "NAT origem é uma forma específica de mascaramento que permite o controle " -#~ "fino do endereço IP de origem usado no tráfego sainte. Por exemplo, para " -#~ "mapear múltiplos endereços WAN para subredes internas." - -#~ msgid "Start Time (hh:mm:ss)" -#~ msgstr "Hora inicial (hh:mm:ss)" - -#~ msgid "Stop Time (hh:mm:ss)" -#~ msgstr "Hora final (hh:mm:ss)" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "Esta página permite que você mude propriedades avançadas da entrada do " -#~ "encaminhamento de porta. Na maioria dos casos, não é necessário modificar " -#~ "estas configurações." - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "" -#~ "Esta página permite que você mude propriedades avançadas da entrada da " -#~ "regra de tráfego, como os equipamentos de origem e destino." - -#~ msgid "Unnamed SNAT" -#~ msgstr "SNAT sem nome" - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "" -#~ "Você pode especificar múltiplas entradas selecionando \"-- personalizado " -#~ "--\" e então entrando os protocolos separados por espaço." - -#~ msgid "Zone %q" -#~ msgstr "Zona %q" - -# 20140621: edersg: tradução -#~ msgid "traffic" -#~ msgstr "tráfego" diff --git a/luci-app-firewall/po/ro/firewall.po b/luci-app-firewall/po/ro/firewall.po deleted file mode 100644 index 8fa1ff30a..000000000 --- a/luci-app-firewall/po/ro/firewall.po +++ /dev/null @@ -1,1161 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2020-03-29 12:19+0000\n" -"Last-Translator: Cristian Ionescu \n" -"Language-Team: Romanian \n" -"Language: ro\n" -"MIME-Version: 1.0\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.0-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Actiune" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Setări avansate" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Permite trecerea din zonele sursa." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Permite trecerea catre zonele sursa." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Oricare" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Orice zi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Conţinutul a fost salvat." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Retele acoperite" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Reguli suplimentare" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Destinaţie adresă" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Portul destinatie" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Zonă de destinație" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Descarcă pachetele invalide" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Activează" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Activează loopback NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Activează protecţia SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Activeaza log in aceasta zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Funcție experimentală. Nu este complet compatibiă cu QoS/SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Adresă IP externă" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Port extern" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Firewall - Reguli particularizate" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Firewall - Port-uri forwardate" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Firewall - Reguli ale traficului" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Setari zona la firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Forward" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Vineri" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Setări generale" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 şi IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "doar IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "doar IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Intrare" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Adresa IP interna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Port intern" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Zonă internă" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Limitează mesaje în log" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Ajustare MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Translatare" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Potrivire" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Potriveste pe tipul de ICMP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Luni" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Nume" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Ieşire" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protocol" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Sâmbătă" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "Sursă adresă IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "Sursă adresă MAC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Adresa sursa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Port sursa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Zona sursa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Duminică" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Joi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Restricţii de timp" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Marţi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Miercuri" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zone" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "accept" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "oricare" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "orice zona" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "zi" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "oră" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "minut" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "secundă" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s in %s" -#~ msgstr "%s în %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s cu %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s în %s" - -#~ msgid "Destination IP address" -#~ msgstr "Destinaţie adresă IP" - -#~ msgid "Do not rewrite" -#~ msgstr "Nu rescrie" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "type" -#~ msgstr "tip" - -#~ msgid "Force connection tracking" -#~ msgstr "Forteaza urmarirea conexiunilor" - -#~ msgid "Add" -#~ msgstr "Adaugă" - -#~ msgid "Add and edit..." -#~ msgstr "Adaugă şi editează..." - -#~ msgid "External zone" -#~ msgstr "Zonă externă" - -#~ msgid "New SNAT rule" -#~ msgstr "Regulă nouă SNAT" - -#~ msgid "Other..." -#~ msgstr "Altele..." - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Intrare fără nume)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Regulă fără nume)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(SNAT fără nume)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "Forwardare intre-zone" - -#~ msgid "Source NAT" -#~ msgstr "Sursă NAT" - -#~ msgid "Zone %q" -#~ msgstr "Zona %q" diff --git a/luci-app-firewall/po/ru/firewall.po b/luci-app-firewall/po/ru/firewall.po deleted file mode 100644 index 59e3a75d8..000000000 --- a/luci-app-firewall/po/ru/firewall.po +++ /dev/null @@ -1,1512 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: LuCI: firewall\n" -"POT-Creation-Date: 2013-09-05 16:02+0200\n" -"PO-Revision-Date: 2020-02-12 11:00+0000\n" -"Last-Translator: Alex Ky \n" -"Language-Team: Russian \n" -"Language: ru\n" -"MIME-Version: 1.0\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 3.11-dev\n" -"Project-Info: Это технический перевод, не дословный. Главное-удобный русский " -"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{src?%{dest?Перенаправление:Входящий}:Исходящий} %{ipv6?%{ipv4?IPv4 и IPv6:IPv6}:IPv4}%{proto?, протокол " -"%{proto#%{next?, }%{item.types?%{item." -"name}ICMP с типами %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, метка %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" -"%{dscp.val}}}%{helper?, помощник %{helper.inv?%{helper." -"val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- добавить IP-адрес --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- добавить MAC-адрес --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"Разрешить %{src?%{dest?перенаправляемый:" -"входящий}:исходящий} трафик" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "Предотвращать перезапись источника" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"Перенаправлять на %{dest}%{dest_ip? IP-" -"адрес %{dest_ip}}%{dest_port? порт %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" -"Отбрасывать %{src?%{dest?перенаправляемый:" -"входящий}:исходящий} трафик" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" -"Назначить DSCP классификатор " -"%{set_dscp}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"Назначить помощника отслеживания " -"соединений %{set_helper}" -"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"%{set_mark?Назначить метку:XOR метки} " -"брандмауэра %{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" -"Автоматически перезаписывать IP-адрес " -"источника" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"Не отслеживать %{src?%{dest?" -"перенаправляемый:входящий}:исходящий} трафик" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" -"Отклонять %{src?%{dest?перенаправляемый:" -"входящий}:исходящий} трафик" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"Статически переписывать %{snat_ip?IP-адрес " -"источника на %{snat_ip}} %{snat_port?порт источника на " -"%{snat_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "IP-адрес для перезаписи должен быть указан!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ACCEPT — отключить перезапись адреса" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Действие" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"Дополнительные аргументы iptables для классификации трафика зоны " -"назначения, например -p tcp --dport 443 для соответствия только " -"исходящему HTTPS трафику." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"Дополнительные аргументы iptables для классификации трафика зоны " -"источника, например -p tcp --sport 443 для соответствия только " -"входящему HTTPS трафику." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Дополнительные настройки" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Разрешить «недействительный» трафик" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Разрешить перенаправление из 'зон источников':" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Разрешить перенаправление в 'зоны назначения':" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Любой" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Любой день" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"Применить побитовую операцию XOR заданного значения и существующего значения " -"метки для уже установленных соединений. Формат — значение[/маска]. Если " -"задана маска, то биты, заданные в маске, обнуляются." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" -"Применить заданный класс DSCP или значение к установленным соединениям." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"Назначить указанного помощника отслеживания соединений для соответствующего " -"трафика." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Автоматическое назначение помощников" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Автоматическое назначение помощников отслеживания соединений (conntrack) на " -"основе протокола и порта трафика" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Отслеживание соединений (conntrack)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Помощники отслеживания соединений" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Содержимое сохранено." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Продолжить" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Охватываемые устройства" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Охватываемые сети" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Охватываемые подсети" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Пользовательские правила" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Пользовательские правила позволяют выполнять произвольные команды iptables, " -"которые не охвачены рамками межсетевого экрана. Команды выполняются после " -"каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил " -"по умолчанию." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "DSCP классификация" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "DSCP метка" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "Требуется DSCP метка" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Адрес назначения" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Порт назначения" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Зона назначения" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Имя устройства" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"Не устанавливать дополнительные правила для отклонения перенаправляемого " -"трафика с состоянием недействительный (invalid). Это может " -"потребоваться для сложных настроек асимметричной маршрутизации." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Отбрасывать некорректные пакеты" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Включить" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Включить NAT Loopback" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Включить защиту от SYN-flood атак" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Включить журналирование в этой зоне" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Ожидается: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Экспериментальный функционал. Не полностью совместим с QoS/SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"Явно определяет допустимые варианты помощников (helpers) отслеживания " -"соединений (connection tracking) трафика в зоне" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Внешний IP-адрес" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Внешний порт" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Дополнительные аргументы" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "Дополнительные аргументы для назначения" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "Дополнительные аргументы iptables" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "Дополнительные аргументы для источника" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Межсетевой экран" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Межсетевой экран - Пользовательские правила" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Межсетевой экран - Правила NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Межсетевой экран - Перенаправление портов" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Межсетевой экран - Правила для трафика" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Межсетевой экран - Настройка зон" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "Миграция конфигурации межсетевого экрана" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Перенаправление" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"Перенаправление IPv4%{proto?, протокол %{proto#%{next?, }%{item.name}}}%{mark?, метка %{mark.val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Пятница" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"Из %{src}%{src_device?, интерфейс %{src_device}}%{src_ip?, IP-" -"адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " -"%{src_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"Из %{src}%{src_device?, интерфейс %{src_device}}%{src_ip?, IP-" -"адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " -"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адрес %{src_mac#" -"%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"Из %{src}%{src_ip?, IP-адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " -"MAC-адрес %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Основные настройки" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Аппаратный flow offloading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 и IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Только IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Только IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Входящее устройство" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"Входящий IPv4%{proto?, протокол %{proto#%{next?, }%{item.types?%{item.name}ICMP с " -"типами %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, метка %{mark.val}}%{helper?, помощник %{helper.inv?" -"%{helper.val}:%{helper." -"val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Входящий трафик" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Внутренний IP-адрес" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Внутренний порт" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Внутренняя зона" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Неверная DSCP метка" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Неверное значение ограничения" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Ограничение барста (burst)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Ограничить журнал сообщений" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Соответствие по ограничениям" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"Ограничение до %{limit.num} пакетов в %{limit.unit}" -"%{limit.burst? барст (burst) %{limit.burst}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Ограничивает сопоставление трафика указанной скорости." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "IP-адрес источника петли (Loopback)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" -"MASQUERADE — автоматически переписывать на IP-адрес исходящего интерфейса" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Ограничение MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Маскарадинг" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Соответствие" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "Соответствие DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Соответствие ICMP типу" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "Соответствие устройству" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" -"Соответствие перенаправляемого трафика, направленного на заданный IP-адрес." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"Соответствие перенаправляемого трафика, направленного на заданный порт " -"назначения или диапазон портов." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" -"Соответствие перенаправляемого трафика от данного IP-адреса или диапазона." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"Соответствие перенаправляемого трафика, исходящего от заданного порта " -"источника или диапазона портов." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "Соответствие помощнику" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Порт или диапазон портов, входящие подключения на который будут " -"перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "Соответствие метки" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" -"Сопоставление трафика с помощью указанного помощника отслеживания соединений." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" -"Соответствие определённой метке брандмауэра или диапазона различных меток." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"Соответствие перенаправляемого трафика, использующего указанное исходящее " -"сетевое устройство." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "Сопоставляет трафик с указанной DSCP-маркировкой." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"Максимальное начальное количество совпадающих пакетов: это число будет " -"пополняться на один каждый раз, когда лимит, указанный выше, не будет " -"достигнут, вплоть до этого числа." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Понедельник" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Дни месяца" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "Правила NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"Правила NAT позволяют точно контролировать IP-адрес источника в исходящем " -"или перенаправляемом трафике." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Имя" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" -"Применять правило только для входящих подключений на указанный IP-адрес." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Применять правило только для входящего трафика от этих MAC-адресов." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" -"Применять правило только для входящего трафика от этого IP-адреса или " -"диапазона адресов." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Применять правило только для входящего трафика от указанного порта или " -"диапазона портов клиентского хоста" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "Исходящее устройство" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "Исходящая зона" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Исходящий трафик" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" -"Передаёт дополнительные аргументы таблице iptables. Используйте с " -"осторожностью!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"Передача аргументов iptables в правилах классификации входящего и исходящего " -"трафика позволяет сопоставлять пакеты, основанные на других критериях, " -"нежели чем интерфейсы или подсети. Эти опции следует использовать с особой " -"осторожностью, так как неверные значения могут привести к нарушению работы " -"правил межсетевого экрана, полностью открывая доступ ко всем службам системы." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Перенаправление портов" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"Перенаправленные портов позволяет удалённым компьютерам из Интернета " -"соединяться с компьютером или службой внутри частной локальной сети." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Протокол" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-" -"адреса" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Перенаправлять трафик на указанный IP-адрес" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" -"Требуется аппаратная поддержка NAT. Реализовано, по крайней мере, для mt7621" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Использовать маскарадинг только для указанных подсетей-получателей" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Использовать маскарадинг только для указанных подсетей-отправителей" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Использовать протокол" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "IP-адрес для перезаписи" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "Перезаписать соответствующий трафик на указанный IP-адрес источника." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"Перезаписать соответствующий трафик на указанный порт источника или диапазон " -"портов." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "Порт для перезаписи" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Маршрутизация/NAT offloading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT — перезаписать на указанный IP-адрес источника или порт" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Суббота" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "Установить метку" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"Значение метки для уже установленных соединений. Формат — значение[/маска]. " -"Если указана маска, то изменяются только те биты, которые установлены в " -"маске." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Программная реализация offloading для маршрутизации/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Программный flow offloading" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "IP-адрес источника" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "MAC-адрес источника" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Адрес источника" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Порт источника" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Зона источника" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"Определяет, привязывать ли это правило трафика к конкретному входящему или " -"исходящему сетевому устройству." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"Определяет, использовать внешний или внутренний IP-адрес для отраженного " -"трафика." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Дата начала (год-мес-день)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Время начала (чч.мм.сс)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Дата окончания (год-мес-день)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Время окончания (чч.мм.сс)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Воскресенье" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" -"Для правильной работы LuCI необходимо изменить существующую конфигурацию " -"межсетевого экрана." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "Межсетевой экран создает зоны в вашей сети для контроля трафика." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Данные настройки управляют политиками перенаправления трафика между этой " -"(%s) и другими зонами. Трафиком 'зон-назначения' является " -"перенаправленный трафик 'исходящий из %q'. Трафиком " -"'зон-источников' является трафик 'направленый в %q'. Перенаправление является 'однонаправленным', то есть " -"перенаправление из lan в wan 'не' допускает перенаправление трафика " -"из wan в lan." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Страница содержит общие свойства %q. Режимы 'Входящий трафик' и " -"'Исходящий трафик' устанавливают политики по умолчанию для трафика, " -"поступающего и покидающего эту зону, в то время как режим " -"'Перенаправление' описывает политику перенаправления трафика между " -"различными сетями внутри зоны. 'Использовать сети' указывает, какие " -"доступные сети являются членами этой зоны." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Четверг" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Временные ограничения" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Время UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"В %{dest}%{dest_device?, интерфейс %{dest_device}}%{dest_ip?, IP-" -"адрес %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт " -"%{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"В %{dest}%{dest_device?, через интерфейс %{dest_device}}%{dest_ip?, IP-адрес %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"В %{dest}%{dest_ip?, IP-адрес %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "Помощник отслеживания" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Правила для трафика" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Правила для трафика определяют политику прохождения пакетов между разными " -"зонами, например, запрет трафика между некоторыми хостами или открытие WAN-" -"портов маршрутизатора." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Вторник" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Невозможно сохранить содержимое: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "Неизвестный или не установленный помощник «‎%s»" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "NAT без имени" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Перенаправление без имени" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Правило без имени" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Зона без имени" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "Нераспознанный протокол" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"После нажатия кнопки «Продолжить», разделы правил перенаправления «redirect» " -"типа «SNAT» будут сконвертированы в разделы «nat» и межсетевой экран будет " -"перезапущен для применения и обновления конфигурации." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "Использовать внешний IP-адрес" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "Использовать внутренний IP-адрес" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Используйте эту опцию для классификации трафика зоны по сетевым устройствам, " -"управляемым не через uci." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Используйте эту опцию для классификации трафика зоны по источнику или " -"подсети назначения вместо сети или устройств." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "Требуется верная метка брандмауэра" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Среда" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Дни недели" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "XOR метка брандмауэра" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "XOR метка" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Зона ⇒ Перенаправления" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Зоны" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "принимать" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "любой" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "любая зона" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "применить метку брандмауэра" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "назначить помощника отслеживания соединений" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "день" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "не перезаписывать" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "не отслеживать" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "не обрабатывать" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "час" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "минута" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "отвергать" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "секунда" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "это устройство" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "эта новая зона" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "без ограничений" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "не определено" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "верная метка брандмауэра" - -#~ msgid "%s in %s" -#~ msgstr "%s в %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s с %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s в %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d пакетов за %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "" -#~ "%d пакетов за %s, подряд %d пакетов" - -#~ msgid "%s and limit to %s" -#~ msgstr "%s с пределом в %s" - -#~ msgid "Accept forward" -#~ msgstr "Принимать перенаправляемый трафик" - -#~ msgid "Accept input" -#~ msgstr "Принимать входящий трафик" - -#~ msgid "Accept output" -#~ msgstr "Принимать исходящий трафик" - -#~ msgid "Destination IP address" -#~ msgstr "IP-адрес назначения" - -#~ msgid "Discard forward" -#~ msgstr "Отклонять перенаправляемый трафик" - -#~ msgid "Discard input" -#~ msgstr "Отклонять входящий трафик" - -#~ msgid "Discard output" -#~ msgstr "Отклонять исходящий трафик" - -#~ msgid "Do not rewrite" -#~ msgstr "Не перезаписывать" - -#~ msgid "Do not track forward" -#~ msgstr "Не отслеживать перенаправляемый трафик" - -#~ msgid "Do not track input" -#~ msgstr "Не отслеживать входящий трафик" - -#~ msgid "Do not track output" -#~ msgstr "Не отслеживать исходящий трафик" - -#~ msgid "Forward to" -#~ msgstr "Перенаправлять на" - -#~ msgid "From %s in %s" -#~ msgstr "Из %s в %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Из %s в %s с источником %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Из %s в %s с источниками %s и %s" - -#~ msgid "From %s on this device" -#~ msgstr "Из %s в это устройство" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "Из %s в это устройство с источником %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "Из %s в это устройство с источниками %s and %s" - -#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}" -#~ msgstr "Из %{ipaddr?:любой хост} %{port?с источником %{port}}" - -#~ msgid "IP" -#~ msgstr "IP-адрес" - -#~ msgid "IP range" -#~ msgstr "Диапазон IP-адресов" - -#~ msgid "IPs" -#~ msgstr "IP-адреса" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC-адреса" - -#~ msgid "" -#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} " -#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}" -#~ msgstr "" -#~ "Соответствует %{protocol?%{family} %{protocol} трафику:любому %{family} " -#~ "трафику} %{mark?с меткой брандмауэра %{mark}}" - -#~ msgid "Network" -#~ msgstr "Сеть" - -#~ msgid "Refuse forward" -#~ msgstr "Сбрасывать перенаправляемый трафик" - -#~ msgid "Refuse input" -#~ msgstr "Сбрасывать входящий трафик" - -#~ msgid "Refuse output" -#~ msgstr "Сбрасывать исходящий трафик" - -#~ msgid "Rewrite to" -#~ msgstr "Перезаписать" - -#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}" -#~ msgstr "" -#~ "Перезаписать на %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}" - -#~ msgid "Rewrite to outbound device IP" -#~ msgstr "Перезаписать на IP-адрес исходящего устройства" - -#~ msgid "To %s at %s on this device" -#~ msgstr "К %s, %s на этом устройстве" - -#~ msgid "To %s in %s" -#~ msgstr "К %s в %s" - -#~ msgid "To %s on this device" -#~ msgstr "К %s на этом устройстве" - -#~ msgid "To %s, %s in %s" -#~ msgstr "К %s, %s в %s" - -#~ msgid "" -#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} " -#~ "%{device?egress device %{device}}" -#~ msgstr "" -#~ "На %{ipaddr?:любой адрес назначения} %{port?порт %{port}} %{zone?через " -#~ "зону %{zone}} %{device?исходящее устройство %{device}}" - -#~ msgid "Via %s" -#~ msgstr "Через %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Через %s, %s" - -#~ msgid "any host" -#~ msgstr "любого хоста" - -#~ msgid "any router IP" -#~ msgstr "любой IP-адрес маршрутизатора" - -#~ msgid "not" -#~ msgstr "нет" - -#~ msgid "port" -#~ msgstr "порт" - -#~ msgid "ports" -#~ msgstr "порты" - -#~ msgid "type" -#~ msgstr "тип" - -#~ msgid "types" -#~ msgstr "типы" - -#~ msgid "Force connection tracking" -#~ msgstr "Принудительно включать отслеживание соединений" - -#~ msgid "" -#~ "Prevent the installation of NOTRACK rules which would bypass " -#~ "connection tracking." -#~ msgstr "" -#~ "Предотвратить установку NOTRACK правил, которые позволяют " -#~ "обходить отслеживание соединений (connection tracking)." - -#~ msgid "Disable" -#~ msgstr "Отключить" - -#~ msgid "Restart Firewall" -#~ msgstr "Перезапустить межсетевой экран" - -#~ msgid "Rule is disabled" -#~ msgstr "Правило отключено" - -#~ msgid "Rule is enabled" -#~ msgstr "Правило включено" - -#~ msgid "Add" -#~ msgstr "Добавить" - -#~ msgid "Add and edit..." -#~ msgstr "Добавить и редактировать..." - -#~ msgid "External zone" -#~ msgstr "Внешняя зона" - -#~ msgid "New SNAT rule" -#~ msgstr "Новое правило SNAT" - -#~ msgid "New forward rule" -#~ msgstr "Новое правило перенаправления" - -#~ msgid "New input rule" -#~ msgstr "Новое правило для входящего трафика" - -#~ msgid "New port forward" -#~ msgstr "Новое перенаправление порта" - -#~ msgid "New source NAT" -#~ msgstr "Новый SNAT" - -#~ msgid "Open ports on router" -#~ msgstr "Открыть порты на маршрутизаторе" - -#~ msgid "Other..." -#~ msgstr "Другое..." - -#~ msgid "To source IP" -#~ msgstr "К IP-адресу источника" - -#~ msgid "To source port" -#~ msgstr "К порту источника" - -#~ msgid "Output zone" -#~ msgstr "Исходящая зона" diff --git a/luci-app-firewall/po/sk/firewall.po b/luci-app-firewall/po/sk/firewall.po deleted file mode 100644 index 492ae91ef..000000000 --- a/luci-app-firewall/po/sk/firewall.po +++ /dev/null @@ -1,1103 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2020-04-04 17:34+0000\n" -"Last-Translator: Dušan Kazik \n" -"Language-Team: Slovak \n" -"Language: sk\n" -"MIME-Version: 1.0\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.0-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Akcia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Pokročilé nastavenia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Obsah bol uložený." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Pokračovať" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Cieľová zóna" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Očakáva sa: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Brána Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Všeobecné nastavenia" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Iba IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Názov" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protokol" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Nie je možné uložiť obsah: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "neobmedzené" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "neurčené" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "MAC" -#~ msgstr "MAC" diff --git a/luci-app-firewall/po/sv/firewall.po b/luci-app-firewall/po/sv/firewall.po deleted file mode 100644 index 9df7a0926..000000000 --- a/luci-app-firewall/po/sv/firewall.po +++ /dev/null @@ -1,1246 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Swedish \n" -"Language: sv\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 3.11-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Åtgärd" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Avancerade inställningar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Tillåt vidarebefordring från källzonerna:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Till vidarebefordring till destinationszonerna::" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Något" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Innehåll har sparats." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Nätverk som omfattas" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Anpassade regler" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Destinationens adress" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Destinationsport" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Destinationens zon" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Släpp ogiltiga paket" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Aktivera" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Aktivera loggning i den här zonen" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Extern IP-adress" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Extern port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Extra argument" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Brandvägg" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Brandvägg - Anpassade regler" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Brandvägg - Vidarebefordring av port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Brandvägg - Trafikregler" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Brandvägg - Zoninställningar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Vidarebefordra" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "Fredag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Generella inställningar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 och IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Endast IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Endast IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Inmatning" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Intern IP-adress" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Intern port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Intern zon" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Begränsa loggmeddelanden" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Maskering" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Matcha" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Matchar ICMP-typ" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Matcha inkommande trafik dirigerad till den angivna destinationsporten eller " -"portens räckvidd på den här värden" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Måndag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Dagar i månaden" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Namn" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" -"Matcha endast inkommande trafik från den här IP-adressen eller räckvidden." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Utmatning" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Vidarebefordringar av port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Protokoll" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Begränsa till adressfamilj" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Lördag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "IP-adress för källa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "MAC-adress för källa" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Adress för källkod" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Startdatum (åååå-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Stopptid (åååå-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Söndag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Torsdag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Tid enligt UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Trafikregler" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Tisdag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Onsdag" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Veckodagar" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zoner" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "acceptera" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "något" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "alla zoner" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "spåra inte" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "släpp" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "neka" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s in %s" -#~ msgstr "%s i %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s med %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%2, %s i %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d pkt. per %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d pkt. per %s, brustna %d pkt." - -#~ msgid "%s and limit to %s" -#~ msgstr "%s och gränsen till %s" - -#~ msgid "Destination IP address" -#~ msgstr "Destinationens IP-adress" - -#~ msgid "Do not rewrite" -#~ msgstr "Skriv inte om igen" - -#~ msgid "Forward to" -#~ msgstr "Vidarebefordra till" - -#~ msgid "From %s in %s" -#~ msgstr "Från %s i %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "Från %s i %s med källa %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "Från %s i %s med källa %s och %s" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "Network" -#~ msgstr "Nätverk" - -#~ msgid "To %s at %s on this device" -#~ msgstr "Till %s vid %s på den här enheten" - -#~ msgid "To %s in %s" -#~ msgstr "Till %s i %s" - -#~ msgid "To %s on this device" -#~ msgstr "Till %s på den här enheten" - -#~ msgid "To %s, %s in %s" -#~ msgstr "Till %s, %s i %s" - -#~ msgid "Via %s" -#~ msgstr "Via %s" - -#~ msgid "any host" -#~ msgstr "alla värdar" - -#~ msgid "port" -#~ msgstr "port" - -#~ msgid "ports" -#~ msgstr "portar" - -#~ msgid "type" -#~ msgstr "typ" - -#~ msgid "Disable" -#~ msgstr "Inaktivera" - -#~ msgid "Restart Firewall" -#~ msgstr "Starta om brandvägg" - -#~ msgid "Add" -#~ msgstr "Lägg till" - -#~ msgid "Add and edit..." -#~ msgstr "Lägg till och redigera..." - -#~ msgid "External zone" -#~ msgstr "Extern zon" - -#~ msgid "New SNAT rule" -#~ msgstr "Ny SNAT-regel" - -#~ msgid "New forward rule" -#~ msgstr "Ny regel för vidarebefordring" - -#~ msgid "New input rule" -#~ msgstr "Ny inmatningsregel" - -#~ msgid "New port forward" -#~ msgstr "Ny vidarebefordring av port" - -#~ msgid "New source NAT" -#~ msgstr "Ny käll-NAT" - -#~ msgid "Open ports on router" -#~ msgstr "Öppna portar i router" - -#~ msgid "Other..." -#~ msgstr "Andra..." - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(Namnlös post)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(Namnlös regel)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(Namnlös SNAT)" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "" -#~ "Matcha vidarebefordrad trafik till den angivna destinationsporten eller " -#~ "portens räckvidd." - -#~ msgid "Rewrite to source %s" -#~ msgstr "Skriv om igen till källan %s" - -#~ msgid "SNAT IP address" -#~ msgstr "IP-adress för SNAT" - -#~ msgid "SNAT port" -#~ msgstr "SNAT-port" - -#~ msgid "Start Time (hh:mm:ss)" -#~ msgstr "Starttid (tt:mm:ss)" - -#~ msgid "Stop Time (hh:mm:ss)" -#~ msgstr "Stopptid (tt:mm:ss)" - -#~ msgid "Zone %q" -#~ msgstr "Zon %q" - -#~ msgid "traffic" -#~ msgstr "trafik" diff --git a/luci-app-firewall/po/templates/firewall.pot b/luci-app-firewall/po/templates/firewall.pot deleted file mode 100644 index bd49dd2ae..000000000 --- a/luci-app-firewall/po/templates/firewall.pot +++ /dev/null @@ -1,1103 +0,0 @@ -msgid "" -msgstr "Content-Type: text/plain; charset=UTF-8" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:433 -msgid "-- add IP --" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:481 -msgid "-- add MAC --" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 -msgid "Prevent source rewrite" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84 -msgid "Automatically rewrite source IP" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:81 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:225 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:229 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:364 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:158 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:208 -msgid "Action" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Advanced Settings" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:327 -msgid "Allow forward from source zones:" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 -msgid "Allow forward to destination zones:" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:508 -msgid "Any" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:274 -msgid "Any day" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:230 -msgid "Automatic helper assignment" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:230 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Conntrack Settings" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:234 -msgid "Conntrack helpers" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 -msgid "Contents have been saved." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:652 -msgid "Continue" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered devices" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:156 -msgid "Covered networks" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Covered subnets" -msgstr "" - -#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:54 -msgid "Custom Rules" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374 -msgid "DSCP classification" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:262 -msgid "DSCP mark" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:296 -msgid "DSCP mark required" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Destination address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "Destination port" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:349 -msgid "Destination zone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "Device name" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 -msgid "Drop invalid packets" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164 -msgid "Enable" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248 -msgid "Enable NAT Loopback" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Enable SYN-flood protection" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:240 -msgid "Enable logging on this zone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:338 -msgid "Expecting: %s" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:234 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "External IP address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "External port" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:290 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Extra arguments" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265 -msgid "Extra destination arguments" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:95 -msgid "Extra iptables arguments" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 -msgid "Extra source arguments" -msgstr "" - -#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "Firewall - Custom Rules" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "Firewall - NAT Rules" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "Firewall - Port Forwards" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "Firewall - Zone Settings" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "Firewall configuration migration" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:50 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:132 -msgid "Forward" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:30 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:285 -msgid "" -"Forwards ports from server using V2Ray proxy (if enabled) instead of VPN" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Friday" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:149 -msgid "Full Cone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 -msgid "General Settings" -msgstr "" - -#: luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 -msgid "Grant access to firewall configuration" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Hardware flow offloading" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "IPv4 and IPv6" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:209 -msgid "IPv4 only" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:274 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:210 -msgid "IPv6 only" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -msgid "Inbound device" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:38 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Input" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Internal IP address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "Internal port" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:228 -msgid "Internal zone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:304 -msgid "Invalid DSCP mark" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:372 -msgid "Invalid limit value" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:382 -msgid "Limit burst" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 -msgid "Limit log messages" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:348 -msgid "Limit matching" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:75 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:68 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253 -msgid "Loopback source IP" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 -msgid "MSS clamping" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:146 -msgid "Masquerading" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:218 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:147 -msgid "Match" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:262 -msgid "Match DSCP" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:285 -msgid "Match ICMP type" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241 -msgid "Match device" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:200 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399 -msgid "Match helper" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:221 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "Match mark" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:240 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Monday" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 -msgid "Month Days" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:130 -#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 -msgid "NAT Rules" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:128 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Name" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:216 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:197 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:202 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:245 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Outbound device" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 -msgid "Outbound zone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Output" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:291 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:252 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:132 -#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 -msgid "Port Forwards" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169 -msgid "Protocol" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:235 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:75 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:220 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:213 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:207 -msgid "Restrict to address family" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite IP address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite port" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Routing/NAT Offloading" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:437 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265 -msgid "Saturday" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "Set mark" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software flow offloading" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Source IP address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -msgid "Source MAC address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:340 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Source address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "Source port" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:190 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333 -msgid "Source zone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:262 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:289 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:281 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:293 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:285 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Sunday" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:646 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:282 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:104 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Thursday" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:137 -msgid "Time Restrictions" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 -msgid "Time in UTC" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 -msgid "Tracking helper" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 -#: luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 -msgid "Traffic Rules" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Tuesday" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 -msgid "Unable to save contents: %s" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:277 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:140 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:144 -msgid "Unnamed NAT" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:145 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:159 -msgid "Unnamed forward" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:190 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:215 -msgid "Unnamed rule" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:109 -msgid "Unnamed zone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:550 -msgid "Unrecognized protocol" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:647 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -msgid "Use V2Ray" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:257 -msgid "Use external IP address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use internal IP address" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:330 -msgid "Valid firewall mark required" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Wednesday" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 -msgid "Week Days" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "XOR firewall mark" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "XOR mark" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:81 -msgid "Zones" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:56 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:138 -msgid "accept" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267 -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:433 -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:455 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:243 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:264 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:290 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:203 -msgid "any" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:49 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:82 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:40 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:50 -msgid "any zone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "apply firewall mark" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "assign conntrack helper" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61 -msgid "day" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:234 -msgid "do not rewrite" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "don't track" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "drop" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61 -msgid "hour" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61 -msgid "minute" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "reject" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61 -msgid "second" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:49 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:82 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:50 -msgid "this device" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "this new zone" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:353 -msgid "unlimited" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "unspecified" -msgstr "" - -#: luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:338 -msgid "valid firewall mark" -msgstr "" diff --git a/luci-app-firewall/po/tr/firewall.po b/luci-app-firewall/po/tr/firewall.po deleted file mode 100644 index 0f934366f..000000000 --- a/luci-app-firewall/po/tr/firewall.po +++ /dev/null @@ -1,1103 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Turkish \n" -"Language: tr\n" -"MIME-Version: 1.0\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-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Eylem" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "MAC" -#~ msgstr "MAC" diff --git a/luci-app-firewall/po/uk/firewall.po b/luci-app-firewall/po/uk/firewall.po deleted file mode 100644 index b6fea811a..000000000 --- a/luci-app-firewall/po/uk/firewall.po +++ /dev/null @@ -1,1435 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"PO-Revision-Date: 2020-02-19 13:41+0000\n" -"Last-Translator: Yurii Petrashko \n" -"Language-Team: Ukrainian \n" -"Language: uk\n" -"MIME-Version: 1.0\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 3.11\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{src?%{dest?Переспрямовування:Вхідний}:Вихідний} %{ipv6?%{ipv4?IPv4 та IPv6:IPv6}:IPv4}%{proto?, протокол " -"%{proto#%{next?, }%{item.types?%{item." -"name}ICMP із типами %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, позначка %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, помічник %{helper.inv?%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- додати IP-адресу --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- додати MAC-адресу --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" -"Приймати %{src?%{dest?переспрямований:" -"вхідний}:вихідний} трафік" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "Запобігати перезапису джерела" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"Переспрямовувати на %{dest}%{dest_ip? IP-" -"адресу %{dest_ip}}%{dest_port? порт %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" -"Відхиляти %{src?%{dest?переспрямований:" -"вхідний}:вихідний} трафік" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" -"Призначити DSCP класифікатор " -"%{set_dscp}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"Призначити помічника відслідковування " -"з'єднань %{set_helper}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"%{set_mark?Призначити мітку:XOR мітки} " -"брандмауера %{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" -"Автоматично перезаписувати IP-адресу " -"джерела" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"Не відслідковувати %{src?%{dest?" -"переспрямований:вхідний}:вихідний} трафік" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" -"Відхиляти %{src?%{dest?переспрямований:" -"вхідний}:вихідний} трафік" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"Статично перезаписувати %{snat_ip?IP-адресу " -"джерела на %{snat_ip}} %{snat_port?порт джерела на " -"%{snat_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "Потрібно вказати IP-адресу для перезапису!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "ACCEPT — Вимкнути перезапис адреси" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Дія" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"Додаткові аргументи raw iptables для класифікації трафіку " -"призначення зони, наприклад, -p tcp --dport 443, щоб зіставляти " -"лише вихідний трафік HTTPS." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"Додаткові аргументи raw iptables для класифікації трафіку джерела " -"зони, наприклад, -p tcp --sport 443, щоб зіставляти лише " -"вхідний трафік HTTPS." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "Додаткові параметри" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "Дозволити \"неправильний\" трафік" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "Дозволити переспрямовування від зон джерела:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "Дозволити переспрямовування до зон призначення:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "Будь-який" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "Будь-який день" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"Застосувати побітове XOR заданого та наявного значень мітки для вже " -"встановлених з'єднань. Формат — значення[/маска]. Якщо маску вказано, то " -"біти, встановлені в масці, обнуляються." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "Застосувати заданий клас або значення DSCP до встановлених з'єднань." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" -"Призначити вказаного помічника відслідковування з'єднань для відповідного " -"трафіку." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "Автоматичне призначення помічника" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" -"Автоматично призначати помічників відслідковування з'єднань (Conntrack) на підставі протоколу та порту " -"трафіку" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" -"Параметри відслідковування з'єднань (Conntrack)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" -"Помічники відслідковування з'єднань (Conntrack)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "Вміст збережено." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "Продовжити" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "Охоплені пристрої" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "Охоплені мережі" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "Охоплені підмережі" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "Настроювані правила" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"Настроювані правила дозволяють виконувати довільні команди iptables, які в іншому випадку не охоплено в межах брандмауера. Команди " -"виконуються після кожного перезавантаження брандмауера, відразу після " -"завантаження типового набору правил." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "класифікація DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "Позначка DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "Потрібна позначка DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Адреса призначення" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Порт призначення" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "Зона призначення" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "Назва пристрою" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"Не встановлювати додаткові правила для відхилення переспрямованого трафіку " -"зі станом відслідковування з'єднань invalid. Це може знадобитися " -"для складних налаштувань асиметричного маршруту." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Відхиляти помилкові пакети" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Увімкнути" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "Увімкнути NAT Loopback" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "Увімкнути захист від SYN-flood" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "Увімкнути реєстрування у цій зоні" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "Очікується: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "Експериментальна функція. Не повністю сумісно з QoS / SQM." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" -"В явному вигляді дозволені помічники відслідковування з'єднань для трафіку " -"зони" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "Зовнішня IP-адреса" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "Зовнішній порт" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "Додаткові аргументи" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "Додаткові аргументи для призначення" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "Додаткові аргументи iptables" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "Додаткові аргументи для джерела" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Брандмауер" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "Брандмауер — Настроювані правила" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "Брандмауер — Правила NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "Брандмауер — Переспрямовування портів" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "Брандмауер — Правила трафіку" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "Брандмауер — Параметри зон" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "Переміщення конфігурації брандмауера" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "Переспрямовування" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"Переспрямовування IPv4%{proto?, протокол %{proto#%{next?, }%{item.name}" -"}}%{mark?, позначка %{mark.val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "П'ятниця" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"Із %{src}%{src_device?, інтерфейс %{src_device}}%{src_ip?, IP-" -"адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " -"%{src_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"Із %{src}%{src_device?, інтерфейс %{src_device}}%{src_ip?, IP-" -"адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " -"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адреса %{src_mac#" -"%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"Із %{src}%{src_ip?, IP-адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " -"MAC-адреса %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "Загальні параметри" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "Апаратні засоби розвантаження потоку" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 та IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "Лише IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "Лише IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "Вхідний пристрій" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"Вхідний IPv4%{proto?, протокол %{proto#%{next?, }%{item.types?%{item.name}ICMP із " -"типами %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, позначка %{mark.val}}%{helper?, помічник " -"%{helper.inv?%{helper.val}:%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Вхідний трафік" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "Внутрішня IP-адреса" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "Внутрішній порт" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "Внутрішня зона" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "Неприпустима позначка DHCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "Неприпустиме значення обмеження" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "Обмеження блоку" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "Обмеження повідомлень журналу" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "Обмеження зіставляння" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"Обмеження зіставляння до %{limit.num} пакетів на %{limit." -"unit}%{limit.burst? блок %{limit.burst}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "Обмеження зіставляння трафіку із вказаною швидкістю." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "IP-адреса джерела зворотної петлі" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" -"MASQUERADE - Автоматично переписувати на IP-адресу вихідного інтерфейсу" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "Обмежування MSS" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "Підміна" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "Зіставляти" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "Зіставляти DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "Зіставляти ICMP типу" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "Зіставляти пристрою" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" -"Зіставляння переспрямованого трафіку, спрямованого на вказану IP-адресу." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" -"Зіставляння переспрямованого трафіку, спрямованого на вказаний порт " -"призначення або діапазон портів." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "Зіставляння переспрямованого трафіку від цієї IP-адреси або діапазону." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" -"Зіставляння переспрямованого трафіку, що походить із заданого порту джерела " -"або діапазону портів." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "Зіставляти помічнику" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" -"Зіставляти вхідний трафік, спрямований на заданий порт призначення або " -"діапазон портів цього вузла" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "Зіставляти позначці" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" -"Зіставляти трафік за допомогою вказаного помічника відслідковування з'єднань." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" -"Зіставляти вказаній позначці брандмауера або діапазону різних позначок." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" -"Зіставляння переспрямованого трафіку за допомогою вказаного вихідного " -"мережевого пристрою." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "Зіставляти трафік із вказаною позначкою DSCP." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" -"Максимальна початкова кількість пакетів, що зіставляються: це число " -"збільшується на одиницю щоразу, коли вказане вище обмеження не досягнуто, аж " -"до цього числа." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "Понеділок" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "Дні місяця" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "Правила NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" -"Правила NAT дозволяють тонко контролювати IP-адресу джерела, що " -"використовується для вихідного чи переспрямованого трафіку." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "Назва" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "Зіставляти тільки вхідний трафік, спрямований на вказану IP-адресу." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "Зіставляти тільки вхідний трафік від цих MAC-адрес." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "Зіставляти тільки вхідний трафік від цього IP чи діапазону." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" -"Зіставляти тільки вхідний трафік, що виникає на заданому порту джерела або " -"діапазоні портів вузла клієнта" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "Вихідний пристрій" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "Вихідна зона" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Вихідний трафік" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" -"Передавання додаткових аргументів для IPTables. Використовуйте з обережністю!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"Передавання аргументів raw iptables до правил класифікації вихідного трафіку " -"та трафіку призначення дозволяє зіставляти пакети на підставі інших " -"критеріїв, ніж інтерфейси чи підмережі. Ці параметри слід використовувати з " -"особливою обережністю, оскільки невірні значення можуть призвести до " -"порушення набору правил брандмауера, повністю відкриваючи всі служби." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "Переспрямовування портів" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"Переспрямовування портів дозволяє віддаленим комп'ютерам з Інтернету " -"підключатися до певного комп'ютера або служби у приватній мережі." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Протокол" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" -"Переспрямувати відповідний вхідний трафік на заданий порт внутрішнього вузла" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "Переспрямувати відповідний вхідний трафік на заданий внутрішній вузол" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "Необхідна апаратна підтримка NAT. Упроваджено принаймні для mt7621" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "Обмежити підміну заданими підмережами призначення" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "Обмежити підміну заданими підмережами джерела" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "Обмежити сімейство протоколів" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "IP-адреса для перезапису" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "Перезаписати відповідний трафік на вказану IP-адресу джерела." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" -"Перезаписати відповідний трафік на вказаний порт джерела або діапазон портів." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "Порт для перезапису" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Розвантаження маршрутизації/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT - Перезаписати на вказану IP-адресу джерела або порт" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "Субота" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "Установити позначку" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"Встановіть задане значення позначки для встановлених з'єднаннях. Формат — " -"значення[/маска]. Якщо вказано маску, то змінюються лише ті біти, які " -"встановлені в масці." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "Програмне розвантаження для маршрутизації/NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "Програмне розвантаження потоку" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "IP-адреса джерела" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "MAC-адреса джерела" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "Адреса джерела" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Порт джерела" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "Зона джерела" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" -"Визначає, чи слід прив'язувати це правило трафіку до певного вхідного або " -"вихідного мережевого пристрою." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" -"Визначає, чи використовувати зовнішню або внутрішню IP-адресу для відбитого " -"трафіку." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "Дата початку (рррр-мм-дд)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "Час початку (гг:хх:сс)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "Дата зупинки (рррр-мм-дд)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "Час зупинки (гг:хх:сс)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "Неділя" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" -"Для належного функціонування LuCI потрібно змінити існуючу конфігурацію " -"брандмауера." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"Брандмауер створює зони поверх ваших мережевих інтерфейсів для управління " -"потоком мережевого трафіку." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"Опції, наведені нижче, керують політиками переспрямовування між цією (%s) та " -"іншими зонами. Зони призначення покриваються переспрямованим " -"трафіком, що виходить з %q. Зони джерела " -"покриваються трафіком з інших зон, переспрямованим на %q. " -"Правило переспрямовування є односпрямованим, тобто, спрямовування " -"від LAN до WAN не означає, що є також дозвіл спрямовувати від WAN " -"до LAN." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"Цей розділ визначає загальні властивості %q. Параметри вхідний і " -"вихідний задають типову політику для трафіку на вході й виході з " -"цієї зони, а параметр переспрямовування описує політику " -"спрямовування трафіку між різними мережами в межах зони. Пункт Покриті " -"мережі визначає, які доступні мережі є членами цієї зони." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "Четвер" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "Часові обмеження" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "Час в UTC" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"До %{dest}%{dest_device?, інтерфейс %{dest_device}}%{dest_ip?, IP-" -"адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт " -"%{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"До %{dest}%{dest_device?, через інтерфейс %{dest_device}}%{dest_ip?, IP-адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"До %{dest}%{dest_ip?, IP-адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "Помічник відслідковування" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "Правила трафіку" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"Правила трафіку визначають політику для пакетів, що пересилаються між " -"різними зонами, наприклад, відхиляти трафік між певними вузлами або відкрити " -"порти WAN на маршрутизаторі." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "Вівторок" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "Не вдалося зберегти вміст: %s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" -"Невідомий або не інстальований помічник відслідковування з'єднань \"%s\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "NAT без назви" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "Переспрямовування без назви" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "Правило без назви" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "Зона без назви" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "Нерозпізнаний протокол" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"Після натискання кнопки \"Продовжити\" розділи \"redirect\" з цільовою \"SNAT" -"\" буде перетворено на розділи \"nat\", і брандмауер буде перезапущено для " -"застосування оновленої конфігурації." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "Використовувати зовнішню IP-адресу" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "Використовувати внутрішню IP-адресу" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" -"Використовуйте цей параметр для класифікації трафіку зон за мережевими " -"пристроями raw, які не управляються через uci." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" -"Використовуйте цей параметр для класифікації трафіку зон за підмережею " -"джерела чи призначення замість мереж або пристроїв." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "Потрібна дійсна позначка брандмауера" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "Середа" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "Дні тижня" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "XOR позначки брандмауера" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "XOR позначки" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "Зона ⇒ Переспрямовування" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Зони" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "приймати" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "будь-який" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "будь-якої зони" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "застосувати позначку брандмауера" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "призначити помічника відслідковування з'єднань" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "день" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "не переписувати" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "не відстежувати" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "опускати" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "година" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "хвилина" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "відхиляти" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "секунду" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "цього пристрою" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "ця нова зона" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "необмежено" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "невизначено" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "дійсна розначка брандмауера" - -#~ msgid "%s in %s" -#~ msgstr "%s у %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s із %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s у %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d пакетів за %s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "" -#~ "%d пакетів за %s, підряд %d пакетів" - -#~ msgid "%s and limit to %s" -#~ msgstr "%s з лімітом %s" - -#~ msgid "Accept forward" -#~ msgstr "Приймати переспрямовування" - -#~ msgid "Accept input" -#~ msgstr "Приймати вхідний" - -#~ msgid "Accept output" -#~ msgstr "Приймати вихідний" - -#~ msgid "Discard forward" -#~ msgstr "Відкидати переспрямовування" - -#~ msgid "Discard input" -#~ msgstr "Відкидати вхідний" - -#~ msgid "Discard output" -#~ msgstr "Відкидати вихідний" - -#~ msgid "Do not track forward" -#~ msgstr "Не відслідковувати переспрямовування" - -#~ msgid "Do not track input" -#~ msgstr "Не відслідковувати вхідний" - -#~ msgid "Do not track output" -#~ msgstr "Не відслідковувати вихідний" - -#~ msgid "Forward to" -#~ msgstr "переспрямовування до" - -#~ msgid "From %s in %s" -#~ msgstr "%s у %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "%s у %s з джерелом %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "%s у %s з джерелом %s та %s" - -#~ msgid "From %s on this device" -#~ msgstr "Від %s на цьому пристрої" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "Від %s на цьому пристрої з джерелом %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "Від %s на цьому пристрої з джерелом %s та %s" - -#~ msgid "IP" -#~ msgstr "IP-адреса" - -#~ msgid "IP range" -#~ msgstr "Діапазон IP" - -#~ msgid "IPs" -#~ msgstr "IP-адреси" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC-адреса" - -#~ msgid "MACs" -#~ msgstr "MAC-адреси" - -#~ msgid "Network" -#~ msgstr "Мережа" - -#~ msgid "Refuse forward" -#~ msgstr "Відхиляти переспрямовування" - -#~ msgid "Refuse input" -#~ msgstr "Відхиляти вхідний" - -#~ msgid "Refuse output" -#~ msgstr "Відхиляти вихідний" - -#~ msgid "To %s at %s on this device" -#~ msgstr "%s на %s цього пристрою" - -#~ msgid "To %s in %s" -#~ msgstr "%s у %s" - -#~ msgid "To %s on this device" -#~ msgstr "%s на цього пристрою" - -#~ msgid "To %s, %s in %s" -#~ msgstr "%s, %s у %s" - -#~ msgid "Via %s" -#~ msgstr "Через %s" - -#~ msgid "Via %s at %s" -#~ msgstr "Через %s на %s" - -#~ msgid "any host" -#~ msgstr "будь-який вузол" - -#~ msgid "any router IP" -#~ msgstr "будь-який IP роутера" - -#~ msgid "not" -#~ msgstr "не" - -#~ msgid "port" -#~ msgstr "порт" - -#~ msgid "ports" -#~ msgstr "порти" - -#~ msgid "type" -#~ msgstr "типом" - -#~ msgid "types" -#~ msgstr "типами" - -#~ msgid "Force connection tracking" -#~ msgstr "Примусове відслідковування з'єднань" - -#~ msgid "" -#~ "Prevent the installation of NOTRACK rules which would bypass " -#~ "connection tracking." -#~ msgstr "" -#~ "Запобігати встановленню правил NOTRACK, які могли б обійти " -#~ "відслідковування з'єднань." - -#~ msgid "Disable" -#~ msgstr "Вимкнути" - -#~ msgid "Restart Firewall" -#~ msgstr "Перезавантажити брандмауер" - -#~ msgid "Rule is disabled" -#~ msgstr "Правило вимкнено" - -#~ msgid "Rule is enabled" -#~ msgstr "Правило ввімкнено" diff --git a/luci-app-firewall/po/vi/firewall.po b/luci-app-firewall/po/vi/firewall.po deleted file mode 100644 index 217eafe70..000000000 --- a/luci-app-firewall/po/vi/firewall.po +++ /dev/null @@ -1,1117 +0,0 @@ -# luci-fw.pot -# generated from ./applications/luci-fw/luasrc/i18n/luci-fw.en.lua -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-30 17:00+0200\n" -"PO-Revision-Date: 2020-01-14 15:22+0000\n" -"Last-Translator: Franco Castillo \n" -"Language-Team: Vietnamese \n" -"Language: vi\n" -"MIME-Version: 1.0\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-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "Hành động" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "Địa chỉ điểm đến" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "Cổng điểm đến" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -#, fuzzy -msgid "Destination zone" -msgstr "Điểm đến" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "Bỏ qua nhưng gói không hợp lý" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "Kích hoạt" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -#, fuzzy -msgid "Enable SYN-flood protection" -msgstr "SYN-flood bảo vệ " - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "External port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "Firewall" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "Input" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -#, fuzzy -msgid "Internal IP address" -msgstr "Internal address" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -#, fuzzy -msgid "Internal port" -msgstr "External port" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -#, fuzzy -msgid "MSS clamping" -msgstr "MSS Clamping" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "Output" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "Giao thức" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -#, fuzzy -msgid "Source IP address" -msgstr "Đỉa chỉ MAC nguồn" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -#, fuzzy -msgid "Source address" -msgstr "Đỉa chỉ MAC nguồn" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "Cổng nguồn" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -#, fuzzy -msgid "Source zone" -msgstr "Cổng nguồn" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "" -"The firewall tạo zones trên giao diện mạng lưới để điều triển sự dòng lưu " -"thông của mạng." - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "Zones" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "chấp nhận" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "drop" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "Không chấp nhận" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "MAC" -#~ msgstr "MAC" diff --git a/luci-app-firewall/po/zh_Hans/firewall.po b/luci-app-firewall/po/zh_Hans/firewall.po deleted file mode 100644 index 54366b246..000000000 --- a/luci-app-firewall/po/zh_Hans/firewall.po +++ /dev/null @@ -1,1483 +0,0 @@ -# -# Yangfl , 2017, 2018. -# Zheng Qian , 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: \n" -"PO-Revision-Date: 2020-02-19 20:00+0000\n" -"Last-Translator: xiazhang \n" -"Language-Team: Chinese (Simplified) \n" -"Language: zh_Hans\n" -"MIME-Version: 1.0\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\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" -"%{src?%{dest?转发:入站}:出站} %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, 协议 %{proto#" -"%{next?, }%{item.types?%{item.name}" -"具有类型 %{item.types#%{next?, }%{item}} 的 ICMP:%{item.name}}}}%{mark?, 标记 %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, 助手 %{helper.inv?%{helper.val}:" -"%{helper.val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- 添加 IP --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- 添加 MAC --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "接受 %{src?%{dest?转发:入站}:出站}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "防止重写源" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" -"转发 至 %{dest}%{dest_ip? IP %{dest_ip}" -"}%{dest_port? 端口 %{dest_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "丢弃 %{src?%{dest?转发:入站}:出站}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "分配 DSCP 分类 %{set_dscp}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" -"分配 conntrack 助手 %{set_helper}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" -"%{set_mark?分配:异或} 防火墙标记 " -"%{set_mark?:%{set_xmark}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "自动重写 源 IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" -"不跟踪 %{src?%{dest?转发:入站}:出站}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "拒绝 %{src?%{dest?转发:入站}:出站}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" -"静态重写 到源 %{snat_ip?IP %{snat_ip}} %{snat_port?端口 %{snat_port}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "必须指定重写 IP!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "接受 - 禁用地址重写" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "动作" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" -"附加 iptables 参数对区域出流量分类。如:-p tcp --dport 443 仅匹配出站 HTTPS 流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" -"附加 iptables 参数对区域入流量分类。如:-p tcp --sport 443 仅匹配入站 HTTPS 流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "高级设置" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "允许“无效”流量" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "允许来自源区域的转发:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "允许转发到目标区域:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "任何" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "每天" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" -"在已建立的连接上对给定值和现有标记值进行按位异或。格式为 value[/mask]。如果指" -"定了掩码,则掩码中设置的位将归零。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "将给定的 DSCP 类或值应用于已建立的连接。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "将指定的连接跟踪助手分配给匹配的流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "自动助手分配" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "根据流量协议和端口自动分配 conntrack 助手" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "Conntrack 设置" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "Conntrack 助手" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "内容已保存。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "继续" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "涵盖的设备" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "涵盖的网络" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "涵盖的子网" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "自定义规则" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"自定义规则允许您执行不属于防火墙框架的任意 iptables 命令。每次重启防火墙时," -"在默认的规则运行后这些命令将立即执行。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "DSCP 类别" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "DSCP 标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "需要 DSCP 标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "目标地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "目标端口" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "目标区域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "设备名称" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" -"不安装额外的规则以拒绝 conntrack 状态为无效的转发流量。对复杂的非对" -"称路由这可能是必需的设置。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "丢弃无效数据包" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "启用" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "启用 NAT 环回" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "启用 SYN-flood 防御" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "启用此区域的日志记录" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "需要:%s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "实验特性。与 QoS/SQM 不完全兼容。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "为区域流量明确选择允许的连接跟踪助手" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "外部 IP 地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "外部端口" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "额外参数" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "额外的目标参数" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "额外的 iptables 参数" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "额外的源参数" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "防火墙" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "防火墙 - 自定义规则" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "防火墙 - NAT 规则" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "防火墙 - 端口转发" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "防火墙 - 通信规则" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "防火墙 - 区域设置" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "防火墙配置迁移" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "转发" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" -"转发的 IPv4%{proto?, 协议 %{proto#%{next?, }%{item.name}}}%{mark?, 标记 %{mark.val}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "星期五" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"来自 %{src}%{src_device?, 接口 %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 %{src_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" -"来自 %{src}%{src_device?, 接口 %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" -"来自 %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 " -"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "常规设置" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "硬件流量分载" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 和 IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "仅 IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "仅 IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "入站设备" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" -"入站 IPv4%{proto?, 协议 %{proto#%{next?, }%{item.types?%{item.name}具有类型 %{item." -"types#%{next?, }%{item}} 的 ICMP:%{item.name}}}}%{mark?, 标记 %{mark.val}}%{helper?, 助手 " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "入站数据" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "内部 IP 地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "内部端口" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "内部区域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "无效的 DSCP 标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "无效的限制值" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "限制突发" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "限制日志信息" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "限制匹配" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" -"限制匹配到 %{limit.num} 包每 %{limit.unit}%{limit." -"burst? 突发 %{limit.burst}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "将流量匹配限制为指定的速率。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "环回源 IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "MASQUERADE - 自动重写为出站接口 IP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "MSS 钳制" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "IP 动态伪装" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "匹配规则" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "匹配 DSCP" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "匹配 ICMP 类型" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "匹配设备" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "匹配指向给定 IP 地址的转发流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "匹配指向给定目标端口或端口范围的转发流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "匹配来自此 IP 或范围的转发流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "匹配来自给定源端口或端口范围的转发流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "匹配助手" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站流量" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "匹配标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "使用指定的连接跟踪助手匹配流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "匹配特定的防火墙标记或不同标记的范围。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "使用指定的出站网络设备匹配转发的流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "匹配承载指定 DSCP 标记的流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "要匹配的最大初始数据包数:未达到上述指定限制时,每次加一直到达到此数。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "星期一" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "日期" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "NAT 规则" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "NAT 规则允许对源 IP 进行精细控制,以用于出站或转发流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "名称" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "仅匹配指定目的 IP 地址的入站流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "仅匹配来自这些 MAC 的入站流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "仅匹配来自此 IP 或 IP 范围的入站流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "仅匹配源自客户端主机上给定源端口或源端口范围的入站流量" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "出站设备" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "出站区域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "出站数据" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "传递到 iptables 的额外参数。小心使用!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" -"通过将 iptables 参数传递给源和目标流量的分类规则,可以根据接口或子网以外的其" -"他条件来匹配数据包。使用这些选项应格外小心,因为无效值可能会破坏防火墙规则集" -"而对外暴露所有服务。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "端口转发" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "" -"端口转发允许 Internet 上的远程计算机连接到内部网络中的特定计算机或服务。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "协议" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "重定向匹配的入站流量到内部主机的端口" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "重定向匹配的入站流量到指定的内部主机" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "需要硬件 NAT 支持。目前 mt7621 已实现" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "要限制 IP 动态伪装的目标子网" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "要限制 IP 动态伪装的源子网" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "限制地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "重写 IP 地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "将匹配的流量重写到指定的源 IP 地址。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "将匹配的流量重写到指定的源端口或端口范围。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "重写端口" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Routing/NAT 分载" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "SNAT - 重写为特定的源 IP 或端口" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "星期六" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "设置标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" -"在已建立的连接上设置给定的标记值。格式为 value[/mask]。如果指定了掩码,则仅修" -"改掩码中设置的位。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "基于软件的 Routing/NAT 分载" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "软件流量分载" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "源 IP 地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "源 MAC 地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "源地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "源端口" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "源区域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "指定是否将此流量规则绑定到特定的入站或出站网络设备。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "指定是使用外部 IP 地址还是内部 IP 地址来反映流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "开始日期(yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "开始时间(hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "停止日期(yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "停止时间(hh.mm.ss)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "星期日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "需要更改现有的防火墙配置,以使 LuCI 正常运行。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "防火墙通过在网络接口上创建区域来控制网络流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"以下选项控制此区域(%s)和其它区域间的转发策略。目标区域接收" -"源自 %q 的转发流量。源区域匹配的转发流量来自目标为 " -"%q 的其它区域。转发规则的作用是单向的,例如:转发从 lan 到 " -"wan 的流量并意味着允许反向转发从 wan 到 lan 的流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"本节定义 %q 的通用属性。入站数据出站数据选项用于设置此区" -"域入站和出站流量的默认策略,转发选项描述该区域内不同网络之间的流量转" -"发策略。涵盖的网络指定从属于这个区域的网络。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "星期四" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "时间限制" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "UTC 时间" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" -"到 %{dest}%{dest_device?, 接口 %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端口 %{dest_port#%{next?, }" -"%{item." -"ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"到 %{dest}%{dest_device?, 通过接口 %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端口 %{dest_port#%{next?, }" -"%{item." -"ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" -"到 %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端" -"口 %{dest_port#%{next?, }%{item.ival}}}" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "跟踪助手" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "通信规则" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"通信规则定义了不同区域间的数据包传输策略,例如:拒绝一些主机之间的通信,开放" -"路由器 WAN 上的端口。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "星期二" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "无法保存内容:%s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "未知或未安装的 conntrack 助手 \"%s\"" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "未命名 NAT" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "未命名转发" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "未命名规则" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "未命名区域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "无法识别的协议" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" -"按下“继续”后,目标“SNAT”的“redirect”部分将转换为“nat”部分,防火墙将重新启动以" -"应用更新的配置。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "使用外部 IP 地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "使用内部 IP 地址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "此选项可对原始的、非 uci 托管的网络设备进行区域流量分类。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "此选项可对源或目标子网而非网络或设备进行区域流量分类。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "需要有效的防火墙标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "星期三" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "星期" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "异或防火墙标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "异或标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "区域 ⇒ 转发" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "区域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "接受" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "任意" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "所有区域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "应用防火墙标记" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "分配连接跟踪助手" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "不重写" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "不跟踪" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "丢弃" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "小时" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "分钟" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "拒绝" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "秒" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "此设备" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "此新区域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "无限制" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "未指定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "有效的防火墙标记" - -#~ msgid "%s in %s" -#~ msgstr "%s 位于 %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s 和 %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s 位于 %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d 数据包/%s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d 数据包/%s,突发 %d 数据包。" - -#~ msgid "%s and limit to %s" -#~ msgstr "%s 并限制到 %s" - -#~ msgid "Accept forward" -#~ msgstr "接受转发" - -#~ msgid "Accept input" -#~ msgstr "接受入站" - -#~ msgid "Accept output" -#~ msgstr "接受出站" - -#~ msgid "Destination IP address" -#~ msgstr "目标 IP 地址" - -#~ msgid "Discard forward" -#~ msgstr "丢弃转发" - -#~ msgid "Discard input" -#~ msgstr "丢弃入站" - -#~ msgid "Discard output" -#~ msgstr "丢弃出站" - -#~ msgid "Do not rewrite" -#~ msgstr "不重写" - -#~ msgid "Do not track forward" -#~ msgstr "不跟踪转发" - -#~ msgid "Do not track input" -#~ msgstr "不跟踪入站" - -#~ msgid "Do not track output" -#~ msgstr "不跟踪出站" - -#~ msgid "Forward to" -#~ msgstr "转发到" - -#~ msgid "From %s in %s" -#~ msgstr "来自 %s 位于 %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "来自 %s 位于 %s 源于 %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "来自 %s 位于 %s 源端口 %s 源 MAC %s" - -#~ msgid "From %s on this device" -#~ msgstr "来自 %s 位于本设备" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "来自 %s 位于本设备源于 %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "来自 %s 位于本设备源端口 %s 源 MAC %s" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP 范围" - -#~ msgid "IPs" -#~ msgstr "IP" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC" - -#~ msgid "Network" -#~ msgstr "网络" - -#~ msgid "Refuse forward" -#~ msgstr "拒绝转发" - -#~ msgid "Refuse input" -#~ msgstr "拒绝入站" - -#~ msgid "Refuse output" -#~ msgstr "拒绝出站" - -#~ msgid "To %s at %s on this device" -#~ msgstr "到 %s 在 %s 位于本设备" - -#~ msgid "To %s in %s" -#~ msgstr "到 %s 位于 %s" - -#~ msgid "To %s on this device" -#~ msgstr "到 %s 位于本设备" - -#~ msgid "To %s, %s in %s" -#~ msgstr "到 %s, %s 位于 %s" - -#~ msgid "Via %s" -#~ msgstr "通过 %s" - -#~ msgid "Via %s at %s" -#~ msgstr "通过 %s 在 %s" - -#~ msgid "any host" -#~ msgstr "所有主机" - -#~ msgid "any router IP" -#~ msgstr "所有路由 IP" - -#~ msgid "not" -#~ msgstr "非" - -#~ msgid "port" -#~ msgstr "端口" - -#~ msgid "ports" -#~ msgstr "端口" - -#~ msgid "type" -#~ msgstr "类型" - -#~ msgid "types" -#~ msgstr "类型" - -#~ msgid "Force connection tracking" -#~ msgstr "强制连接追踪" - -#~ msgid "" -#~ "Prevent the installation of NOTRACK rules which would bypass " -#~ "connection tracking." -#~ msgstr "防止安装 NOTRACK 规则,该规则会绕过连接跟踪。" - -#~ msgid "Disable" -#~ msgstr "禁用" - -#~ msgid "Restart Firewall" -#~ msgstr "重启防火墙" - -#~ msgid "Rule is disabled" -#~ msgstr "规则已禁用" - -#~ msgid "Rule is enabled" -#~ msgstr "规则已启用" - -#~ msgid "Add" -#~ msgstr "添加" - -#~ msgid "Add and edit..." -#~ msgstr "添加并编辑…" - -#~ msgid "External zone" -#~ msgstr "外部区域" - -#~ msgid "New SNAT rule" -#~ msgstr "新建 SNAT 规则" - -#~ msgid "New forward rule" -#~ msgstr "新建转发规则" - -#~ msgid "New input rule" -#~ msgstr "新建进入规则" - -#~ msgid "New port forward" -#~ msgstr "新建端口转发" - -#~ msgid "New source NAT" -#~ msgstr "新建 Source NAT" - -#~ msgid "Open ports on router" -#~ msgstr "打开路由器端口" - -#~ msgid "Other..." -#~ msgstr "其它..." - -#~ msgid "To source IP" -#~ msgstr "到源 IP" - -#~ msgid "To source port" -#~ msgstr "到源端口" - -#~ msgid "Output zone" -#~ msgstr "出站区域" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(未命名条目)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(未命名规则)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(未命名 SNAT)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "端口触发" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "匹配指定目标端口或目标端口范围的转发流量。" - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "匹配来自客户端主机上指定源端口或源端口范围的入站流量。" - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "将匹配流量的源地址改写成指定地址。" - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "将匹配流量的源端口改写成指定端口。留空只改写 IP 地址。" - -#~ msgid "Rewrite to source %s" -#~ msgstr "源地址改写成 %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "源地址改写成 %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "SNAT IP 地址" - -#~ msgid "SNAT port" -#~ msgstr "SNAT 端口" - -#~ msgid "Source NAT" -#~ msgstr "Source NAT" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "Source NAT 是一种特殊形式的封包伪装,它允许精细的控制传出流量的源 IP,例" -#~ "如:将多个 WAN 地址映射到内部子网。" - -#~ msgid "Start Time (hh:mm:ss)" -#~ msgstr "开始时间(hh:mm:ss)" - -#~ msgid "Stop Time (hh:mm:ss)" -#~ msgstr "停止时间(hh:mm:ss)" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "" -#~ "本页面可以更改端口转发的高级设置。大多数情况下,不需要更改这些设置。" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "本页面可以更改通信规则的高级设置,比如:需匹配的源主机和目标主机。" - -#~ msgid "Unnamed SNAT" -#~ msgstr "未命名 SNAT" - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "您也可以选择“--自定义--”来定义多个协议,在多个协议间需加空格。" - -#~ msgid "Zone %q" -#~ msgstr "区域 %q" - -#~ msgid "traffic" -#~ msgstr "通信" diff --git a/luci-app-firewall/po/zh_Hant/firewall.po b/luci-app-firewall/po/zh_Hant/firewall.po deleted file mode 100644 index ee55b1669..000000000 --- a/luci-app-firewall/po/zh_Hant/firewall.po +++ /dev/null @@ -1,1385 +0,0 @@ -# -# Yangfl , 2017, 2018. -# -msgid "" -msgstr "" -"PO-Revision-Date: 2020-02-25 23:11+0000\n" -"Last-Translator: Trevor \n" -"Language-Team: Chinese (Traditional) \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.0-dev\n" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47 -msgid "" -"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " -"IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#" -"%{next?, }%{item.types?%{item.name}" -"ICMP with types %{item.types#%{next?, }" -"%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?" -"%{dscp.val}:%{dscp.val}}}%{helper?, helper " -"%{helper.inv?%{helper.val}:%{helper." -"val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -msgid "-- add IP --" -msgstr "-- 新增 IP --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479 -msgid "-- add MAC --" -msgstr "-- 新增 MAC 位置 --" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117 -msgid "" -"Accept %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86 -msgid "Prevent source rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80 -msgid "" -"Forward to %{dest}%{dest_ip? IP " -"%{dest_ip}}%{dest_port? port %{dest_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114 -msgid "" -"Drop %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132 -msgid "" -"Assign DSCP classification %{set_dscp}" -"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126 -msgid "" -"Assign conntrack helper %{set_helper}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129 -msgid "" -"%{set_mark?Assign:XOR} firewall mark " -"%{set_mark?:%{set_xmark}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83 -msgid "Automatically rewrite source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123 -msgid "" -"Do not track %{src?%{dest?forward:input}:" -"output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120 -msgid "" -"Reject %{src?%{dest?forward:input}:output}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80 -msgid "" -"Statically rewrite to source %{snat_ip?IP " -"%{snat_ip}} %{snat_port?port %{snat_port}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224 -msgid "A rewrite IP must be specified!" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212 -msgid "ACCEPT - Disable address rewriting" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207 -msgid "Action" -msgstr "行動" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "" -"Additional raw iptables arguments to classify zone destination " -"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " -"traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "" -"Additional raw iptables arguments to classify zone source traffic, " -"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:92 -msgid "Advanced Settings" -msgstr "進階設定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "Allow \"invalid\" traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 -msgid "Allow forward from source zones:" -msgstr "允許從源區域轉發:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:281 -msgid "Allow forward to destination zones:" -msgstr "允許轉發到目標區域:" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506 -msgid "Any" -msgstr "任何" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273 -msgid "Any day" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314 -msgid "" -"Apply a bitwise XOR of the given value and the existing mark value on " -"established connections. Format is value[/mask]. If a mask is specified then " -"those bits set in the mask are zeroed out." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Apply the given DSCP class or value to established connections." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Assign the specified connection tracking helper to matched traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "Automatic helper assignment" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:225 -msgid "" -"Automatically assign conntrack helpers based on traffic protocol and port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93 -msgid "Conntrack Settings" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Conntrack helpers" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15 -msgid "Contents have been saved." -msgstr "內容已經儲存。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650 -msgid "Continue" -msgstr "繼續" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "Covered devices" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 -msgid "Covered networks" -msgstr "覆蓋網路" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "Covered subnets" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 -msgid "Custom Rules" -msgstr "自訂規則" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 -msgid "" -"Custom rules allow you to execute arbitrary iptables commands which are not " -"otherwise covered by the firewall framework. The commands are executed after " -"each firewall restart, right after the default ruleset has been loaded." -msgstr "" -"自訂規則允許您執行不屬於防火牆框架的任意 iptables 指令。每次重啟防火牆時,在" -"預設的規則執行後這些指令將立即執行。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373 -msgid "DSCP classification" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294 -msgid "DSCP mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 -msgid "Destination address" -msgstr "目標位址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198 -msgid "Destination port" -msgstr "目標埠" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348 -msgid "Destination zone" -msgstr "目標區域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260 -msgid "Device name" -msgstr "裝置名稱" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222 -msgid "" -"Do not install extra rules to reject forwarded traffic with conntrack state " -"invalid. This may be required for complex asymmetric route setups." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44 -msgid "Drop invalid packets" -msgstr "丟棄無效資料包" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163 -msgid "Enable" -msgstr "啟用" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 -msgid "Enable NAT Loopback" -msgstr "啟用 NAT 環回" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43 -msgid "Enable SYN-flood protection" -msgstr "啟用 SYN-flood 防禦" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235 -msgid "Enable logging on this zone" -msgstr "啟用此區域的日誌記錄" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "Expecting: %s" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 -msgid "Experimental feature. Not fully compatible with QoS/SQM." -msgstr "實驗特性。與 QoS/SQM 不完全相容。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229 -msgid "Explicitly choses allowed connection tracking helpers for zone traffic" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214 -msgid "External IP address" -msgstr "外部 IP 位址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219 -msgid "External port" -msgstr "外部埠" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248 -msgid "Extra arguments" -msgstr "附加引數" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:260 -msgid "Extra destination arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94 -msgid "Extra iptables arguments" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 -msgid "Extra source arguments" -msgstr "" - -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 -msgid "Firewall" -msgstr "防火牆" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24 -msgid "Firewall - Custom Rules" -msgstr "防火牆 - 自訂規則" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126 -msgid "Firewall - NAT Rules" -msgstr "防火牆 - NAT 規則" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128 -msgid "Firewall - Port Forwards" -msgstr "防火牆 - 埠轉發" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172 -msgid "Firewall - Traffic Rules" -msgstr "防火牆 - 通訊規則" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36 -msgid "Firewall - Zone Settings" -msgstr "防火牆 - 區域設定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643 -msgid "Firewall configuration migration" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131 -msgid "Forward" -msgstr "轉發" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29 -msgid "" -"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263 -msgid "Friday" -msgstr "星期五" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63 -msgid "" -"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " -"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" -"%{item." -"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" -"}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47 -msgid "" -"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, " -"port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:91 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16 -msgid "General Settings" -msgstr "基本設定" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73 -msgid "Hardware flow offloading" -msgstr "硬體流量分載" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:203 -msgid "IPv4 and IPv6" -msgstr "IPv4 和 IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204 -msgid "IPv4 only" -msgstr "僅 IPv4" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205 -msgid "IPv6 only" -msgstr "僅 IPv6" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 -msgid "Inbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37 -msgid "" -"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with " -"types %{item.types#%{next?, }%{item}}:%{item." -"name}}}}%{mark?, mark %{mark.val}" -"}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 -msgid "Input" -msgstr "入站資料" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233 -msgid "Internal IP address" -msgstr "內部 IP 位址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238 -msgid "Internal port" -msgstr "內部埠" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227 -msgid "Internal zone" -msgstr "內部區域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302 -msgid "Invalid DSCP mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370 -msgid "Invalid limit value" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380 -msgid "Limit burst" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:238 -msgid "Limit log messages" -msgstr "限制日誌資訊" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346 -msgid "Limit matching" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 -msgid "" -"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347 -msgid "Limits traffic matching to the specified rate." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "Loopback source IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211 -msgid "MASQUERADE - Automatically rewrite to outbound interface IP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:148 -msgid "MSS clamping" -msgstr "MSS 鉗制" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145 -msgid "Masquerading" -msgstr "IP 動態偽裝" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146 -msgid "Match" -msgstr "匹配規則" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260 -msgid "Match DSCP" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284 -msgid "Match ICMP type" -msgstr "匹配 ICMP 型別" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240 -msgid "Match device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194 -msgid "Match forwarded traffic directed at the given IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199 -msgid "" -"Match forwarded traffic directed at the given destination port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 -msgid "Match forwarded traffic from this IP or range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 -msgid "" -"Match forwarded traffic originating from the given source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220 -msgid "" -"Match incoming traffic directed at the given destination port or port range " -"on this host" -msgstr "匹配指向此主機上指定目標埠或目標埠範圍的入站流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Match mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398 -msgid "Match traffic using the specified connection tracking helper." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 -msgid "Matches a specific firewall mark or a range of different marks." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239 -msgid "Matches forwarded traffic using the specified outbound network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261 -msgid "Matches traffic carrying the specified DSCP marking." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381 -msgid "" -"Maximum initial number of packets to match: this number gets recharged by " -"one every time the limit specified above is not reached, up to this number." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259 -msgid "Monday" -msgstr "星期一" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 -msgid "Month Days" -msgstr "日期" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43 -msgid "NAT Rules" -msgstr "NAT 規則" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127 -msgid "" -"NAT rules allow fine grained control over the source IP to use for outbound " -"or forwarded traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107 -msgid "Name" -msgstr "名字" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215 -msgid "Only match incoming traffic directed at the given IP address." -msgstr "僅匹配指定目的 IP 位址的入站流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196 -msgid "Only match incoming traffic from these MACs." -msgstr "僅匹配來自這些 MAC 的入站流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201 -msgid "Only match incoming traffic from this IP or range." -msgstr "僅匹配來自此 IP 或 IP 範圍的入站流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206 -msgid "" -"Only match incoming traffic originating from the given source port or port " -"range on the client host" -msgstr "僅匹配源自客戶端主機上給定源埠或源埠範圍的入站流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238 -msgid "Outbound device" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 -msgid "Outbound zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 -msgid "Output" -msgstr "出站資料" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249 -msgid "Passes additional arguments to iptables. Use with care!" -msgstr "傳遞到 iptables 的額外引數。小心使用!" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247 -msgid "" -"Passing raw iptables arguments to source and destination traffic " -"classification rules allows to match packets based on other criteria than " -"interfaces or subnets. These options should be used with extreme care as " -"invalid values could render the firewall ruleset broken, completely exposing " -"all services." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25 -msgid "Port Forwards" -msgstr "埠轉發" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129 -msgid "" -"Port forwarding allows remote computers on the Internet to connect to a " -"specific computer or service within the private LAN." -msgstr "埠轉發允許 Internet 上的遠端計算機連線到內部網路中的特定計算機或服務。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168 -msgid "Protocol" -msgstr "協議" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239 -msgid "" -"Redirect matched incoming traffic to the given port on the internal host" -msgstr "重定向匹配的入站流量到內部主機的埠" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234 -msgid "Redirect matched incoming traffic to the specified internal host" -msgstr "重定向匹配的入站流量到指定的內部主機" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74 -msgid "Requires hardware NAT support. Implemented at least for mt7621" -msgstr "需要硬體 NAT 支援。目前 mt7621 已實現" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:215 -msgid "Restrict Masquerading to given destination subnets" -msgstr "要限制 IP 動態偽裝的目標子網" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:208 -msgid "Restrict Masquerading to given source subnets" -msgstr "要限制 IP 動態偽裝的源子網" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202 -msgid "Restrict to address family" -msgstr "限制位址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214 -msgid "Rewrite IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 -msgid "Rewrite matched traffic to the specified source IP address." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230 -msgid "Rewrite matched traffic to the specified source port or port range." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229 -msgid "Rewrite port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61 -msgid "Routing/NAT Offloading" -msgstr "Routing/NAT 分載" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 -msgid "SNAT - Rewrite to specific source IP or port" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264 -msgid "Saturday" -msgstr "星期六" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "Set mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315 -msgid "" -"Set the given mark value on established connections. Format is value[/mask]. " -"If a mask is specified then only those bits set in the mask are modified." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 -msgid "Software based offloading for routing/NAT" -msgstr "基於軟體的 Routing/NAT 分載" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 -msgid "Software flow offloading" -msgstr "軟體流量分載" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200 -msgid "Source IP address" -msgstr "源 IP 位址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338 -msgid "Source MAC address" -msgstr "源 MAC 位址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179 -msgid "Source address" -msgstr "源位址" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184 -msgid "Source port" -msgstr "源埠" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332 -msgid "Source zone" -msgstr "源區域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261 -msgid "" -"Specifies whether to tie this traffic rule to a specific inbound or outbound " -"network device." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252 -msgid "" -"Specifies whether to use the external or the internal IP address for " -"reflected traffic." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288 -msgid "Start Date (yyyy-mm-dd)" -msgstr "開始日期(yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280 -msgid "Start Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 -msgid "Stop Date (yyyy-mm-dd)" -msgstr "停止日期(yyyy-mm-dd)" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284 -msgid "Stop Time (hh.mm.ss)" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258 -msgid "Sunday" -msgstr "星期日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644 -msgid "" -"The existing firewall configuration needs to be changed for LuCI to function " -"properly." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37 -msgid "" -"The firewall creates zones over your network interfaces to control network " -"traffic flow." -msgstr "防火牆通過在網路介面上建立區域來控制網路流量。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:188 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:277 -msgid "" -"The options below control the forwarding policies between this zone (%s) and " -"other zones. Destination zones cover forwarded traffic " -"originating from %q. Source zones match forwarded " -"traffic from other zones targeted at %q. The forwarding " -"rule is unidirectional, e.g. a forward from lan to wan does " -"not imply a permission to forward from wan to lan as well." -msgstr "" -"以下選項可以控制區域(%s)和其它區域間的轉發規則。目標區域接收" -"源自 %q 的轉發流量。源區域匹配從目標為 %q 的區域的需轉發流量。轉發規則的作用是單向的,例如:一條允許" -"從 lan 到 wan 的轉發規則並不隱含有允許相反方向從 wan 到 lan 的流量轉發。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:103 -msgid "" -"This section defines common properties of %q. The input and " -"output options set the default policies for traffic entering and " -"leaving this zone while the forward option describes the policy for " -"forwarded traffic between different networks within the zone. Covered " -"networks specifies which available networks are members of this zone." -msgstr "" -"本節定義 %q 的通用屬性,入站資料出站資料選項用於設定此區" -"域入站和出站流量的預設策略,轉發選項描述該區域內不同網路之間的流量轉" -"發策略。覆蓋網路指定從屬於這個區域的網路。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 -msgid "Thursday" -msgstr "星期四" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136 -msgid "Time Restrictions" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 -msgid "Time in UTC" -msgstr "UTC 時間" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76 -msgid "" -"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " -"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" -"%{item." -"ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48 -msgid "" -"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " -"%{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56 -msgid "" -"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 -msgid "Tracking helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175 -#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34 -msgid "Traffic Rules" -msgstr "通訊規則" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 -msgid "" -"Traffic rules define policies for packets traveling between different zones, " -"for example to reject traffic between certain hosts or to open WAN ports on " -"the router." -msgstr "" -"通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放" -"路由器 WAN 上的埠。" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 -msgid "Tuesday" -msgstr "星期二" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18 -msgid "Unable to save contents: %s" -msgstr "無法儲存內容:%s" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 -msgid "Unknown or not installed conntrack helper \"%s\"" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143 -msgid "Unnamed NAT" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158 -msgid "Unnamed forward" -msgstr "未命名轉發" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 -msgid "Unnamed rule" -msgstr "未命名規則" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108 -msgid "Unnamed zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548 -msgid "Unrecognized protocol" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645 -msgid "" -"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " -"be converted to \"nat\" sections and the firewall will be restarted to apply " -"the updated configuration." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 -msgid "Use external IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 -msgid "Use internal IP address" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192 -msgid "" -"Use this option to classify zone traffic by raw, non-uci managed " -"network devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197 -msgid "" -"Use this option to classify zone traffic by source or destination subnet " -"instead of networks or devices." -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328 -msgid "Valid firewall mark required" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 -msgid "Wednesday" -msgstr "星期三" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 -msgid "Week Days" -msgstr "星期" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 -msgid "XOR firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313 -msgid "XOR mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121 -msgid "Zone ⇒ Forwardings" -msgstr "區域 ⇒ 轉發" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80 -msgid "Zones" -msgstr "區域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137 -msgid "accept" -msgstr "接受" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431 -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202 -msgid "any" -msgstr "所有" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "any zone" -msgstr "所有區域" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 -msgid "apply firewall mark" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370 -msgid "assign conntrack helper" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "day" -msgstr "日" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233 -msgid "do not rewrite" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369 -msgid "don't track" -msgstr "不跟蹤" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:136 -msgid "drop" -msgstr "丟棄" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "hour" -msgstr "小時" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "minute" -msgstr "分鐘" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135 -msgid "reject" -msgstr "拒絕" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60 -msgid "second" -msgstr "秒" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49 -msgid "this device" -msgstr "此裝置" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:187 -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:276 -msgid "this new zone" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351 -msgid "unlimited" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242 -msgid "unspecified" -msgstr "" - -#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336 -msgid "valid firewall mark" -msgstr "" - -#~ msgid "%s in %s" -#~ msgstr "%s 位於 %s" - -#~ msgid "%s%s with %s" -#~ msgstr "%s%s 和 %s" - -#~ msgid "%s, %s in %s" -#~ msgstr "%s, %s 位於 %s" - -#~ msgid "%d pkts. per %s" -#~ msgstr "%d 資料包/%s" - -#~ msgid "%d pkts. per %s, burst %d pkts." -#~ msgstr "%d 資料包/%s,突發 %d 資料包。" - -#~ msgid "%s and limit to %s" -#~ msgstr "%s 並限制到 %s" - -#~ msgid "Accept forward" -#~ msgstr "接受轉發" - -#~ msgid "Accept input" -#~ msgstr "接受入站" - -#~ msgid "Accept output" -#~ msgstr "接受出站" - -#~ msgid "Destination IP address" -#~ msgstr "目標 IP 位址" - -#~ msgid "Discard forward" -#~ msgstr "丟棄轉發" - -#~ msgid "Discard input" -#~ msgstr "丟棄入站" - -#~ msgid "Discard output" -#~ msgstr "丟棄出站" - -#~ msgid "Do not rewrite" -#~ msgstr "不重寫" - -#~ msgid "Do not track forward" -#~ msgstr "不跟蹤轉發" - -#~ msgid "Do not track input" -#~ msgstr "不跟蹤入站" - -#~ msgid "Do not track output" -#~ msgstr "不跟蹤出站" - -#~ msgid "Forward to" -#~ msgstr "轉發到" - -#~ msgid "From %s in %s" -#~ msgstr "來自 %s 位於 %s" - -#~ msgid "From %s in %s with source %s" -#~ msgstr "來自 %s 位於 %s 源於 %s" - -#~ msgid "From %s in %s with source %s and %s" -#~ msgstr "來自 %s 位於 %s 源埠 %s 源 MAC %s" - -#~ msgid "From %s on this device" -#~ msgstr "來自 %s 位於本裝置" - -#~ msgid "From %s on this device with source %s" -#~ msgstr "來自 %s 位於本裝置源於 %s" - -#~ msgid "From %s on this device with source %s and %s" -#~ msgstr "來自 %s 位於本裝置源埠 %s 源 MAC %s" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP 範圍" - -#~ msgid "IPs" -#~ msgstr "IP" - -#~ msgid "IPv4" -#~ msgstr "IPv4" - -#~ msgid "IPv6" -#~ msgstr "IPv6" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC" - -#~ msgid "Refuse forward" -#~ msgstr "拒絕轉發" - -#~ msgid "Refuse input" -#~ msgstr "拒絕入站" - -#~ msgid "Refuse output" -#~ msgstr "拒絕出站" - -#~ msgid "To %s at %s on this device" -#~ msgstr "到 %s 在 %s 位於本裝置" - -#~ msgid "To %s in %s" -#~ msgstr "到 %s 位於 %s" - -#~ msgid "To %s on this device" -#~ msgstr "到 %s 位於本裝置" - -#~ msgid "To %s, %s in %s" -#~ msgstr "到 %s, %s 位於 %s" - -#~ msgid "Via %s" -#~ msgstr "通過 %s" - -#~ msgid "Via %s at %s" -#~ msgstr "通過 %s 在 %s" - -#~ msgid "any host" -#~ msgstr "所有主機" - -#~ msgid "any router IP" -#~ msgstr "所有路由 IP" - -#~ msgid "not" -#~ msgstr "非" - -#~ msgid "port" -#~ msgstr "埠" - -#~ msgid "ports" -#~ msgstr "埠" - -#~ msgid "type" -#~ msgstr "型別" - -#~ msgid "types" -#~ msgstr "型別" - -#~ msgid "Force connection tracking" -#~ msgstr "強制連線追蹤" - -#~ msgid "Disable" -#~ msgstr "禁用" - -#~ msgid "Restart Firewall" -#~ msgstr "重啟防火牆" - -#~ msgid "Rule is disabled" -#~ msgstr "規則已禁用" - -#~ msgid "Rule is enabled" -#~ msgstr "規則已啟用" - -#~ msgid "Add" -#~ msgstr "新增" - -#~ msgid "Add and edit..." -#~ msgstr "新增並編輯…" - -#~ msgid "External zone" -#~ msgstr "外部區域" - -#~ msgid "New SNAT rule" -#~ msgstr "新建 SNAT 規則" - -#~ msgid "New forward rule" -#~ msgstr "新建轉發規則" - -#~ msgid "New input rule" -#~ msgstr "新建進入規則" - -#~ msgid "New port forward" -#~ msgstr "新建埠轉發" - -#~ msgid "New source NAT" -#~ msgstr "新建 Source NAT" - -#~ msgid "Open ports on router" -#~ msgstr "開啟路由器埠" - -#~ msgid "Other..." -#~ msgstr "其它..." - -#~ msgid "To source IP" -#~ msgstr "到源 IP" - -#~ msgid "To source port" -#~ msgstr "到源埠" - -#~ msgid "Output zone" -#~ msgstr "出站區域" - -#~ msgid "(Unnamed Entry)" -#~ msgstr "(未命名條目)" - -#~ msgid "(Unnamed Rule)" -#~ msgstr "(未命名規則)" - -#~ msgid "(Unnamed SNAT)" -#~ msgstr "(未命名 SNAT)" - -#~ msgid "Inter-Zone Forwarding" -#~ msgstr "埠觸發" - -#~ msgid "Match forwarded traffic to the given destination port or port range." -#~ msgstr "匹配指定目標埠或目標埠範圍的轉發流量。" - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host." -#~ msgstr "匹配來自客戶端主機上指定源埠或源埠範圍的入站流量。" - -#~ msgid "Rewrite matched traffic to the given address." -#~ msgstr "將匹配流量的源位址改寫成指定位址。" - -#~ msgid "" -#~ "Rewrite matched traffic to the given source port. May be left empty to " -#~ "only rewrite the IP address." -#~ msgstr "將匹配流量的源埠改寫成指定埠。留空只改寫 IP 位址。" - -#~ msgid "Rewrite to source %s" -#~ msgstr "源位址改寫成 %s" - -#~ msgid "Rewrite to source %s, %s" -#~ msgstr "源位址改寫成 %s, %s" - -#~ msgid "SNAT IP address" -#~ msgstr "SNAT IP 位址" - -#~ msgid "SNAT port" -#~ msgstr "SNAT 埠" - -#~ msgid "Source NAT" -#~ msgstr "Source NAT" - -#~ msgid "" -#~ "Source NAT is a specific form of masquerading which allows fine grained " -#~ "control over the source IP used for outgoing traffic, for example to map " -#~ "multiple WAN addresses to internal subnets." -#~ msgstr "" -#~ "Source NAT 是一種特殊形式的封包偽裝,它允許精細的控制傳出流量的源 IP,例" -#~ "如:將多個 WAN 位址對映到內部子網。" - -#~ msgid "Start Time (hh:mm:ss)" -#~ msgstr "開始時間(hh:mm:ss)" - -#~ msgid "Stop Time (hh:mm:ss)" -#~ msgstr "停止時間(hh:mm:ss)" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the port forwarding " -#~ "entry. In most cases there is no need to modify those settings." -#~ msgstr "本頁面可以更改埠轉發的高階設定。大多數情況下,不需要更改這些設定。" - -#~ msgid "" -#~ "This page allows you to change advanced properties of the traffic rule " -#~ "entry, such as matched source and destination hosts." -#~ msgstr "本頁面可以更改通訊規則的高階設定,比如:需匹配的源主機和目標主機。" - -#~ msgid "Unnamed SNAT" -#~ msgstr "未命名 SNAT" - -#~ msgid "" -#~ "You may specify multiple by selecting \"-- custom --\" and then entering " -#~ "protocols separated by space." -#~ msgstr "您也可以選擇“--自訂--”來定義多個協議,在多個協議間需加空格。" - -#~ msgid "Zone %q" -#~ msgstr "區域 %q" - -#~ msgid "traffic" -#~ msgstr "通訊" diff --git a/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json b/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json deleted file mode 100644 index f8a3553a7..000000000 --- a/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "admin/network/firewall": { - "title": "Firewall", - "order": 60, - "action": { - "type": "alias", - "path": "admin/network/firewall/zones" - }, - "depends": { - "acl": [ "luci-app-firewall" ], - "fs": { "/sbin/fw3": "executable" }, - "uci": { "firewall": true } - } - }, - - "admin/network/firewall/zones": { - "title": "General Settings", - "order": 10, - "action": { - "type": "view", - "path": "firewall/zones" - } - }, - - "admin/network/firewall/forwards": { - "title": "Port Forwards", - "order": 20, - "action": { - "type": "view", - "path": "firewall/forwards" - } - }, - - "admin/network/firewall/rules": { - "title": "Traffic Rules", - "order": 30, - "action": { - "type": "view", - "path": "firewall/rules" - } - }, - - "admin/network/firewall/snats": { - "title": "NAT Rules", - "order": 40, - "action": { - "type": "view", - "path": "firewall/snats" - } - }, - - - "admin/network/firewall/custom": { - "title": "Custom Rules", - "order": 50, - "action": { - "type": "view", - "path": "firewall/custom" - } - } -} diff --git a/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json b/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json deleted file mode 100644 index 17d1fbab1..000000000 --- a/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "luci-app-firewall": { - "description": "Grant access to firewall configuration", - "read": { - "file": { - "/etc/firewall.user": [ "read" ] - }, - "ubus": { - "file": [ "read" ], - "luci": [ "getConntrackHelpers" ] - }, - "uci": [ "firewall" ] - }, - "write": { - "file": { - "/etc/firewall.user": [ "write" ] - }, - "ubus": { - "file": [ "write" ] - }, - "uci": [ "firewall" ] - } - } -} From f700f2ef2699fd0eface58687bfd45524b2f9619 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 11 Dec 2024 16:53:25 +0100 Subject: [PATCH 078/199] Add luci-app-firewall --- luci-app-firewall/Makefile | 17 + .../luci-static/resources/tools/firewall.js | 703 +++++++ .../resources/view/firewall/custom.js | 33 + .../resources/view/firewall/forwards.js | 357 ++++ .../resources/view/firewall/ipsets.js | 219 ++ .../resources/view/firewall/rules.js | 524 +++++ .../resources/view/firewall/snats.js | 397 ++++ .../resources/view/firewall/zones.js | 395 ++++ luci-app-firewall/po/ar/firewall.po | 1589 ++++++++++++++ luci-app-firewall/po/bg/firewall.po | 1445 +++++++++++++ luci-app-firewall/po/bn_BD/firewall.po | 1431 +++++++++++++ luci-app-firewall/po/ca/firewall.po | 1461 +++++++++++++ luci-app-firewall/po/cs/firewall.po | 1488 ++++++++++++++ luci-app-firewall/po/da/firewall.po | 1651 +++++++++++++++ luci-app-firewall/po/de/firewall.po | 1679 +++++++++++++++ luci-app-firewall/po/el/firewall.po | 1444 +++++++++++++ luci-app-firewall/po/es/firewall.po | 1677 +++++++++++++++ luci-app-firewall/po/fa/firewall.po | 1633 +++++++++++++++ luci-app-firewall/po/fi/firewall.po | 1610 +++++++++++++++ luci-app-firewall/po/fr/firewall.po | 1676 +++++++++++++++ luci-app-firewall/po/ga/firewall.po | 1623 +++++++++++++++ luci-app-firewall/po/he/firewall.po | 1429 +++++++++++++ luci-app-firewall/po/hi/firewall.po | 1431 +++++++++++++ luci-app-firewall/po/hu/firewall.po | 1642 +++++++++++++++ luci-app-firewall/po/id/firewall.po | 1474 +++++++++++++ luci-app-firewall/po/it/firewall.po | 1632 +++++++++++++++ luci-app-firewall/po/ja/firewall.po | 1611 +++++++++++++++ luci-app-firewall/po/ka/firewall.po | 1460 +++++++++++++ luci-app-firewall/po/ko/firewall.po | 1452 +++++++++++++ luci-app-firewall/po/lt/firewall.po | 1625 +++++++++++++++ luci-app-firewall/po/mr/firewall.po | 1434 +++++++++++++ luci-app-firewall/po/ms/firewall.po | 1429 +++++++++++++ luci-app-firewall/po/nb_NO/firewall.po | 1456 +++++++++++++ luci-app-firewall/po/nl/firewall.po | 1629 +++++++++++++++ luci-app-firewall/po/pl/firewall.po | 1663 +++++++++++++++ luci-app-firewall/po/pt/firewall.po | 1680 +++++++++++++++ luci-app-firewall/po/pt_BR/firewall.po | 1675 +++++++++++++++ luci-app-firewall/po/ro/firewall.po | 1673 +++++++++++++++ luci-app-firewall/po/ru/firewall.po | 1678 +++++++++++++++ luci-app-firewall/po/si/firewall.po | 1431 +++++++++++++ luci-app-firewall/po/sk/firewall.po | 1472 +++++++++++++ luci-app-firewall/po/sr/firewall.po | 1431 +++++++++++++ luci-app-firewall/po/sv/firewall.po | 1487 ++++++++++++++ luci-app-firewall/po/templates/firewall.pot | 1418 +++++++++++++ luci-app-firewall/po/tr/firewall.po | 1661 +++++++++++++++ luci-app-firewall/po/uk/firewall.po | 1631 +++++++++++++++ luci-app-firewall/po/ur/firewall.po | 1430 +++++++++++++ luci-app-firewall/po/vi/firewall.po | 1594 ++++++++++++++ luci-app-firewall/po/yua/firewall.po | 1430 +++++++++++++ luci-app-firewall/po/zh_Hans/firewall.po | 1583 ++++++++++++++ luci-app-firewall/po/zh_Hant/firewall.po | 1826 +++++++++++++++++ .../share/luci/menu.d/luci-app-firewall.json | 72 + .../share/rpcd/acl.d/luci-app-firewall.json | 24 + .../usr/share/ucitrack/luci-app-firewall.json | 9 + 54 files changed, 69624 insertions(+) create mode 100644 luci-app-firewall/Makefile create mode 100644 luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js create mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js create mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js create mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js create mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js create mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js create mode 100644 luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js create mode 100644 luci-app-firewall/po/ar/firewall.po create mode 100644 luci-app-firewall/po/bg/firewall.po create mode 100644 luci-app-firewall/po/bn_BD/firewall.po create mode 100644 luci-app-firewall/po/ca/firewall.po create mode 100644 luci-app-firewall/po/cs/firewall.po create mode 100644 luci-app-firewall/po/da/firewall.po create mode 100644 luci-app-firewall/po/de/firewall.po create mode 100644 luci-app-firewall/po/el/firewall.po create mode 100644 luci-app-firewall/po/es/firewall.po create mode 100644 luci-app-firewall/po/fa/firewall.po create mode 100644 luci-app-firewall/po/fi/firewall.po create mode 100644 luci-app-firewall/po/fr/firewall.po create mode 100644 luci-app-firewall/po/ga/firewall.po create mode 100644 luci-app-firewall/po/he/firewall.po create mode 100644 luci-app-firewall/po/hi/firewall.po create mode 100644 luci-app-firewall/po/hu/firewall.po create mode 100644 luci-app-firewall/po/id/firewall.po create mode 100644 luci-app-firewall/po/it/firewall.po create mode 100644 luci-app-firewall/po/ja/firewall.po create mode 100644 luci-app-firewall/po/ka/firewall.po create mode 100644 luci-app-firewall/po/ko/firewall.po create mode 100644 luci-app-firewall/po/lt/firewall.po create mode 100644 luci-app-firewall/po/mr/firewall.po create mode 100644 luci-app-firewall/po/ms/firewall.po create mode 100644 luci-app-firewall/po/nb_NO/firewall.po create mode 100644 luci-app-firewall/po/nl/firewall.po create mode 100644 luci-app-firewall/po/pl/firewall.po create mode 100644 luci-app-firewall/po/pt/firewall.po create mode 100644 luci-app-firewall/po/pt_BR/firewall.po create mode 100644 luci-app-firewall/po/ro/firewall.po create mode 100644 luci-app-firewall/po/ru/firewall.po create mode 100644 luci-app-firewall/po/si/firewall.po create mode 100644 luci-app-firewall/po/sk/firewall.po create mode 100644 luci-app-firewall/po/sr/firewall.po create mode 100644 luci-app-firewall/po/sv/firewall.po create mode 100644 luci-app-firewall/po/templates/firewall.pot create mode 100644 luci-app-firewall/po/tr/firewall.po create mode 100644 luci-app-firewall/po/uk/firewall.po create mode 100644 luci-app-firewall/po/ur/firewall.po create mode 100644 luci-app-firewall/po/vi/firewall.po create mode 100644 luci-app-firewall/po/yua/firewall.po create mode 100644 luci-app-firewall/po/zh_Hans/firewall.po create mode 100644 luci-app-firewall/po/zh_Hant/firewall.po create mode 100644 luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json create mode 100644 luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json create mode 100644 luci-app-firewall/root/usr/share/ucitrack/luci-app-firewall.json diff --git a/luci-app-firewall/Makefile b/luci-app-firewall/Makefile new file mode 100644 index 000000000..1ae78e16f --- /dev/null +++ b/luci-app-firewall/Makefile @@ -0,0 +1,17 @@ +# +# Copyright (C) 2008-2014 The LuCI Team +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Firewall and port forwarding application +LUCI_DEPENDS:=+luci-base +uci-firewall + +PKG_LICENSE:=Apache-2.0 +PKG_MAINTAINER:=Jo-Philipp Wich + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js b/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js new file mode 100644 index 000000000..f9d7dc611 --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js @@ -0,0 +1,703 @@ +'use strict'; +'require baseclass'; +'require dom'; +'require ui'; +'require uci'; +'require form'; +'require network'; +'require firewall'; +'require validation'; +'require tools.prng as random'; + +var protocols = [ + 'ip', 0, 'IP', + 'hopopt', 0, 'HOPOPT', + 'icmp', 1, 'ICMP', + 'igmp', 2, 'IGMP', + 'ggp', 3 , 'GGP', + 'ipencap', 4, 'IP-ENCAP', + 'st', 5, 'ST', + 'tcp', 6, 'TCP', + 'egp', 8, 'EGP', + 'igp', 9, 'IGP', + 'pup', 12, 'PUP', + 'udp', 17, 'UDP', + 'hmp', 20, 'HMP', + 'xns-idp', 22, 'XNS-IDP', + 'rdp', 27, 'RDP', + 'iso-tp4', 29, 'ISO-TP4', + 'dccp', 33, 'DCCP', + 'xtp', 36, 'XTP', + 'ddp', 37, 'DDP', + 'idpr-cmtp', 38, 'IDPR-CMTP', + 'ipv6', 41, 'IPv6', + 'ipv6-route', 43, 'IPv6-Route', + 'ipv6-frag', 44, 'IPv6-Frag', + 'idrp', 45, 'IDRP', + 'rsvp', 46, 'RSVP', + 'gre', 47, 'GRE', + 'esp', 50, 'IPSEC-ESP', + 'ah', 51, 'IPSEC-AH', + 'skip', 57, 'SKIP', + 'icmpv6', 58, 'IPv6-ICMP', + 'ipv6-icmp', 58, 'IPv6-ICMP', + 'ipv6-nonxt', 59, 'IPv6-NoNxt', + 'ipv6-opts', 60, 'IPv6-Opts', + 'rspf', 73, 'RSPF', + 'rspf', 73, 'CPHB', + 'vmtp', 81, 'VMTP', + 'eigrp', 88, 'EIGRP', + 'ospf', 89, 'OSPFIGP', + 'ax.25', 93, 'AX.25', + 'ipip', 94, 'IPIP', + 'etherip', 97, 'ETHERIP', + 'encap', 98, 'ENCAP', + 'pim', 103, 'PIM', + 'ipcomp', 108, 'IPCOMP', + 'vrrp', 112, 'VRRP', + 'l2tp', 115, 'L2TP', + 'isis', 124, 'ISIS', + 'sctp', 132, 'SCTP', + 'fc', 133, 'FC', + 'mh', 135, 'Mobility-Header', + 'ipv6-mh', 135, 'Mobility-Header', + 'mobility-header', 135, 'Mobility-Header', + 'udplite', 136, 'UDPLite', + 'mpls-in-ip', 137, 'MPLS-in-IP', + 'manet', 138, 'MANET', + 'hip', 139, 'HIP', + 'shim6', 140, 'Shim6', + 'wesp', 141, 'WESP', + 'rohc', 142, 'ROHC', +]; + +function lookupProto(x) { + if (x == null || x === '') + return null; + + var s = String(x).toLowerCase(); + + for (var i = 0; i < protocols.length; i += 3) + if (s == protocols[i] || s == protocols[i+1]) + return [ protocols[i+1], protocols[i+2], protocols[i] ]; + + return [ -1, x, x ]; +} + +return baseclass.extend({ + fmt: function(fmtstr, args, values) { + var repl = [], + wrap = false, + tokens = []; + + if (values == null) { + values = []; + wrap = true; + } + + var get = function(args, key) { + var names = key.trim().split(/\./), + obj = args, + ctx = obj; + + for (var i = 0; i < names.length; i++) { + if (!L.isObject(obj)) + return null; + + ctx = obj; + obj = obj[names[i]]; + } + + if (typeof(obj) == 'function') + return obj.call(ctx); + + return obj; + }; + + var isset = function(val) { + if (L.isObject(val) && !dom.elem(val)) { + for (var k in val) + if (val.hasOwnProperty(k)) + return true; + + return false; + } + else if (Array.isArray(val)) { + return (val.length > 0); + } + else { + return (val !== null && val !== undefined && val !== '' && val !== false); + } + }; + + var parse = function(tokens, text) { + if (dom.elem(text)) { + tokens.push(''.format(values.length)); + values.push(text); + } + else { + tokens.push(String(text).replace(/\\(.)/g, '$1')); + } + }; + + for (var i = 0, last = 0; i <= fmtstr.length; i++) { + if (fmtstr.charAt(i) == '%' && fmtstr.charAt(i + 1) == '{') { + if (i > last) + parse(tokens, fmtstr.substring(last, i)); + + var j = i + 1, nest = 0; + + var subexpr = []; + + for (var off = j + 1, esc = false; j <= fmtstr.length; j++) { + var ch = fmtstr.charAt(j); + + if (esc) { + esc = false; + } + else if (ch == '\\') { + esc = true; + } + else if (ch == '{') { + nest++; + } + else if (ch == '}') { + if (--nest == 0) { + subexpr.push(fmtstr.substring(off, j)); + break; + } + } + else if (ch == '?' || ch == ':' || ch == '#') { + if (nest == 1) { + subexpr.push(fmtstr.substring(off, j)); + subexpr.push(ch); + off = j + 1; + } + } + } + + var varname = subexpr[0].trim(), + op1 = (subexpr[1] != null) ? subexpr[1] : '?', + if_set = (subexpr[2] != null && subexpr[2] != '') ? subexpr[2] : '%{' + varname + '}', + op2 = (subexpr[3] != null) ? subexpr[3] : ':', + if_unset = (subexpr[4] != null) ? subexpr[4] : ''; + + /* Invalid expression */ + if (nest != 0 || subexpr.length > 5 || varname == '') { + return fmtstr; + } + + /* enumeration */ + else if (op1 == '#' && subexpr.length == 3) { + var items = L.toArray(get(args, varname)); + + for (var k = 0; k < items.length; k++) { + tokens.push.apply(tokens, this.fmt(if_set, Object.assign({}, args, { + first: k == 0, + next: k > 0, + last: (k + 1) == items.length, + item: items[k] + }), values)); + } + } + + /* ternary expression */ + else if (op1 == '?' && op2 == ':' && (subexpr.length == 1 || subexpr.length == 3 || subexpr.length == 5)) { + var val = get(args, varname); + + if (subexpr.length == 1) + parse(tokens, isset(val) ? val : ''); + else if (isset(val)) + tokens.push.apply(tokens, this.fmt(if_set, args, values)); + else + tokens.push.apply(tokens, this.fmt(if_unset, args, values)); + } + + /* unrecognized command */ + else { + return fmtstr; + } + + last = j + 1; + i = j; + } + else if (i >= fmtstr.length) { + if (i > last) + parse(tokens, fmtstr.substring(last, i)); + } + } + + if (wrap) { + var node = E('span', {}, tokens.join('')), + repl = node.querySelectorAll('span[data-fmt-placeholder]'); + + for (var i = 0; i < repl.length; i++) + repl[i].parentNode.replaceChild(values[repl[i].getAttribute('data-fmt-placeholder')], repl[i]); + + return node; + } + else { + return tokens; + } + }, + + map_invert: function(v, fn) { + return L.toArray(v).map(function(v) { + v = String(v); + + if (fn != null && typeof(v[fn]) == 'function') + v = v[fn].call(v); + + return { + ival: v, + inv: v.charAt(0) == '!', + val: v.replace(/^!\s*/, '') + }; + }); + }, + + lookupProto: lookupProto, + + addDSCPOption: function(s, is_target) { + var o = s.taboption(is_target ? 'general' : 'advanced', form.Value, is_target ? 'set_dscp' : 'dscp', + is_target ? _('DSCP mark') : _('Match DSCP'), + is_target ? _('Apply the given DSCP class or value to established connections.') : _('Matches traffic carrying the specified DSCP marking.')); + + o.modalonly = true; + o.rmempty = !is_target; + o.placeholder = _('any'); + + if (is_target) + o.depends('target', 'DSCP'); + + o.value('CS0'); + o.value('CS1'); + o.value('CS2'); + o.value('CS3'); + o.value('CS4'); + o.value('CS5'); + o.value('CS6'); + o.value('CS7'); + o.value('BE'); + o.value('AF11'); + o.value('AF12'); + o.value('AF13'); + o.value('AF21'); + o.value('AF22'); + o.value('AF23'); + o.value('AF31'); + o.value('AF32'); + o.value('AF33'); + o.value('AF41'); + o.value('AF42'); + o.value('AF43'); + o.value('EF'); + o.validate = function(section_id, value) { + if (value == '') + return is_target ? _('DSCP mark required') : true; + + if (!is_target) + value = String(value).replace(/^!\s*/, ''); + + var m = value.match(/^(?:CS[0-7]|BE|AF[1234][123]|EF|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/); + + if (!m || (m[1] != null && +m[1] > 0x3f)) + return _('Invalid DSCP mark'); + + return true; + }; + + return o; + }, + + addMarkOption: function(s, is_target) { + var o = s.taboption(is_target ? 'general' : 'advanced', form.Value, + (is_target > 1) ? 'set_xmark' : (is_target ? 'set_mark' : 'mark'), + (is_target > 1) ? _('XOR mark') : (is_target ? _('Set mark') : _('Match mark')), + (is_target > 1) ? _('Apply a bitwise XOR of the given value and the existing mark value on established connections. Format is value[/mask]. If a mask is specified then those bits set in the mask are zeroed out.') : + (is_target ? _('Set the given mark value on established connections. Format is value[/mask]. If a mask is specified then only those bits set in the mask are modified.') : + _('Matches a specific firewall mark or a range of different marks.'))); + + o.modalonly = true; + o.rmempty = true; + + if (is_target > 1) + o.depends('target', 'MARK_XOR'); + else if (is_target) + o.depends('target', 'MARK_SET'); + + o.validate = function(section_id, value) { + if (value == '') + return is_target ? _('Valid firewall mark required') : true; + + if (!is_target) + value = String(value).replace(/^!\s*/, ''); + + var m = value.match(/^(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); + + if (!m || +m[1] > 0xffffffff || (m[2] != null && +m[2] > 0xffffffff)) + return _('Expecting: %s').format(_('valid firewall mark')); + + return true; + }; + + return o; + }, + + addLimitOption: function(s) { + var o = s.taboption('advanced', form.Value, 'limit', + _('Limit matching'), + _('Limits traffic matching to the specified rate.')); + + o.modalonly = true; + o.rmempty = true; + o.placeholder = _('unlimited'); + o.value('10/second'); + o.value('60/minute'); + o.value('3/hour'); + o.value('500/day'); + o.validate = function(section_id, value) { + if (value == '') + return true; + + var m = String(value).toLowerCase().match(/^(?:0x[0-9a-f]{1,8}|[0-9]{1,10})\/([a-z]+)$/), + u = ['second', 'minute', 'hour', 'day'], + i = 0; + + if (m) + for (i = 0; i < u.length; i++) + if (u[i].indexOf(m[1]) == 0) + break; + + if (!m || i >= u.length) + return _('Invalid limit value'); + + return true; + }; + + return o; + }, + + addLimitBurstOption: function(s) { + var o = s.taboption('advanced', form.Value, 'limit_burst', + _('Limit burst'), + _('Maximum initial number of packets to match: this number gets recharged by one every time the limit specified above is not reached, up to this number.')); + + o.modalonly = true; + o.rmempty = true; + o.placeholder = '5'; + o.datatype = 'uinteger'; + o.depends({ limit: null, '!reverse': true }); + + return o; + }, + + transformHostHints: function(family, hosts) { + var choice_values = [], + choice_labels = {}, + ip6addrs = {}, + ipaddrs = {}; + + for (var mac in hosts) { + L.toArray(hosts[mac].ipaddrs || hosts[mac].ipv4).forEach(function(ip) { + ipaddrs[ip] = mac; + }); + + L.toArray(hosts[mac].ip6addrs || hosts[mac].ipv6).forEach(function(ip) { + ip6addrs[ip] = mac; + }); + } + + if (!family || family == 'ipv4') { + L.sortedKeys(ipaddrs, null, 'addr').forEach(function(ip) { + var val = ip, + txt = hosts[ipaddrs[ip]].name || ipaddrs[ip]; + + choice_values.push(val); + choice_labels[val] = E([], [ val, ' (', E('strong', {}, [txt]), ')' ]); + }); + } + + if (!family || family == 'ipv6') { + L.sortedKeys(ip6addrs, null, 'addr').forEach(function(ip) { + var val = ip, + txt = hosts[ip6addrs[ip]].name || ip6addrs[ip]; + + choice_values.push(val); + choice_labels[val] = E([], [ val, ' (', E('strong', {}, [txt]), ')' ]); + }); + } + + return [choice_values, choice_labels]; + }, + + updateHostHints: function(map, section_id, option, family, hosts) { + var opt = map.lookupOption(option, section_id)[0].getUIElement(section_id), + choices = this.transformHostHints(family, hosts); + + opt.clearChoices(); + opt.addChoices(choices[0], choices[1]); + }, + + CBIDynamicMultiValueList: form.DynamicList.extend({ + renderWidget: function(/* ... */) { + var dl = form.DynamicList.prototype.renderWidget.apply(this, arguments), + inst = dom.findClassInstance(dl); + + inst.addItem = function(dl, value, text, flash) { + var values = L.toArray(value); + for (var i = 0; i < values.length; i++) + ui.DynamicList.prototype.addItem.call(this, dl, values[i], null, true); + }; + + return dl; + } + }), + + addIPOption: function(s, tab, name, label, description, family, hosts, multiple) { + var o = s.taboption(tab, multiple ? this.CBIDynamicMultiValueList : form.Value, name, label, description); + var fw4 = L.hasSystemFeature('firewall4'); + + o.modalonly = true; + o.datatype = (fw4 && validation.types.iprange) ? 'list(neg(or(ipmask("true"),iprange)))' : 'list(neg(ipmask("true")))'; + o.placeholder = multiple ? _('-- add IP --') : _('any'); + + if (family != null) { + var choices = this.transformHostHints(family, hosts); + + for (var i = 0; i < choices[0].length; i++) + o.value(choices[0][i], choices[1][choices[0][i]]); + } + + /* force combobox rendering */ + o.transformChoices = function() { + return this.super('transformChoices', []) || {}; + }; + + return o; + }, + + addLocalIPOption: function(s, tab, name, label, description, devices) { + var o = s.taboption(tab, form.Value, name, label, description); + var fw4 = L.hasSystemFeature('firewall4'); + + o.modalonly = true; + o.datatype = !fw4?'ip4addr("nomask")':'ipaddr("nomask")'; + o.placeholder = _('any'); + + L.sortedKeys(devices, 'name').forEach(function(dev) { + var ip4addrs = devices[dev].ipaddrs; + var ip6addrs = devices[dev].ip6addrs; + + if (!L.isObject(devices[dev].flags) || devices[dev].flags.loopback) + return; + + for (var i = 0; Array.isArray(ip4addrs) && i < ip4addrs.length; i++) { + if (!L.isObject(ip4addrs[i]) || !ip4addrs[i].address) + continue; + + o.value(ip4addrs[i].address, E([], [ + ip4addrs[i].address, ' (', E('strong', {}, [dev]), ')' + ])); + } + for (var i = 0; fw4 && Array.isArray(ip6addrs) && i < ip6addrs.length; i++) { + if (!L.isObject(ip6addrs[i]) || !ip6addrs[i].address) + continue; + + o.value(ip6addrs[i].address, E([], [ + ip6addrs[i].address, ' (', E('strong', {}, [dev]), ')' + ])); + } + }); + + return o; + }, + + addMACOption: function(s, tab, name, label, description, hosts) { + var o = s.taboption(tab, this.CBIDynamicMultiValueList, name, label, description); + + o.modalonly = true; + o.datatype = 'list(macaddr)'; + o.placeholder = _('-- add MAC --'); + + L.sortedKeys(hosts).forEach(function(mac) { + o.value(mac, E([], [ mac, ' (', E('strong', {}, [ + hosts[mac].name || + L.toArray(hosts[mac].ipaddrs || hosts[mac].ipv4)[0] || + L.toArray(hosts[mac].ip6addrs || hosts[mac].ipv6)[0] || + '?' + ]), ')' ])); + }); + + return o; + }, + + CBIProtocolSelect: form.MultiValue.extend({ + __name__: 'CBI.ProtocolSelect', + + addChoice: function(value, label) { + if (!Array.isArray(this.keylist) || this.keylist.indexOf(value) == -1) + this.value(value, label); + }, + + load: function(section_id) { + var cfgvalue = L.toArray(this.super('load', [section_id]) || this.default).sort(); + + ['all', 'tcp', 'udp', 'icmp'].concat(cfgvalue).forEach(L.bind(function(value) { + switch (value) { + case 'all': + case 'any': + case '*': + this.addChoice('all', _('Any')); + break; + + case 'tcpudp': + this.addChoice('tcp', 'TCP'); + this.addChoice('udp', 'UDP'); + break; + + default: + var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), + p = lookupProto(m ? +m[1] : value); + + this.addChoice(p[2], p[1]); + break; + } + }, this)); + + if (cfgvalue == '*' || cfgvalue == 'any' || cfgvalue == 'all') + cfgvalue = 'all'; + + return cfgvalue; + }, + + renderWidget: function(section_id, option_index, cfgvalue) { + var value = (cfgvalue != null) ? cfgvalue : this.default, + choices = this.transformChoices(); + + var widget = new ui.Dropdown(L.toArray(value), choices, { + id: this.cbid(section_id), + sort: this.keylist, + multiple: true, + optional: false, + display_items: 10, + dropdown_items: -1, + create: true, + disabled: (this.readonly != null) ? this.readonly : this.map.readonly, + validate: function(value) { + var v = L.toArray(value); + + for (var i = 0; i < v.length; i++) { + if (v[i] == 'all') + continue; + + var m = v[i].match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/); + + if (m ? (+m[1] > 255) : (lookupProto(v[i])[0] == -1)) + return _('Unrecognized protocol'); + } + + return true; + } + }); + + widget.createChoiceElement = function(sb, value) { + var p = lookupProto(value); + + return ui.Dropdown.prototype.createChoiceElement.call(this, sb, p[2], p[1]); + }; + + widget.createItems = function(sb, value) { + var values = L.toArray(value).map(function(value) { + var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/), + p = lookupProto(m ? +m[1] : value); + + return (p[0] > -1) ? p[2] : p[1]; + }); + + values.sort(); + + return ui.Dropdown.prototype.createItems.call(this, sb, values.join(' ')); + }; + + widget.toggleItem = function(sb, li) { + var value = li.getAttribute('data-value'), + toggleFn = ui.Dropdown.prototype.toggleItem; + + toggleFn.call(this, sb, li); + + if (value == 'all') { + var items = li.parentNode.querySelectorAll('li[data-value]'); + + for (var j = 0; j < items.length; j++) + if (items[j] !== li) + toggleFn.call(this, sb, items[j], false); + } + else { + toggleFn.call(this, sb, li.parentNode.querySelector('li[data-value="all"]'), false); + } + }; + + return widget.render(); + } + }), + + checkLegacySNAT: function() { + var redirects = uci.sections('firewall', 'redirect'); + + for (var i = 0; i < redirects.length; i++) + if ((redirects[i]['target'] || '').toLowerCase() == 'snat') + return true; + + return false; + }, + + handleMigration: function(ev) { + var redirects = uci.sections('firewall', 'redirect'), + tasks = []; + + var mapping = { + dest: 'src', + reflection: null, + reflection_src: null, + src_dip: 'snat_ip', + src_dport: 'snat_port', + src: null + }; + + for (var i = 0; i < redirects.length; i++) { + if ((redirects[i]['target'] || '').toLowerCase() != 'snat') + continue; + + var sid = uci.add('firewall', 'nat'); + + for (var opt in redirects[i]) { + if (opt.charAt(0) == '.') + continue; + + if (mapping[opt] === null) + continue; + + uci.set('firewall', sid, mapping[opt] || opt, redirects[i][opt]); + } + + uci.remove('firewall', redirects[i]['.name']); + } + + return uci.save() + .then(L.bind(ui.changes.init, ui.changes)) + .then(L.bind(ui.changes.apply, ui.changes)); + }, + + renderMigration: function() { + ui.showModal(_('Firewall configuration migration'), [ + E('p', _('The existing firewall configuration needs to be changed for LuCI to function properly.')), + E('p', _('Upon pressing "Continue", "redirect" sections with target "SNAT" will be converted to "nat" sections and the firewall will be restarted to apply the updated configuration.')), + E('div', { 'class': 'right' }, + E('button', { + 'class': 'btn cbi-button-action important', + 'click': ui.createHandlerFn(this, 'handleMigration') + }, _('Continue'))) + ]); + }, +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js new file mode 100644 index 000000000..1997a720c --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js @@ -0,0 +1,33 @@ +'use strict'; +'require view'; +'require fs'; +'require ui'; + +return view.extend({ + load: function() { + return L.resolveDefault(fs.read('/etc/firewall.user'), ''); + }, + + handleSave: function(ev) { + var value = (document.querySelector('textarea').value || '').trim().replace(/\r\n/g, '\n') + '\n'; + + return fs.write('/etc/firewall.user', value).then(function(rc) { + document.querySelector('textarea').value = value; + ui.addNotification(null, E('p', _('Contents have been saved.')), 'info'); + fs.exec('/etc/init.d/firewall', ['restart']); + }).catch(function(e) { + ui.addNotification(null, E('p', _('Unable to save contents: %s').format(e.message))); + }); + }, + + render: function(fwuser) { + return E([ + E('h2', _('Firewall - Custom Rules')), + E('p', {}, _('Custom rules allow you to execute arbitrary iptables commands which are not otherwise covered by the firewall framework. The commands are executed after each firewall restart, right after the default ruleset has been loaded.')), + E('p', {}, E('textarea', { 'style': 'width:100%', 'rows': 25 }, [ fwuser != null ? fwuser : '' ])) + ]); + }, + + handleSaveApply: null, + handleReset: null +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js new file mode 100644 index 000000000..34ab80425 --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js @@ -0,0 +1,357 @@ +'use strict'; +'require view'; +'require ui'; +'require rpc'; +'require uci'; +'require form'; +'require firewall as fwmodel'; +'require tools.firewall as fwtool'; +'require tools.widgets as widgets'; + +function rule_proto_txt(s, ctHelpers) { + var family = (uci.get('firewall', s, 'family') || '').toLowerCase().replace(/^(?:all|\*)$/, 'any'); + var dip = uci.get('firewall', s, 'dest_ip') || ''; + var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { + return (p != '*' && p != 'any' && p != 'all'); + }).map(function(p) { + var pr = fwtool.lookupProto(p); + return { + num: pr[0], + name: pr[1], + types: (pr[0] == 1 || pr[0] == 58) ? L.toArray(uci.get('firewall', s, 'icmp_type')) : null + }; + }); + + var m = String(uci.get('firewall', s, 'helper') || '').match(/^(!\s*)?(\S+)$/); + var h = m ? { + val: m[0].toUpperCase(), + inv: m[1], + name: (ctHelpers.filter(function(ctH) { return ctH.name.toLowerCase() == m[2].toLowerCase() })[0] || {}).description + } : null; + + m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); + var f = m ? { + val: m[0].toUpperCase().replace(/X/g, 'x'), + inv: m[1], + num: '0x%02X'.format(+m[2]), + mask: m[3] ? '0x%02X'.format(+m[3]) : null + } : null; + + return fwtool.fmt(_('Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}'), { + ipv4: ((!family && dip.indexOf(':') == -1) || family == 'any' || (!family && !dip) || family == 'ipv4'), + ipv6: ((!family && dip.indexOf(':') != -1) || family == 'any' || family == 'ipv6'), + proto: proto, + helper: h, + mark: f + }); +} + +function rule_src_txt(s, hosts) { + var z = uci.get('firewall', s, 'src'); + + return fwtool.fmt(_('From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}'), { + src: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(z) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), + src_mac: fwtool.map_invert(uci.get('firewall', s, 'src_mac'), 'toUpperCase').map(function(v) { return Object.assign(v, { hint: hosts[v.val] }) }), + src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')) + }); +} + +function rule_dest_txt(s) { + return fwtool.fmt(_('To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { + dest: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(null) }, [E('em', _('this device'))]), + dest_ip: fwtool.map_invert(uci.get('firewall', s, 'src_dip'), 'toLowerCase'), + dest_port: fwtool.map_invert(uci.get('firewall', s, 'src_dport')) + }); +} + +function rule_limit_txt(s) { + var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), + l = m ? { + num: +m[1], + unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], + burst: uci.get('firewall', s, 'limit_burst') + } : null; + + if (!l) + return ''; + + return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); +} + +function rule_target_txt(s) { + var z = uci.get('firewall', s, 'dest'); + + return fwtool.fmt(_('Forward to %{dest}%{dest_ip? IP %{dest_ip}}%{dest_port? port %{dest_port}}'), { + dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + dest_ip: (uci.get('firewall', s, 'dest_ip') || '').toLowerCase(), + dest_port: uci.get('firewall', s, 'dest_port') + }); +} + +function validate_opt_family(m, section_id, opt) { + var dopt = m.section.getOption('dest_ip'), + fmopt = m.section.getOption('family'); + + if (!dopt.isValid(section_id) && opt != 'dest_ip') + return true; + if (!fmopt.isValid(section_id) && opt != 'family') + return true; + + var dip = dopt.formvalue(section_id) || '', + fm = fmopt.formvalue(section_id) || ''; + + if (fm == '' || (fm == 'any' && dip == '') || (fm == 'ipv6' && (dip.indexOf(':') != -1 || dip == '')) || (fm == 'ipv4' && dip.indexOf(':') == -1)) + return true; + + return _('Address family, Internal IP address must match'); +} + +return view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + callConntrackHelpers: rpc.declare({ + object: 'luci', + method: 'getConntrackHelpers', + expect: { result: [] } + }), + + callNetworkDevices: rpc.declare({ + object: 'luci-rpc', + method: 'getNetworkDevices', + expect: { '': {} } + }), + + load: function() { + return Promise.all([ + this.callHostHints(), + this.callConntrackHelpers(), + this.callNetworkDevices(), + uci.load('firewall') + ]); + }, + + render: function(data) { + if (fwtool.checkLegacySNAT()) + return fwtool.renderMigration(); + else + return this.renderForwards(data); + }, + + renderForwards: function(data) { + var hosts = data[0], + ctHelpers = data[1], + devs = data[2], + m, s, o; + var fw4 = L.hasSystemFeature('firewall4'); + + m = new form.Map('firewall', _('Firewall - Port Forwards'), + _('Port forwarding allows remote computers on the Internet to connect to a specific computer or service within the private LAN.')); + + s = m.section(form.GridSection, 'redirect', _('Port Forwards')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.cloneable = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + + s.filter = function(section_id) { + return (uci.get('firewall', section_id, 'target') != 'SNAT'); + }; + + s.sectiontitle = function(section_id) { + return uci.get('firewall', section_id, 'name') || _('Unnamed forward'); + }; + + s.handleAdd = function(ev) { + var config_name = this.uciconfig || this.map.config, + section_id = uci.add(config_name, this.sectiontype); + + uci.set(config_name, section_id, 'dest', 'lan'); + uci.set(config_name, section_id, 'target', 'DNAT'); + + m.addedSection = section_id; + this.renderMoreOptionsModal(section_id); + }; + + o = s.taboption('general', form.Value, 'name', _('Name')); + o.placeholder = _('Unnamed forward'); + o.modalonly = true; + + if (fw4) { + o = s.taboption('general', form.ListValue, 'family', _('Restrict to address family')); + o.modalonly = true; + o.rmempty = true; + o.value('any', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.value('', _('automatic')); // infer from zone or used IP addresses + o.cfgvalue = function(section_id) { + var val = this.map.data.get(this.map.config, section_id, 'family'); + + if (!val) + return ''; + else if (val == 'any' || val == 'all' || val == '*') + return 'any'; + else if (val == 'inet' || String(val).indexOf('4') != -1) + return 'ipv4'; + else if (String(val).indexOf('6') != -1) + return 'ipv6'; + }; + o.validate = function(section_id, value) { + fwtool.updateHostHints(this.map, section_id, 'dest_ip', value, hosts); + return !fw4?true:validate_opt_family(this, section_id, 'family'); + }; + } + + o = s.option(form.DummyValue, '_match', _('Match')); + o.modalonly = false; + o.textvalue = function(s) { + return E('small', [ + rule_proto_txt(s, ctHelpers), E('br'), + rule_src_txt(s, hosts), E('br'), + rule_dest_txt(s), E('br'), + rule_limit_txt(s) + ]); + }; + + o = s.option(form.ListValue, '_dest', _('Action')); + o.modalonly = false; + o.textvalue = function(s) { + return E('small', [ + rule_target_txt(s) + ]); + }; + + o = s.option(form.Flag, 'enabled', _('Enable')); + o.modalonly = false; + o.default = o.enabled; + o.editable = true; + + o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); + o.modalonly = true; + o.default = 'tcp udp'; + + o = s.taboption('general', widgets.ZoneSelect, 'src', _('Source zone')); + o.modalonly = true; + o.rmempty = false; + o.nocreate = true; + o.default = 'wan'; + + o = s.taboption('advanced', form.Value, 'ipset', _('Use ipset')); + uci.sections('firewall', 'ipset', function(s) { + if (typeof(s.name) == 'string') + o.value(s.name, s.comment ? '%s (%s)'.format(s.name, s.comment) : s.name); + }); + o.modalonly = true; + o.rmempty = true; + + o = fwtool.addMACOption(s, 'advanced', 'src_mac', _('Source MAC address'), + _('Only match incoming traffic from these MACs.'), hosts); + o.rmempty = true; + o.datatype = 'list(neg(macaddr))'; + + o = fwtool.addIPOption(s, 'advanced', 'src_ip', _('Source IP address'), + _('Only match incoming traffic from this IP or range.'), !fw4?'ipv4':'', hosts); + o.rmempty = true; + o.datatype = !fw4?'neg(ipmask4("true"))':'neg(ipmask("true"))'; + + o = s.taboption('advanced', form.Value, 'src_port', _('Source port'), + _('Only match incoming traffic originating from the given source port or port range on the client host')); + o.modalonly = true; + o.rmempty = true; + o.datatype = 'neg(portrange)'; + o.placeholder = _('any'); + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = fwtool.addLocalIPOption(s, 'advanced', 'src_dip', _('External IP address'), + _('Only match incoming traffic directed at the given IP address.'), devs); + o.datatype = !fw4?'neg(ipmask4("true"))':'neg(ipmask("true"))'; + o.rmempty = true; + + o = s.taboption('general', form.Value, 'src_dport', _('External port'), + _('Match incoming traffic directed at the given destination port or port range on this host')); + o.modalonly = true; + o.rmempty = false; + o.datatype = 'neg(portrange)'; + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Internal zone')); + o.modalonly = true; + o.rmempty = true; + o.nocreate = true; + + o = fwtool.addIPOption(s, 'general', 'dest_ip', _('Internal IP address'), + _('Redirect matched incoming traffic to the specified internal host'), !fw4?'ipv4':'', hosts); + o.rmempty = true; + o.datatype = !fw4?'ipmask4':'ipmask'; + + o = s.taboption('general', form.Value, 'dest_port', _('Internal port'), + _('Redirect matched incoming traffic to the given port on the internal host')); + o.modalonly = true; + o.rmempty = true; + o.placeholder = _('any'); + o.datatype = 'portrange'; + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('advanced', form.Flag, 'reflection', _('Enable NAT Loopback')); + o.modalonly = true; + o.rmempty = true; + o.default = o.enabled; + + o = s.taboption('advanced', form.ListValue, 'reflection_src', _('Loopback source IP'), _('Specifies whether to use the external or the internal IP address for reflected traffic.')); + o.modalonly = true; + o.depends('reflection', '1'); + o.value('internal', _('Use internal IP address')); + o.value('external', _('Use external IP address')); + o.write = function(section_id, value) { + uci.set('firewall', section_id, 'reflection_src', (value != 'internal') ? value : null); + }; + + o = s.taboption('advanced', widgets.ZoneSelect, 'reflection_zone', _('Reflection zones'), _('Zones from which reflection rules shall be created. If unset, only the destination zone is used.')); + o.nocreate = true; + o.multiple = true; + o.modalonly = true; + o.depends('reflection', '1'); + + o = s.taboption('advanced', form.Value, 'helper', _('Match helper'), _('Match traffic using the specified connection tracking helper.')); + o.modalonly = true; + o.placeholder = _('any'); + for (var i = 0; i < ctHelpers.length; i++) + o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); + o.validate = function(section_id, value) { + if (value == '' || value == null) + return true; + + value = value.replace(/^!\s*/, ''); + + for (var i = 0; i < ctHelpers.length; i++) + if (value == ctHelpers[i].name) + return true; + + return _('Unknown or not installed conntrack helper "%s"').format(value); + }; + + fwtool.addMarkOption(s, false); + fwtool.addLimitOption(s); + fwtool.addLimitBurstOption(s); + + if (!L.hasSystemFeature('firewall4')) { + o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), + _('Passes additional arguments to iptables. Use with care!')); + o.modalonly = true; + o.rmempty = true; + } + + return m.render(); + } +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js new file mode 100644 index 000000000..cf3b8818d --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js @@ -0,0 +1,219 @@ +'use strict'; +'require view'; +'require uci'; +'require form'; +'require firewall'; +'require tools.firewall as fwtool'; + + +return view.extend({ + + load: function() { + return Promise.all([ + uci.load('firewall') + ]); + }, + + render: function(data) { + let m, s, o; + + m = new form.Map('firewall', _('Firewall - IP sets'), + _('firewall4 supports referencing and creating IP sets to simplify matching of large address lists without the need to create one rule per item to match. Port ranges in ipsets are unsupported by firewall4.
')); + + var have_fw4 = L.hasSystemFeature('firewall4'); + + if (have_fw4) { + s = m.section(form.NamedSection, 'fwver', 'fwver', '', _('Your device runs firewall4.')); + } else { + s = m.section(form.NamedSection, 'fwver', 'fwver', '', _('Your device does not run firewall4.')); + } + + + s = m.section(form.GridSection, 'ipset', _('IP Sets')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.cloneable = true; + s.nodescriptions = true; + + + /* refer to: https://ipset.netfilter.org/ipset.man.html */ + if (have_fw4) { + o = s.option(form.Value, 'name', _('Name')); + o.optional = false; + o.rmempty = false; + o.validate = function (section_id, value) { + if (!/^[a-zA-Z_.][a-zA-Z0-9\/_.-]*$/.test(value)) + return _('Invalid set name'); + + return true; + }; + } else { + o = s.option(form.Value, 'name', _('Name')); + o.depends({ external: '' }); + /* Default: (none) if external is unset + value of external if external is set */ + } + o.placeholder = _('Unnamed set'); + + + /* comment requires https://git.openwrt.org/?p=project/firewall4.git;a=commitdiff;h=39e8c70957c795bf0c12f04299170ae86c6efdf8 */ + o = s.option(form.Value, 'comment', _('Comment')); + o.placeholder = _('Comment'); + o.modalonly = true; + o.rmempty = true; + + + o = s.option(form.ListValue, 'family', _('Family')); + o.value('ipv4', _('IPv4')); + o.value('ipv6', _('IPv6')); + o.default = _('ipv4'); + + + /* Direction src, dst; (Data)Types: ip, port, mac, net or set + Tuples: direction_datatype e.g. src_port, dest_net */ + o = s.option(form.DynamicList, 'match', _('Packet Field Match'), + _('Packet fields to match upon.
' + + 'Syntax: direction_datatype. e.g.: src_port, dest_net.
' + + 'Directions: src, dst. Datatypes: ip, port, mac, net, set.
' + + 'Direction prefixes are optional.
' + + '*Note: datatype set is unsupported in fw4.')); + o.value('ip', _('ip: IP addr')); + o.value('port', _('port: Port')); + o.value('mac', _('mac: MAC addr')); + o.value('net', _('net: (sub)net')); + if (!have_fw4) + o.value('set', _('set: ipset*')); + o.value('src_ip', _('src_ip: Source IP')); + o.value('src_port', _('src_port: Source Port')); + o.value('src_mac', _('src_mac: Source MAC addr')); + o.value('src_net', _('src_net: Source (sub)net')); + if (!have_fw4) + o.value('src_set', _('src_Set: Source ipset*')); // fw4 unsupported + o.value('dest_ip', _('dest_ip: Destination IP')); + o.value('dest_port', _('dest_port: Destination Port')); + o.value('dest_mac', _('dest_mac: Destination MAC addr')); + o.value('dest_net', _('dest_net: Destination (sub)net')); + if (!have_fw4) + o.value('dest_set', _('dest_set: Destination ipset*')); // fw4 unsupported + o.optional = false; + o.rmempty = false; + + + // TODO: if/when firewall5 arrives, this 'else' check must change. + if (have_fw4) { + + //we have fw4 + o = s.option(form.DynamicList, 'entry', _('IPs/Networks/MACs'), + _('macaddr|ip[/cidr]
')); + o.datatype = 'or(ipaddr,macaddr)'; + o.rmempty = true; + + + o = s.option(form.Value, 'maxelem', _('Max Entries'), + _('up to 65536 entries.')); + o.datatype = 'port'; //covers 16 bit size + o.modalonly = true; + o.rmempty = true; + + } else { + // this else section is intended to handle firewall3 + + o = s.option(form.Value, 'external', _('Refer To External Set')); + /* Todo: loop to fill o.values with all other ipset names except itself */ + o.rmempty = true; + o.optional = true; + + + /* 'storage' depends on fw3. It must be removed for fw4 */ + //aka 'method' in netfilter terminology. + o = s.option(form.ListValue, 'storage', _('Storage Method')); + o.value('bitmap', _('bitmap')); //ipv4 only + o.value('hash', _('hash')); + o.value('list', _('list')); + o.validate = function(section_id, value) { + var family = this.section.formvalue(section_id, 'family'); + if (value.match(/bitmap/) && !family.match(/ipv4/)) + return _('bitmap is ipv4 only'); + return true; + } + + /* this iprange differs from netfilters range fromip-toip|ip/cidr: + uci enforces a datatype = cidr in order to be able to enter + an IP for all storage/data types. */ + o = s.option(form.Value, 'iprange', _('IP (range)'), + _('ip[/cidr]
'+ + 'For use with Match datatypes: *_ip.')); + o.datatype = 'ipaddr'; + o.depends({family: 'ipv4', storage: 'bitmap', match: /_ip|_mac/ }); + o.depends({storage: 'hash', match: /_ip/ }); + + + o = s.option(form.DynamicList, 'entry', _('IPs/Networks'), + _('ip[/cidr]
')); + o.datatype = 'or(ipaddr,macaddr)'; + o.depends({storage: 'hash', match: /_ip|_net|_mac/ }); + + + o = s.option(form.Value, 'portrange', _('Port range'), + _('fromport-toport')); + o.datatype = 'neg(portrange)'; + o.depends({family: 'ipv4', storage: 'bitmap', match: /_port/ }); + o.depends({family: 'ipv4', storage: 'hash', match: /_port/ }); + o.depends({family: 'ipv6', storage: 'hash', match: /_port/ }); + + + o = s.option(form.Value, 'netmask', _('Netmask')); + o.datatype = 'or(ip4prefix,ip6prefix)'; + o.depends({family: 'ipv4', storage: 'bitmap', match: /_ip/ }); + o.depends({storage: 'hash', match: /_ip/}); + + + o = s.option(form.Value, 'maxelem', _('Max Length'), + _('up to 65536 entries.')); + o.datatype = 'port'; //covers 16 bit size + o.depends('storage', 'hash'); + o.depends('storage', 'list'); + o.modalonly = true; + + + o = s.option(form.Value, 'hashsize', _('Initial Hash Size')); + o.depends('storage', 'hash'); + o.placeholder = _('1024'); + o.modalonly = true; + + } + + o = s.option(form.FileUpload, 'loadfile', _('Include File'), + _('Path to file of CIDRs, subnets, host IPs, etc.
')); + o.root_directory = '/etc/luci-uploads'; + o.enable_delete = true; + o.enable_upload = true; + o.datatype = 'file'; + o.rmempty = true; + + + o = s.option(form.Value, 'timeout', _('Timeout'), + _('Unit: seconds. Default 0 means the entry is added permanently to the set.
' + + 'Max: 2147483 seconds.')); + o.placeholder = _('0'); + o.modalonly = true; + o.rmempty = true; + + + o = s.option(form.Flag, 'counters', _('Counters'), + _('Enables packet and byte count tracking for the set.')); + o.modalonly = true; + o.rmempty = true; + o.default = false; + + + o = s.option(form.Flag, 'enabled', _('Enabled')); + o.default = true; + o.editable = true; + o.modalonly = false; + + + return m.render(); + } +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js new file mode 100644 index 000000000..25c7568a9 --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js @@ -0,0 +1,524 @@ +'use strict'; +'require view'; +'require ui'; +'require rpc'; +'require uci'; +'require form'; +'require firewall as fwmodel'; +'require tools.firewall as fwtool'; +'require tools.widgets as widgets'; + +function rule_proto_txt(s, ctHelpers) { + var f = (uci.get('firewall', s, 'family') || '').toLowerCase().replace(/^(?:any|\*)$/, ''); + + var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { + return (p != '*' && p != 'any' && p != 'all'); + }).map(function(p) { + var pr = fwtool.lookupProto(p); + return { + num: pr[0], + name: pr[1], + types: (pr[0] == 1 || pr[0] == 58) ? L.toArray(uci.get('firewall', s, 'icmp_type')) : null + }; + }); + + var m = String(uci.get('firewall', s, 'helper') || '').match(/^(!\s*)?(\S+)$/); + var h = m ? { + val: m[0].toUpperCase(), + inv: m[1], + name: (ctHelpers.filter(function(ctH) { return ctH.name.toLowerCase() == m[2].toLowerCase() })[0] || {}).description + } : null; + + m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); + var w = m ? { + val: m[0].toUpperCase().replace(/X/g, 'x'), + inv: m[1], + num: '0x%02X'.format(+m[2]), + mask: m[3] ? '0x%02X'.format(+m[3]) : null + } : null; + + m = String(uci.get('firewall', s, 'dscp')).match(/^(!\s*)?(?:(CS[0-7]|BE|AF[1234][123]|EF)|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/); + var d = m ? { + val: m[0], + inv: m[1], + name: m[2], + num: m[3] ? '0x%02X'.format(+m[3]) : null + } : null; + + return fwtool.fmt(_('%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}'), { + ipv4: (!f || f == 'ipv4'), + ipv6: (!f || f == 'ipv6'), + src: uci.get('firewall', s, 'src'), + dest: uci.get('firewall', s, 'dest'), + proto: proto, + helper: h, + mark: w, + dscp: d + }); +} + +function rule_src_txt(s, hosts) { + var z = uci.get('firewall', s, 'src'), + d = (uci.get('firewall', s, 'direction') == 'in') ? uci.get('firewall', s, 'device') : null; + + return fwtool.fmt(_('From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}'), { + src: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(z) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), + src_mac: fwtool.map_invert(uci.get('firewall', s, 'src_mac'), 'toUpperCase').map(function(v) { return Object.assign(v, { hint: hosts[v.val] }) }), + src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')), + src_device: d + }); +} + +function rule_dest_txt(s) { + var z = uci.get('firewall', s, 'dest'), + d = (uci.get('firewall', s, 'direction') == 'out') ? uci.get('firewall', s, 'device') : null; + + return fwtool.fmt(_('To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { + dest: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(z) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + dest_ip: fwtool.map_invert(uci.get('firewall', s, 'dest_ip'), 'toLowerCase'), + dest_port: fwtool.map_invert(uci.get('firewall', s, 'dest_port')), + dest_device: d + }); +} + +function rule_limit_txt(s) { + var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), + l = m ? { + num: +m[1], + unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], + burst: uci.get('firewall', s, 'limit_burst') + } : null; + + if (!l) + return ''; + + return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); +} + +function rule_target_txt(s, ctHelpers) { + var t = uci.get('firewall', s, 'target'), + h = (uci.get('firewall', s, 'set_helper') || '').toUpperCase(), + s = { + target: t, + src: uci.get('firewall', s, 'src'), + dest: uci.get('firewall', s, 'dest'), + set_helper: h, + set_mark: uci.get('firewall', s, 'set_mark'), + set_xmark: uci.get('firewall', s, 'set_xmark'), + set_dscp: uci.get('firewall', s, 'set_dscp'), + helper_name: (ctHelpers.filter(function(ctH) { return ctH.name.toUpperCase() == h })[0] || {}).description + }; + + switch (t) { + case 'DROP': + return fwtool.fmt(_('Drop %{src?%{dest?forward:input}:output}'), s); + + case 'ACCEPT': + return fwtool.fmt(_('Accept %{src?%{dest?forward:input}:output}'), s); + + case 'REJECT': + return fwtool.fmt(_('Reject %{src?%{dest?forward:input}:output}'), s); + + case 'NOTRACK': + return fwtool.fmt(_('Do not track %{src?%{dest?forward:input}:output}'), s); + + case 'HELPER': + return fwtool.fmt(_('Assign conntrack helper %{set_helper}'), s); + + case 'MARK': + return fwtool.fmt(_('%{set_mark?Assign:XOR} firewall mark %{set_mark?:%{set_xmark}}'), s); + + case 'DSCP': + return fwtool.fmt(_('Assign DSCP classification %{set_dscp}'), s); + + default: + return t; + } +} + +return view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + callConntrackHelpers: rpc.declare({ + object: 'luci', + method: 'getConntrackHelpers', + expect: { result: [] } + }), + + load: function() { + return Promise.all([ + this.callHostHints(), + this.callConntrackHelpers(), + uci.load('firewall') + ]); + }, + + render: function(data) { + if (fwtool.checkLegacySNAT()) + return fwtool.renderMigration(); + else + return this.renderRules(data); + }, + + renderRules: function(data) { + var hosts = data[0], + ctHelpers = data[1], + m, s, o; + + m = new form.Map('firewall', _('Firewall - Traffic Rules'), + _('Traffic rules define policies for packets travelling between different zones, for example to reject traffic between certain hosts or to open WAN ports on the router.')); + + s = m.section(form.GridSection, 'rule', _('Traffic Rules')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.cloneable = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + s.tab('timed', _('Time Restrictions')); + + s.filter = function(section_id) { + return (uci.get('firewall', section_id, 'target') != 'SNAT'); + }; + + s.sectiontitle = function(section_id) { + return uci.get('firewall', section_id, 'name') || _('Unnamed rule'); + }; + + s.handleAdd = function(ev) { + var config_name = this.uciconfig || this.map.config, + section_id = uci.add(config_name, this.sectiontype), + opt1 = this.getOption('src'), + opt2 = this.getOption('dest'); + + opt1.default = 'wan'; + opt2.default = 'lan'; + + this.addedSection = section_id; + this.renderMoreOptionsModal(section_id); + + delete opt1.default; + delete opt2.default; + }; + + o = s.taboption('general', form.Value, 'name', _('Name')); + o.placeholder = _('Unnamed rule'); + o.modalonly = true; + + o = s.option(form.DummyValue, '_match', _('Match')); + o.modalonly = false; + o.textvalue = function(s) { + return E('small', [ + rule_proto_txt(s, ctHelpers), E('br'), + rule_src_txt(s, hosts), E('br'), + rule_dest_txt(s), E('br'), + rule_limit_txt(s) + ]); + }; + + o = s.option(form.ListValue, '_target', _('Action')); + o.modalonly = false; + o.textvalue = function(s) { + return rule_target_txt(s, ctHelpers); + }; + + o = s.option(form.Flag, 'enabled', _('Enable')); + o.modalonly = false; + o.default = o.enabled; + o.editable = true; + o.tooltip = function(section_id) { + var weekdays = uci.get('firewall', section_id, 'weekdays'); + var monthdays = uci.get('firewall', section_id, 'monthdays'); + var start_time = uci.get('firewall', section_id, 'start_time'); + var stop_time = uci.get('firewall', section_id, 'stop_time'); + var start_date = uci.get('firewall', section_id, 'start_date'); + var stop_date = uci.get('firewall', section_id, 'stop_date'); + + if (weekdays || monthdays || start_time || stop_time || start_date || stop_date ) + return _('Time restrictions are enabled for this rule'); + + return null; + }; + + o = s.taboption('advanced', form.ListValue, 'direction', _('Match device')); + o.modalonly = true; + o.value('', _('unspecified')); + o.value('in', _('Inbound device')); + o.value('out', _('Outbound device')); + o.cfgvalue = function(section_id) { + var val = uci.get('firewall', section_id, 'direction'); + switch (val) { + case 'in': + case 'ingress': + return 'in'; + + case 'out': + case 'egress': + return 'out'; + } + + return null; + }; + + o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Device name'), + _('Specifies whether to tie this traffic rule to a specific inbound or outbound network device.')); + o.modalonly = true; + o.noaliases = true; + o.rmempty = false; + o.depends('direction', 'in'); + o.depends('direction', 'out'); + + o = s.taboption('advanced', form.ListValue, 'family', _('Restrict to address family')); + o.modalonly = true; + o.rmempty = true; + o.value('', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.validate = function(section_id, value) { + fwtool.updateHostHints(this.map, section_id, 'src_ip', value, hosts); + fwtool.updateHostHints(this.map, section_id, 'dest_ip', value, hosts); + return true; + }; + + o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); + o.modalonly = true; + o.default = 'tcp udp'; + + o = s.taboption('advanced', form.MultiValue, 'icmp_type', _('Match ICMP type')); + o.modalonly = true; + o.multiple = true; + o.custom = true; + o.cast = 'table'; + o.placeholder = _('any/all'); + o.value('address-mask-reply'); + o.value('address-mask-request'); + o.value('address-unreachable'); /* icmpv6 1:3 */ + o.value('bad-header'); /* icmpv6 4:0 */ + o.value('certification-path-solicitation-message'); /* icmpv6 148 */ + o.value('certification-path-advertisement-message'); /* icmpv6 149 */ + o.value('communication-prohibited'); + o.value('destination-unreachable'); + o.value('duplicate-address-request'); /* icmpv6 157 */ + o.value('duplicate-address-confirmation'); /* icmpv6 158 */ + o.value('echo-reply'); + o.value('echo-request'); + o.value('extended-echo-request'); /* icmpv6 160 */ + o.value('extended-echo-reply'); /* icmpv6 161 */ + o.value('fmipv6-message'); /* icmpv6 154 */ + o.value('fragmentation-needed'); + o.value('home-agent-address-discovery-reply-message'); /* icmpv6 145 */ + o.value('home-agent-address-discovery-request-message'); /* icmpv6 144 */ + o.value('host-precedence-violation'); + o.value('host-prohibited'); + o.value('host-redirect'); + o.value('host-unknown'); + o.value('host-unreachable'); + o.value('ilnpv6-locator-update-message'); /* icmpv6 156 */ + o.value('inverse-neighbour-discovery-advertisement-message'); /* icmpv6 142 */ + o.value('inverse-neighbour-discovery-solicitation-message'); /* icmpv6 141 */ + o.value('ip-header-bad'); + o.value('mobile-prefix-advertisement'); /* icmpv6 147 */ + o.value('mobile-prefix-solicitation'); /* icmpv6 146 */ + o.value('mpl-control-message'); /* icmpv6 159 */ + o.value('multicast-listener-query'); /* icmpv6 130 */ + o.value('multicast-listener-report'); /* icmpv6 131 */ + o.value('multicast-listener-done'); /* icmpv6 132 */ + o.value('multicast-router-advertisement'); /* icmpv6 151 */ + o.value('multicast-router-solicitation'); /* icmpv6 152 */ + o.value('multicast-router-termination'); /* icmpv6 153 */ + o.value('neighbour-advertisement'); + o.value('neighbour-solicitation'); + o.value('network-prohibited'); + o.value('network-redirect'); + o.value('network-unknown'); + o.value('network-unreachable'); + o.value('no-route'); /* icmpv6 1:0 */ + o.value('node-info-query'); /* icmpv6 139 */ + o.value('node-info-response'); /* icmpv6 140 */ + o.value('packet-too-big'); + o.value('parameter-problem'); + o.value('port-unreachable'); + o.value('precedence-cutoff'); + o.value('protocol-unreachable'); + o.value('redirect'); + o.value('required-option-missing'); + o.value('router-advertisement'); + o.value('router-renumbering'); /* icmpv6 138 */ + o.value('router-solicitation'); + o.value('rpl-control-message'); /* icmpv6 155 */ + o.value('source-quench'); + o.value('source-route-failed'); + o.value('time-exceeded'); + o.value('timestamp-reply'); + o.value('timestamp-request'); + o.value('TOS-host-redirect'); + o.value('TOS-host-unreachable'); + o.value('TOS-network-redirect'); + o.value('TOS-network-unreachable'); + o.value('ttl-zero-during-reassembly'); + o.value('ttl-zero-during-transit'); + o.value('v2-multicast-listener-report'); /* icmpv6 143 */ + o.value('unknown-header-type'); /* icmpv6 4:1 */ + o.value('unknown-option'); /* icmpv6 4:2 */ + o.depends({ proto: 'icmp', '!contains': true }); + o.depends({ proto: 'icmpv6', '!contains': true }); + + o = s.taboption('general', widgets.ZoneSelect, 'src', _('Source zone')); + o.modalonly = true; + o.nocreate = true; + o.allowany = true; + o.allowlocal = 'src'; + + o = s.taboption('advanced', form.Value, 'ipset', _('Use ipset')); + uci.sections('firewall', 'ipset', function(s) { + if (typeof(s.name) == 'string') + o.value(s.name, s.comment ? '%s (%s)'.format(s.name, s.comment) : s.name); + }); + o.modalonly = true; + o.rmempty = true; + + fwtool.addMACOption(s, 'advanced', 'src_mac', _('Source MAC address'), null, hosts); + fwtool.addIPOption(s, 'general', 'src_ip', _('Source address'), null, '', hosts, true); + + o = s.taboption('general', form.Value, 'src_port', _('Source port')); + o.modalonly = true; + o.datatype = 'list(neg(portrange))'; + o.placeholder = _('any'); + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Destination zone')); + o.modalonly = true; + o.nocreate = true; + o.allowany = true; + o.allowlocal = true; + + fwtool.addIPOption(s, 'general', 'dest_ip', _('Destination address'), null, '', hosts, true); + + o = s.taboption('general', form.Value, 'dest_port', _('Destination port')); + o.modalonly = true; + o.datatype = 'list(neg(portrange))'; + o.placeholder = _('any'); + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('general', form.ListValue, 'target', _('Action')); + o.modalonly = true; + o.default = 'ACCEPT'; + o.value('DROP', _('drop')); + o.value('ACCEPT', _('accept')); + o.value('REJECT', _('reject')); + o.value('NOTRACK', _("don't track")); + o.value('HELPER', _('assign conntrack helper')); + o.value('MARK_SET', _('apply firewall mark')); + o.value('MARK_XOR', _('XOR firewall mark')); + o.value('DSCP', _('DSCP classification')); + o.cfgvalue = function(section_id) { + var t = uci.get('firewall', section_id, 'target'), + m = uci.get('firewall', section_id, 'set_mark'); + + if (t == 'MARK') + return m ? 'MARK_SET' : 'MARK_XOR'; + + return t; + }; + o.write = function(section_id, value) { + return this.super('write', [section_id, (value == 'MARK_SET' || value == 'MARK_XOR') ? 'MARK' : value]); + }; + + fwtool.addMarkOption(s, 1); + fwtool.addMarkOption(s, 2); + fwtool.addDSCPOption(s, true); + + o = s.taboption('general', form.ListValue, 'set_helper', _('Tracking helper'), _('Assign the specified connection tracking helper to matched traffic.')); + o.modalonly = true; + o.placeholder = _('any'); + o.depends('target', 'HELPER'); + for (var i = 0; i < ctHelpers.length; i++) + o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); + + o = s.taboption('advanced', form.Value, 'helper', _('Match helper'), _('Match traffic using the specified connection tracking helper.')); + o.modalonly = true; + o.placeholder = _('any'); + for (var i = 0; i < ctHelpers.length; i++) + o.value(ctHelpers[i].name, '%s (%s)'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase())); + o.validate = function(section_id, value) { + if (value == '' || value == null) + return true; + + value = value.replace(/^!\s*/, ''); + + for (var i = 0; i < ctHelpers.length; i++) + if (value == ctHelpers[i].name) + return true; + + return _('Unknown or not installed conntrack helper "%s"').format(value); + }; + + fwtool.addMarkOption(s, false); + fwtool.addDSCPOption(s, false); + fwtool.addLimitOption(s); + fwtool.addLimitBurstOption(s); + + if (!L.hasSystemFeature('firewall4')) { + o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), + _('Passes additional arguments to iptables. Use with care!')); + o.modalonly = true; + } + + o = s.taboption('timed', form.MultiValue, 'weekdays', _('Week Days')); + o.modalonly = true; + o.multiple = true; + o.display = 5; + o.placeholder = _('Any day'); + o.value('Sun', _('Sunday')); + o.value('Mon', _('Monday')); + o.value('Tue', _('Tuesday')); + o.value('Wed', _('Wednesday')); + o.value('Thu', _('Thursday')); + o.value('Fri', _('Friday')); + o.value('Sat', _('Saturday')); + o.write = function(section_id, value) { + return this.super('write', [ section_id, L.toArray(value).join(' ') ]); + }; + + o = s.taboption('timed', form.MultiValue, 'monthdays', _('Month Days')); + o.modalonly = true; + o.multiple = true; + o.display_size = 15; + o.placeholder = _('Any day'); + o.write = function(section_id, value) { + return this.super('write', [ section_id, L.toArray(value).join(' ') ]); + }; + for (var i = 1; i <= 31; i++) + o.value(i); + + o = s.taboption('timed', form.Value, 'start_time', _('Start Time (hh:mm:ss)')); + o.modalonly = true; + o.datatype = 'timehhmmss'; + + o = s.taboption('timed', form.Value, 'stop_time', _('Stop Time (hh:mm:ss)')); + o.modalonly = true; + o.datatype = 'timehhmmss'; + + o = s.taboption('timed', form.Value, 'start_date', _('Start Date (yyyy-mm-dd)')); + o.modalonly = true; + o.datatype = 'dateyyyymmdd'; + + o = s.taboption('timed', form.Value, 'stop_date', _('Stop Date (yyyy-mm-dd)')); + o.modalonly = true; + o.datatype = 'dateyyyymmdd'; + + o = s.taboption('timed', form.Flag, 'utc_time', _('Time in UTC')); + o.modalonly = true; + o.default = o.disabled; + + return m.render(); + } +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js new file mode 100644 index 000000000..a700475e4 --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js @@ -0,0 +1,397 @@ +'use strict'; +'require view'; +'require ui'; +'require rpc'; +'require uci'; +'require form'; +'require firewall as fwmodel'; +'require tools.firewall as fwtool'; +'require tools.widgets as widgets'; + +function rule_proto_txt(s) { + var family = (uci.get('firewall', s, 'family') || '').toLowerCase().replace(/^(?:all|\*)$/, 'any'); + var sip = uci.get('firewall', s, 'src_ip') || ''; + var dip = uci.get('firewall', s, 'dest_ip') || ''; + var rwip = uci.get('firewall', s, 'snat_ip') || ''; + var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) { + return (p != '*' && p != 'any' && p != 'all'); + }).map(function(p) { + var pr = fwtool.lookupProto(p); + return { + num: pr[0], + name: pr[1] + }; + }); + + var m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i); + var f = m ? { + val: m[0].toUpperCase().replace(/X/g, 'x'), + inv: m[1], + num: '0x%02X'.format(+m[2]), + mask: m[3] ? '0x%02X'.format(+m[3]) : null + } : null; + + return fwtool.fmt(_('Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}'), { + ipv4: (family == 'ipv4' || family == 'any' || (!family && sip.indexOf(':') == -1 && dip.indexOf(':') == -1 && rwip.indexOf(':') == -1)), + ipv6: (family == 'ipv6' || family == 'any' || (!family && (sip.indexOf(':') != -1 || dip.indexOf(':') != -1 || rwip.indexOf(':') != -1))), + proto: proto, + mark: f + }); +} + +function rule_src_txt(s, hosts) { + var z = uci.get('firewall', s, 'src'); + + return fwtool.fmt(_('From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}'), { + src: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(null) }, [E('em', _('any zone'))]), + src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'), + src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')) + }); +} + +function rule_dest_txt(s) { + var z = uci.get('firewall', s, 'src'); + + return fwtool.fmt(_('To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}'), { + dest: E('span', { 'class': 'zonebadge', 'style': fwmodel.getZoneColorStyle(z) }, [(z == '*') ? E('em', _('any zone')) : (z ? E('strong', z) : E('em', _('this device')))]), + dest_ip: fwtool.map_invert(uci.get('firewall', s, 'dest_ip'), 'toLowerCase'), + dest_port: fwtool.map_invert(uci.get('firewall', s, 'dest_port')), + dest_device: uci.get('firewall', s, 'device') + }); +} + +function rule_limit_txt(s) { + var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i), + l = m ? { + num: +m[1], + unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]], + burst: uci.get('firewall', s, 'limit_burst') + } : null; + + if (!l) + return ''; + + return fwtool.fmt(_('Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}'), { limit: l }); +} + +function rule_target_txt(s) { + var t = uci.get('firewall', s, 'target'), + s = { + target: t, + snat_ip: uci.get('firewall', s, 'snat_ip'), + snat_port: uci.get('firewall', s, 'snat_port') + }; + + switch (t) { + case 'SNAT': + return fwtool.fmt(_('Statically rewrite to source %{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}'), s); + + case 'MASQUERADE': + return fwtool.fmt(_('Automatically rewrite source IP')); + + case 'ACCEPT': + return fwtool.fmt(_('Prevent source rewrite')); + + default: + return t; + } +} + +function validate_opt_family(m, section_id, opt) { + var sopt = m.section.getOption('src_ip'), + dopt = m.section.getOption('dest_ip'), + rwopt = m.section.getOption('snat_ip'), + fmopt = m.section.getOption('family'), + tgopt = m.section.getOption('target'); + + if (!sopt.isValid(section_id) && opt != 'src_ip') + return true; + if (!dopt.isValid(section_id) && opt != 'dest_ip') + return true; + if (!rwopt.isValid(section_id) && opt != 'snat_ip') + return true; + if (!fmopt.isValid(section_id) && opt != 'family') + return true; + if (!tgopt.isValid(section_id) && opt != 'target') + return true; + + var sip = sopt.formvalue(section_id) || '', + dip = dopt.formvalue(section_id) || '', + rwip = rwopt.formvalue(section_id) || '', + fm = fmopt.formvalue(section_id) || '', + tg = tgopt.formvalue(section_id); + + if (fm == 'ipv6' && (sip.indexOf(':') != -1 || sip == '') && (dip.indexOf(':') != -1 || dip == '') && ((rwip.indexOf(':') != -1 && tg == 'SNAT') || rwip == '')) + return true; + if (fm == 'ipv4' && (sip.indexOf(':') == -1) && (dip.indexOf(':') == -1) && ((rwip.indexOf(':') == -1 && tg == 'SNAT') || rwip == '')) + return true; + if (fm == '' || fm == 'any') { + if ((sip.indexOf(':') != -1 || sip == '') && (dip.indexOf(':') != -1 || dip == '') && ((rwip.indexOf(':') != -1 && tg == 'SNAT') || rwip == '')) + return true; + if ((sip.indexOf(':') == -1) && (dip.indexOf(':') == -1) && ((rwip.indexOf(':') == -1 && tg == 'SNAT') || rwip == '')) + return true; + } + + return _('Address family, source address, destination address, rewrite IP address must match'); +} + +return view.extend({ + callHostHints: rpc.declare({ + object: 'luci-rpc', + method: 'getHostHints', + expect: { '': {} } + }), + + callNetworkDevices: rpc.declare({ + object: 'luci-rpc', + method: 'getNetworkDevices', + expect: { '': {} } + }), + + load: function() { + return Promise.all([ + this.callHostHints(), + this.callNetworkDevices(), + uci.load('firewall') + ]); + }, + + render: function(data) { + if (fwtool.checkLegacySNAT()) + return fwtool.renderMigration(); + else + return this.renderNats(data); + }, + + renderNats: function(data) { + var hosts = data[0], + devs = data[1], + m, s, o; + var fw4 = L.hasSystemFeature('firewall4'); + + m = new form.Map('firewall', _('Firewall - NAT Rules'), + _('NAT rules allow fine grained control over the source IP to use for outbound or forwarded traffic.')); + + s = m.section(form.GridSection, 'nat', _('NAT Rules')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.cloneable = true; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + s.tab('timed', _('Time Restrictions')); + + s.sectiontitle = function(section_id) { + return uci.get('firewall', section_id, 'name') || _('Unnamed NAT'); + }; + + o = s.taboption('general', form.Value, 'name', _('Name')); + o.placeholder = _('Unnamed NAT'); + o.modalonly = true; + + o = s.option(form.DummyValue, '_match', _('Match')); + o.modalonly = false; + o.textvalue = function(s) { + return E('small', [ + rule_proto_txt(s), E('br'), + rule_src_txt(s, hosts), E('br'), + rule_dest_txt(s), E('br'), + rule_limit_txt(s) + ]); + }; + + o = s.option(form.ListValue, '_target', _('Action')); + o.modalonly = false; + o.textvalue = function(s) { + return rule_target_txt(s); + }; + + o = s.option(form.Flag, 'enabled', _('Enable')); + o.modalonly = false; + o.default = o.enabled; + o.editable = true; + + if (fw4) { + o = s.taboption('general', form.ListValue, 'family', _('Restrict to address family')); + o.modalonly = true; + o.rmempty = true; + o.value('any', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.value('', _('automatic')); // infer from zone or used IP addresses + o.cfgvalue = function(section_id) { + var val = this.map.data.get(this.map.config, section_id, 'family'); + + if (!val) + return ''; + else if (val == 'any' || val == 'all' || val == '*') + return 'any'; + else if (val == 'inet' || String(val).indexOf('4') != -1) + return 'ipv4'; + else if (String(val).indexOf('6') != -1) + return 'ipv6'; + }; + o.validate = function(section_id, value) { + fwtool.updateHostHints(this.map, section_id, 'src_ip', value, hosts); + fwtool.updateHostHints(this.map, section_id, 'dest_ip', value, hosts); + return !fw4?true:validate_opt_family(this, section_id, 'family'); + }; + } + + o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol')); + o.modalonly = true; + o.default = 'all'; + + o = s.taboption('general', widgets.ZoneSelect, 'src', _('Outbound zone')); + o.modalonly = true; + o.rmempty = false; + o.nocreate = true; + o.allowany = true; + o.default = 'lan'; + + o = fwtool.addIPOption(s, 'general', 'src_ip', _('Source address'), + _('Match forwarded traffic from this IP or range.'), !fw4?'ipv4':'', hosts); + o.rmempty = true; + o.datatype = !fw4?'neg(ipmask4("true"))':'neg(ipmask("true"))'; + o.validate = function(section_id, value) { + return !fw4?true:validate_opt_family(this, section_id, 'src_ip'); + }; + + o = s.taboption('general', form.Value, 'src_port', _('Source port'), + _('Match forwarded traffic originating from the given source port or port range.')); + o.modalonly = true; + o.rmempty = true; + o.datatype = 'neg(portrange)'; + o.placeholder = _('any'); + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = fwtool.addIPOption(s, 'general', 'dest_ip', _('Destination address'), + _('Match forwarded traffic directed at the given IP address.'), !fw4?'ipv4':'', hosts); + o.rmempty = true; + o.datatype = !fw4?'neg(ipmask4("true"))':'neg(ipmask("true"))'; + o.validate = function(section_id, value) { + return !fw4?true:validate_opt_family(this, section_id, 'dest_ip'); + }; + + o = s.taboption('general', form.Value, 'dest_port', _('Destination port'), + _('Match forwarded traffic directed at the given destination port or port range.')); + o.modalonly = true; + o.rmempty = true; + o.placeholder = _('any'); + o.datatype = 'neg(portrange)'; + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + o = s.taboption('general', form.ListValue, 'target', _('Action')); + o.modalonly = true; + o.default = 'SNAT'; + o.value('SNAT', _('SNAT - Rewrite to specific source IP or port')); + o.value('MASQUERADE', _('MASQUERADE - Automatically rewrite to outbound interface IP')); + o.value('ACCEPT', _('ACCEPT - Disable address rewriting')); + o.validate = function(section_id, value) { + return !fw4?true:validate_opt_family(this, section_id, 'target'); + }; + + o = fwtool.addLocalIPOption(s, 'general', 'snat_ip', _('Rewrite IP address'), + _('Rewrite matched traffic to the specified source IP address.'), devs); + o.placeholder = null; + o.depends('target', 'SNAT'); + o.validate = function(section_id, value) { + var a = this.formvalue(section_id), + p = this.section.formvalue(section_id, 'snat_port'); + + if ((a == null || a == '') && (p == null || p == '') && value == '') + return _('A rewrite IP must be specified!'); + + return !fw4?true:validate_opt_family(this, section_id, 'snat_ip'); + }; + + o = s.taboption('general', form.Value, 'snat_port', _('Rewrite port'), + _('Rewrite matched traffic to the specified source port or port range.')); + o.modalonly = true; + o.rmempty = true; + o.placeholder = _('do not rewrite'); + o.datatype = 'portrange'; + o.depends({ proto: 'tcp', '!contains': true }); + o.depends({ proto: 'udp', '!contains': true }); + + var have_fw4 = L.hasSystemFeature('firewall4') + if (!have_fw4) { + o = s.taboption('advanced', form.Value, 'ipset', _('Use ipset')); + uci.sections('firewall', 'ipset', function(s) { + if (typeof(s.name) == 'string') + o.value(s.name, s.comment ? '%s (%s)'.format(s.name, s.comment) : s.name); + }); + o.modalonly = true; + o.rmempty = true; + } + + o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Outbound device'), + _('Matches forwarded traffic using the specified outbound network device.')); + o.noaliases = true; + o.modalonly = true; + o.rmempty = true; + + fwtool.addMarkOption(s, false); + fwtool.addLimitOption(s); + fwtool.addLimitBurstOption(s); + + if (!have_fw4) { + o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), + _('Passes additional arguments to iptables. Use with care!')); + o.modalonly = true; + o.rmempty = true; + } + + o = s.taboption('timed', form.MultiValue, 'weekdays', _('Week Days')); + o.modalonly = true; + o.multiple = true; + o.display = 5; + o.placeholder = _('Any day'); + o.value('Sun', _('Sunday')); + o.value('Mon', _('Monday')); + o.value('Tue', _('Tuesday')); + o.value('Wed', _('Wednesday')); + o.value('Thu', _('Thursday')); + o.value('Fri', _('Friday')); + o.value('Sat', _('Saturday')); + o.write = function(section_id, value) { + return this.super('write', [ section_id, L.toArray(value).join(' ') ]); + }; + + o = s.taboption('timed', form.MultiValue, 'monthdays', _('Month Days')); + o.modalonly = true; + o.multiple = true; + o.display_size = 15; + o.placeholder = _('Any day'); + o.write = function(section_id, value) { + return this.super('write', [ section_id, L.toArray(value).join(' ') ]); + }; + for (var i = 1; i <= 31; i++) + o.value(i); + + o = s.taboption('timed', form.Value, 'start_time', _('Start Time (hh:mm:ss)')); + o.modalonly = true; + o.datatype = 'timehhmmss'; + + o = s.taboption('timed', form.Value, 'stop_time', _('Stop Time (hh:mm:ss)')); + o.modalonly = true; + o.datatype = 'timehhmmss'; + + o = s.taboption('timed', form.Value, 'start_date', _('Start Date (yyyy-mm-dd)')); + o.modalonly = true; + o.datatype = 'dateyyyymmdd'; + + o = s.taboption('timed', form.Value, 'stop_date', _('Stop Date (yyyy-mm-dd)')); + o.modalonly = true; + o.datatype = 'dateyyyymmdd'; + + o = s.taboption('timed', form.Flag, 'utc_time', _('Time in UTC')); + o.modalonly = true; + o.default = o.disabled; + + return m.render(); + } +}); diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js new file mode 100644 index 000000000..bf2d6cf3c --- /dev/null +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js @@ -0,0 +1,395 @@ +'use strict'; +'require view'; +'require rpc'; +'require uci'; +'require form'; +'require network'; +'require firewall'; +'require tools.firewall as fwtool'; +'require tools.widgets as widgets'; + +return view.extend({ + callConntrackHelpers: rpc.declare({ + object: 'luci', + method: 'getConntrackHelpers', + expect: { result: [] } + }), + + load: function() { + return Promise.all([ + this.callConntrackHelpers(), + firewall.getDefaults() + ]); + }, + + render: function(data) { + if (fwtool.checkLegacySNAT()) + return fwtool.renderMigration(); + else + return this.renderZones(data); + }, + + renderZones: function(data) { + var ctHelpers = data[0], + fwDefaults = data[1], + m, s, o, inp, out; + var fw4 = L.hasSystemFeature('firewall4'); + + m = new form.Map('firewall', _('Firewall - Zone Settings'), + _('The firewall creates zones over your network interfaces to control network traffic flow.')); + + s = m.section(form.TypedSection, 'defaults', _('General Settings')); + s.anonymous = true; + s.addremove = false; + + o = s.option(form.Flag, 'synflood_protect', _('Enable SYN-flood protection')); + o.cfgvalue = function(section_id) { + var val = uci.get('firewall', section_id, 'synflood_protect'); + return (val != null) ? val : uci.get('firewall', section_id, 'syn_flood'); + }; + o.write = function(section_id, value) { + uci.unset('firewall', section_id, 'syn_flood'); + uci.set('firewall', section_id, 'synflood_protect', value); + }; + o.remove = function(section_id) { + uci.unset('firewall', section_id, 'syn_flood'); + uci.unset('firewall', section_id, 'synflood_protect'); + }; + + o = s.option(form.Flag, 'drop_invalid', _('Drop invalid packets')); + + var p = [ + s.option(form.ListValue, 'input', _('Input')), + s.option(form.ListValue, 'output', _('Output')), + s.option(form.ListValue, 'forward', _('Forward')) + ]; + + for (var i = 0; i < p.length; i++) { + p[i].value('REJECT', _('reject')); + p[i].value('DROP', _('drop')); + p[i].value('ACCEPT', _('accept')); + } + + /* Netfilter flow offload support */ + + if (L.hasSystemFeature('offloading')) { + s = m.section(form.TypedSection, 'defaults', _('Routing/NAT Offloading'), + _('Not fully compatible with QoS/SQM.')); + + s.anonymous = true; + s.addremove = false; + + o = s.option(form.RichListValue, "offloading_type", _("Flow offloading type")); + o.value('0', _("None")); + o.value('1', _("Software flow offloading"), _('Software based offloading for routing/NAT.')); + o.value('2', _("Hardware flow offloading"), _('Hardware based offloading for routing with/without NAT.') + ' ' + _(' Requires hardware NAT support.')); + o.optional = false; + o.load = function (section_id) { + var flow_offloading = uci.get('firewall', section_id, 'flow_offloading'); + var flow_offloading_hw = uci.get('firewall', section_id, 'flow_offloading_hw'); + return (flow_offloading === '1') + ? (flow_offloading_hw === '1' ? '2' : '1') + : '0'; + }; + o.write = function(section_id, value) { + uci.set('firewall', section_id, 'flow_offloading', value === '0' ? null : '1'); + uci.set('firewall', section_id, 'flow_offloading_hw', value === '2' ? '1' : null); + }; + } + + + s = m.section(form.GridSection, 'zone', _('Zones')); + s.addremove = true; + s.anonymous = true; + s.sortable = true; + s.nodescriptions = true; + + s.handleRemove = function(section_id, ev) { + return firewall.deleteZone(section_id).then(L.bind(function() { + return this.super('handleRemove', [section_id, ev]); + }, this)); + }; + + s.tab('general', _('General Settings')); + s.tab('advanced', _('Advanced Settings')); + s.tab('conntrack', _('Conntrack Settings')); + s.tab('extra', _('Extra iptables arguments')); + + o = s.taboption('general', form.DummyValue, '_generalinfo'); + o.rawhtml = true; + o.modalonly = true; + o.cfgvalue = function(section_id) { + var name = uci.get('firewall', section_id, 'name'); + if (name == null) + name = _("this new zone"); + return _('This section defines common properties of %q. The input and output options set the default policies for traffic entering and leaving this zone while the forward option describes the policy for forwarded traffic between different networks within the zone. Covered networks specifies which available networks are members of this zone.') + .replace(/%s/g, name).replace(/%q/g, '"' + name + '"'); + }; + + o = s.taboption('general', form.Value, 'name', _('Name')); + o.placeholder = _('Unnamed zone'); + o.modalonly = true; + o.rmempty = false; + o.datatype = 'and(uciname,maxlength(11))'; + o.write = function(section_id, formvalue) { + var cfgvalue = this.cfgvalue(section_id); + + if (cfgvalue == null || cfgvalue == '') + return uci.set('firewall', section_id, 'name', formvalue); + else if (cfgvalue != formvalue) + return firewall.renameZone(cfgvalue, formvalue); + }; + + o = s.option(widgets.ZoneForwards, '_info', _('Zone ⇒ Forwardings')); + o.editable = true; + o.modalonly = false; + o.cfgvalue = function(section_id) { + return uci.get('firewall', section_id, 'name'); + }; + + var p = [ + s.taboption('general', form.ListValue, 'input', _('Input')), + s.taboption('general', form.ListValue, 'output', _('Output')), + s.taboption('general', form.ListValue, 'forward', _('Intra zone forward')) + ]; + + for (var i = 0; i < p.length; i++) { + p[i].value('REJECT', _('reject')); + p[i].value('DROP', _('drop')); + p[i].value('ACCEPT', _('accept')); + p[i].editable = true; + } + + p[0].default = fwDefaults.getInput(); + p[1].default = fwDefaults.getOutput(); + p[2].default = fwDefaults.getForward(); + + o = s.taboption('general', form.Flag, 'masq', _('Masquerading'), + _('Enable network address and port translation IPv4 (NAT4 or NAPT4) for outbound traffic on this zone. This is typically enabled on the wan zone.')); + o.editable = true; + o.tooltip = function(section_id) { + var family = uci.get('firewall', section_id, 'family') + var masq_src = uci.get('firewall', section_id, 'masq_src') + var masq_dest = uci.get('firewall', section_id, 'masq_dest') + if ((!family || family.indexOf('6') == -1) && (masq_src || masq_dest)) + return _('Limited masquerading enabled'); + + return null; + }; + + o = s.taboption('general', form.Flag, 'mtu_fix', _('MSS clamping')); + o.modalonly = true; + + o = s.taboption('general', widgets.NetworkSelect, 'network', _('Covered networks')); + o.modalonly = true; + o.multiple = true; + o.cfgvalue = function(section_id) { + return uci.get('firewall', section_id, 'network'); + }; + o.write = function(section_id, formvalue) { + var name = uci.get('firewall', section_id, 'name'), + cfgvalue = this.cfgvalue(section_id), + oldNetworks = L.toArray(cfgvalue), + newNetworks = L.toArray(formvalue); + + oldNetworks.sort(); + newNetworks.sort(); + + if (oldNetworks.join(' ') == newNetworks.join(' ')) + return; + + var tasks = [ firewall.getZone(name) ]; + + if (Array.isArray(formvalue)) + for (var i = 0; i < newNetworks.length; i++) { + var netname = newNetworks[i]; + tasks.push(network.getNetwork(netname).then(L.bind(function(netname, net) { + return net || network.addNetwork(netname, { 'proto': 'none' }); + }, this, netname))); + } + + return Promise.all(tasks).then(function(zone_networks) { + if (zone_networks[0]) { + zone_networks[0].clearNetworks(); + for (var i = 1; i < zone_networks.length; i++) + zone_networks[0].addNetwork(zone_networks[i].getName()); + } + }); + }; + + o = s.taboption('advanced', form.DummyValue, '_advancedinfo'); + o.rawhtml = true; + o.modalonly = true; + o.cfgvalue = function(section_id) { + var name = uci.get('firewall', section_id, 'name'); + if (name == null) + name = _("this new zone"); + return _('The options below control the forwarding policies between this zone (%s) and other zones. Destination zones cover forwarded traffic originating from %q. Source zones match forwarded traffic from other zones targeted at %q. The forwarding rule is unidirectional, e.g. a forward from lan to wan does not imply a permission to forward from wan to lan as well.') + .format(name); + }; + + o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Covered devices'), _('Use this option to classify zone traffic by raw, non-uci managed network devices.')); + o.modalonly = true; + o.noaliases = true; + o.multiple = true; + + o = s.taboption('advanced', form.DynamicList, 'subnet', _('Covered subnets'), _('Use this option to classify zone traffic by source or destination subnet instead of networks or devices.')); + o.datatype = 'neg(cidr("true"))'; + o.modalonly = true; + o.multiple = true; + + if (fw4) { + o = s.taboption('advanced', form.Flag, 'masq6', _('IPv6 Masquerading'), + _('Enable network address and port translation IPv6 (NAT6 or NAPT6) for outbound traffic on this zone.')); + o.modalonly = true; + o.tooltip = function(section_id) { + var family = uci.get('firewall', section_id, 'family') + var masq_src = uci.get('firewall', section_id, 'masq_src') + var masq_dest = uci.get('firewall', section_id, 'masq_dest') + if ((!family || family.indexOf('6') >= 0) && (masq_src || masq_dest)) + return _('Limited masquerading enabled'); + return null; + }; + } + + o = s.taboption('advanced', form.ListValue, 'family', _('Restrict to address family')); + o.value('', _('IPv4 and IPv6')); + o.value('ipv4', _('IPv4 only')); + o.value('ipv6', _('IPv6 only')); + o.modalonly = true; + + o = s.taboption('advanced', form.DynamicList, 'masq_src', _('Restrict Masquerading to given source subnets')); + if (fw4) { + o.datatype = 'list(neg(or(uciname,hostname,ipmask)))'; + } else { + o.depends('family', ''); + o.depends('family', 'ipv4'); + o.datatype = 'list(neg(or(uciname,hostname,ipmask4)))'; + } + o.placeholder = '0.0.0.0/0'; + o.modalonly = true; + + o = s.taboption('advanced', form.DynamicList, 'masq_dest', _('Restrict Masquerading to given destination subnets')); + if (fw4) { + o.datatype = 'list(neg(or(uciname,hostname,ipmask)))'; + } else { + o.depends('family', ''); + o.depends('family', 'ipv4'); + o.datatype = 'list(neg(or(uciname,hostname,ipmask4)))'; + } + o.placeholder = '0.0.0.0/0'; + o.modalonly = true; + + o = s.taboption('conntrack', form.Flag, 'masq_allow_invalid', _('Allow "invalid" traffic'), _('Do not install extra rules to reject forwarded traffic with conntrack state invalid. This may be required for complex asymmetric route setups.')); + o.modalonly = true; + + o = s.taboption('conntrack', form.Flag, 'auto_helper', _('Automatic helper assignment'), _('Automatically assign conntrack helpers based on traffic protocol and port')); + o.default = o.enabled; + o.modalonly = true; + + o = s.taboption('conntrack', form.MultiValue, 'helper', _('Conntrack helpers'), _('Explicitly choses allowed connection tracking helpers for zone traffic')); + o.depends('auto_helper', '0'); + o.modalonly = true; + for (var i = 0; i < ctHelpers.length; i++) + o.value(ctHelpers[i].name, E('%s (%s)%s'.format(ctHelpers[i].description, ctHelpers[i].name.toUpperCase(), ctHelpers[i].name.toUpperCase()))); + + o = s.taboption('advanced', form.Flag, 'log', _('Enable logging on this zone')); + o.modalonly = true; + + o = s.taboption('advanced', form.Value, 'log_limit', _('Limit log messages')); + o.depends('log', '1'); + o.placeholder = '10/minute'; + o.modalonly = true; + + if (!L.hasSystemFeature('firewall4')) { + o = s.taboption('extra', form.DummyValue, '_extrainfo'); + o.rawhtml = true; + o.modalonly = true; + o.cfgvalue = function(section_id) { + return _('Passing raw iptables arguments to source and destination traffic classification rules allows to match packets based on other criteria than interfaces or subnets. These options should be used with extreme care as invalid values could render the firewall ruleset broken, completely exposing all services.'); + }; + + o = s.taboption('extra', form.Value, 'extra_src', _('Extra source arguments'), _('Additional raw iptables arguments to classify zone source traffic, e.g. -p tcp --sport 443 to only match inbound HTTPS traffic.')); + o.modalonly = true; + o.cfgvalue = function(section_id) { + return uci.get('firewall', section_id, 'extra_src') || uci.get('firewall', section_id, 'extra'); + }; + o.write = function(section_id, value) { + uci.unset('firewall', section_id, 'extra'); + uci.set('firewall', section_id, 'extra_src', value); + }; + + o = s.taboption('extra', form.Value, 'extra_dest', _('Extra destination arguments'), _('Additional raw iptables arguments to classify zone destination traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS traffic.')); + o.modalonly = true; + o.cfgvalue = function(section_id) { + return uci.get('firewall', section_id, 'extra_dest') || uci.get('firewall', section_id, 'extra_src') || uci.get('firewall', section_id, 'extra'); + }; + o.write = function(section_id, value) { + uci.unset('firewall', section_id, 'extra'); + uci.set('firewall', section_id, 'extra_dest', value); + }; + } + + o = s.taboption('general', form.DummyValue, '_forwardinfo'); + o.rawhtml = true; + o.modalonly = true; + o.cfgvalue = function(section_id) { + var name = uci.get('firewall', section_id, 'name'); + if (name == null) + name = _("this new zone"); + return _('The options below control the forwarding policies between this zone (%s) and other zones. Destination zones cover forwarded traffic originating from %q. Source zones match forwarded traffic from other zones targeted at %q. The forwarding rule is unidirectional, e.g. a forward from lan to wan does not imply a permission to forward from wan to lan as well.') + .format(name); + }; + + out = o = s.taboption('general', widgets.ZoneSelect, 'out', _('Allow forward to destination zones:')); + o.nocreate = true; + o.multiple = true; + o.modalonly = true; + o.filter = function(section_id, value) { + return (uci.get('firewall', section_id, 'name') != value); + }; + o.cfgvalue = function(section_id) { + var out = (this.option == 'out'), + zone = this.lookupZone(uci.get('firewall', section_id, 'name')), + fwds = zone ? zone.getForwardingsBy(out ? 'src' : 'dest') : [], + value = []; + + for (var i = 0; i < fwds.length; i++) + value.push(out ? fwds[i].getDestination() : fwds[i].getSource()); + + return value; + }; + o.write = o.remove = function(section_id, formvalue) { + var out = (this.option == 'out'), + zone = this.lookupZone(uci.get('firewall', section_id, 'name')), + fwds = zone ? zone.getForwardingsBy(out ? 'src' : 'dest') : []; + + if (formvalue == null) + formvalue = []; + + if (Array.isArray(formvalue)) { + for (var i = 0; i < fwds.length; i++) { + var cmp = out ? fwds[i].getDestination() : fwds[i].getSource(); + if (!formvalue.filter(function(d) { return d == cmp }).length) + zone.deleteForwarding(fwds[i]); + } + + for (var i = 0; i < formvalue.length; i++) + if (out) + zone.addForwardingTo(formvalue[i]); + else + zone.addForwardingFrom(formvalue[i]); + } + }; + + inp = o = s.taboption('general', widgets.ZoneSelect, 'in', _('Allow forward from source zones:')); + o.nocreate = true; + o.multiple = true; + o.modalonly = true; + o.write = o.remove = out.write; + o.filter = out.filter; + o.cfgvalue = out.cfgvalue; + + return m.render(); + } +}); diff --git a/luci-app-firewall/po/ar/firewall.po b/luci-app-firewall/po/ar/firewall.po new file mode 100644 index 000000000..89ce2dbce --- /dev/null +++ b/luci-app-firewall/po/ar/firewall.po @@ -0,0 +1,1589 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-16 16:41+0000\n" +"Last-Translator: Rex_sa \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\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 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "- إضافة IP -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "- اضافة MAC -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"‍‎Accept %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "منع إعادة كتابة المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"‎Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"‎Drop %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"تعيين تصنيف DSCP %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"تعيين مساعد التعقب %{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"علامة جدار الحماية %{set_mark?Assign:XOR} " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "‎Automatically rewrite source IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"‎Do not track %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"‎Reject %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"‎Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "يجب تحديد إعادة كتابة IP!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "قبول - تعطيل إعادة كتابة العنوان" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "إجراء" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"وسيطات iptables خام إضافية لتصنيف حركة مرور وجهة المنطقة ، على " +"سبيل المثال -p tcp --dport 443 لمطابقة حركة مرور HTTPS " +"الصادرة فقط." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"وسيطات iptables خام إضافية لتصنيف حركة مرور مصدر المنطقة ، على " +"سبيل المثال -p tcp --sport 443 لمطابقة حركة مرور HTTPS " +"الواردة فقط." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "عائلة العنوان، يجب أن تتطابق عنوان IP الداخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"يجب أن تتطابق عائلة العنوان وعنوان المصدر وعنوان الوجهة وإعادة كتابة عنوان IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "إعدادات متقدمة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "السماح بحركة المرور \"الغير الصالحة\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "السماح بإعادة التوجيه من مناطق المصدر :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "السماح بإعادة التوجيه إلى مناطق الوجهة :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "أي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "اي يوم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"قم بتطبيق XOR على مستوى بت للقيمة المحددة وقيمة العلامة الحالية على " +"الاتصالات القائمة. التنسيق هو القيمة [/ القناع]. إذا تم تحديد قناع ، فسيتم " +"التخلص من البتات المحددة في القناع." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "قم بتطبيق فئة أو قيمة DSCP المحددة على الاتصالات القائمة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "قم بتعيين مساعد تتبع الاتصال المحدد لحركة المرور المتطابقة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "تعيين المساعد التلقائي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "قم بتعيين مساعدي conntrack تلقائيًا بناءً على بروتوكول المرور والبوابة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "تعليق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "إعدادات Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "مساعدين كونتراك" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "تم حفظ المحتويات." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "يكمل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "الأجهزة المغطاة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "الشبكات المغطاة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "الشبكات الفرعية المغطاة" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "القواعد المخصصة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"تسمح لك القواعد المخصصة بتنفيذ أوامر iptables التعسفية التي لا يغطيها إطار " +"عمل جدار الحماية. يتم تنفيذ الأوامر بعد كل إعادة تشغيل لجدار الحماية ، " +"مباشرة بعد تحميل مجموعة القواعد الافتراضية." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "تصنيف DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "علامة DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "علامة DSCP مطلوبة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "عنوان الوجهة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "بوابة الوجهة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "منطقة الوجهة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "اسم الجهاز" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"لا تقم بتثبيت قواعد إضافية لرفض حركة المرور المعاد توجيهها مع حالة conntrack " +" غير صالحة . قد يكون هذا مطلوبًا لإعدادات المسار غير المتماثلة " +"المعقدة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "قم بإسقاط الحزم غير الصالحة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "شغل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "تفعيل NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "تفعيل الحماية من الفيضانات SYN" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "قم بتمكين تسجيل الدخول إلى هذه المنطقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "مفعَّل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "توقع: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "يختار صراحة مساعدي تتبع الاتصال المسموح به لحركة مرور المنطقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "عنوان IP خارجي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "منفذ خارجي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "حجج اضافية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "وسيطات الوجهة الإضافية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "حجج iptables الإضافية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "حجج مصدر إضافي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "جدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "جدار الحماية - القواعد المخصصة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "جدار الحماية - قواعد NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "جدار الحماية - منفذ إلى الأمام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "جدار الحماية - قواعد المرور" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "جدار الحماية - إعدادات المنطقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "ترحيل تكوين جدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "إلى الأمام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "الجمعة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"ابتداءً من %{src}%{ src_device?, interface %{src_device}%{src_ip?، " +"IP %{ src_ip#%{ next?, }%{ item.ival}}} %{ src_port?, port " +"%{ src_port#%{ next?, }%{ item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"من %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"من %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "الاعدادات العامة" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "منح الوصول إلى تكوين جدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "تفريغ تدفق الأجهزة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "مجموعات IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 و IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 فقط" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 فقط" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "جهاز وارد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "إدخال" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "عنوان IP الداخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "منفذ داخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "المنطقة الداخلية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "علامة DSCP غير صالحة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "قيمة حد غير صالحة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "حد الطلقات" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "تقييد رسائل السجل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "حد المطابقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"مطابقة محدودة ل ٪ {limit.num} حزم لكل ٪ {limit.unit} ٪ {limit.burst؟ انفجار ٪ {limit.burst} }" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "تمكين التنكر المحدود" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "يحد من مطابقة حركة المرور إلى المعدل المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP مصدر الاسترجاع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - إعادة الكتابة تلقائيًا إلى عنوان IP للواجهة الصادرة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "لقط MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "تنكر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "تطابق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "تطابق DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "تطابق نوع ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "تطابق الأجهزة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "تطابق حركة المرور المعاد توجيهها إلى عنوان IP المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"تطابق حركة المرور المعاد توجيهها إلى منفذ الوجهة المحدد أو نطاق المنفذ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "تطابق حركة المرور المعاد توجيهها من هذا IP أو النطاق." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"تطابق حركة المرور المعاد توجيهها الناشئة من منفذ المصدر المحدد أو نطاق " +"المنفذ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "مساعد المطابقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"تطابق حركة المرور الواردة الموجهة إلى منفذ الوجهة المحدد أو نطاق المنفذ على " +"هذا المضيف" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "علامة المطابقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "تطابق حركة المرور باستخدام مساعد تتبع الاتصال المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "يتطابق مع علامة جدار حماية معينة أو نطاق من العلامات المختلفة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "يطابق حركة المرور المعاد توجيهها باستخدام جهاز الشبكة الصادرة المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "يطابق حركة المرور التي تحمل علامة DSCP المحددة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"الحد الأقصى لعدد الحزم التي يجب مطابقتها: يتم إعادة شحن هذا الرقم بواحدة في " +"كل مرة لا يتم فيها الوصول إلى الحد المحدد أعلاه ، حتى هذا الرقم." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "الإثنين" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "أيام الشهر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "قواعد NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"تسمح قواعد NAT بالتحكم الدقيق في عنوان IP المصدر لاستخدامه في حركة المرور " +"الصادرة أو المُعاد توجيهها." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "اسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "غير متوافق تمامًا مع QoS / SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "تطابق حركة المرور الواردة الموجهة إلى عنوان IP المحدد فقط." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "تطابق فقط حركة المرور الواردة من أجهزة MAC هذه." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "تطابق فقط حركة المرور الواردة من هذا IP أو النطاق." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"تطابق فقط حركة المرور الواردة الصادرة من منفذ المصدر المحدد أو نطاق المنفذ " +"على مضيف العميل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "جهاز الصادر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "المنطقة الصادرة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "انتاج" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "يمرر الحجج الإضافية إلى iptables. استخدم بعناية!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"يسمح تمرير وسيطات iptables الأولية إلى قواعد تصنيف حركة المرور إلى المصدر " +"والوجهة بمطابقة الحزم بناءً على معايير أخرى غير الواجهات أو الشبكات الفرعية. " +"يجب استخدام هذه الخيارات بحذر شديد نظرًا لأن القيم غير الصالحة قد تؤدي إلى " +"كسر مجموعة قواعد جدار الحماية ، مما يؤدي إلى تعريض جميع الخدمات تمامًا." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "بوابة التوجيه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"يسمح إعادة توجيه المنفذ لأجهزة الكمبيوتر البعيدة على الإنترنت بالاتصال " +"بكمبيوتر أو خدمة معينة داخل شبكة LAN الخاصة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "البروتوكول" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"إعادة توجيه حركة المرور الواردة المتطابقة إلى المنفذ المحدد على المضيف " +"الداخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "إعادة توجيه حركة المرور الواردة المتطابقة إلى المضيف الداخلي المحدد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "يتطلب دعم NAT للأجهزة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "قصر التنكر على الشبكات الفرعية للوجهة المحددة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "قصر التنكر على الشبكات الفرعية للمصدر المحدد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "تقييد لمعالجة الأسرة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "أعد كتابة عنوان IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "أعد كتابة حركة المرور المتطابقة إلى عنوان IP المصدر المحدد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "أعد كتابة حركة المرور المتطابقة إلى منفذ المصدر المحدد أو نطاق المنفذ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "أعد كتابة المنفذ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "التوجيه / تفريغ NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - إعادة الكتابة إلى عنوان IP أو منفذ معين" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "السبت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "وضع علامة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"قم بتعيين قيمة العلامة المحددة على الاتصالات القائمة. التنسيق هو القيمة [/ " +"القناع]. إذا تم تحديد قناع ، فسيتم تعديل وحدات البت المحددة في القناع فقط." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "تفريغ تدفق البرنامج" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "عنوان IP المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "عنوان MAC المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "عنوان المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "منفذ المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "منطقة المصدر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"يحدد ما إذا كان سيتم ربط قاعدة حركة المرور هذه بجهاز شبكة محدد وارد أو صادر." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"يحدد ما إذا كان سيتم استخدام عنوان IP الخارجي أو الداخلي لحركة المرور " +"المنعكسة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "تاريخ البدء (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "وقت البدء (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "تاريخ التوقف (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "وقت التوقف (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "الأحد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "يجب تغيير تكوين جدار الحماية الحالي لكي يعمل LuCI بشكل صحيح." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"يقوم جدار الحماية بإنشاء مناطق عبر واجهات الشبكة للتحكم في تدفق حركة مرور " +"الشبكة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"تتحكم الخيارات أدناه في سياسات إعادة التوجيه بين هذه المنطقة (%s) والمناطق " +"الأخرى. تغطي مناطق الوجهة حركة المرور المعاد توجيهها " +"الناشئة عن %q. تتطابق مناطق المصدر مع حركة المرور " +"المعاد توجيهها من المناطق الأخرى المستهدفة بنسبة %q. قاعدة " +"إعادة التوجيه أحادية الاتجاه، على سبيل المثال، لا يعني " +"التقدم من الشبكة المحلية إلى الشبكة المحلية إذنًا بإعادة التوجيه من الشبكة " +"المحلية إلى الشبكة المحلية أيضًا." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"يحدد هذا القسم الخصائص العامة ل q%. يعين خياري الإدخال و " +"الإخراج السياسات الافتراضية لحركة المرور التي تدخل وتغادر هذه المنطقة " +"بينما يصف خيار إعادة التوجيه سياسة حركة المرور المعاد توجيهها بين " +"الشبكات المختلفة داخل المنطقة. تحدد الشبكات المغطاة الشبكات " +"المتاحة الأعضاء في هذه المنطقة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "الخميس" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "قيود الوقت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "الوقت بالتوقيت العالمي المنسق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "تم تمكين قيود الوقت لهذه القاعدة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "نفذ الوقت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"إلى%{dest}%{ dest_device?, interface %{dest_device}}%{ dest_ip?، " +"IP %{ dest_ip#%{ next?, }%{ item.ival}}} %{ dest_port?, port " +"%{ dest_port#%{ next?, }%{ item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "مساعد التتبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "قواعد المرور" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"تحدد قواعد المرور سياسات الحزم التي تنتقل بين مناطق مختلفة ، على سبيل المثال " +"لرفض حركة المرور بين مضيفين معينين أو لفتح منافذ WAN على جهاز التوجيه." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "الثلاثاء" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "تعذر حفظ المحتويات: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "مساعد conntrack غير معروف أو غير مثبت \" %s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT بدون اسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "تقدم بدون إسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "قاعدة بدون اسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "منطقة بدون اسم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "بروتوكول غير معروف" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"عند الضغط على \"متابعة\" ، سيتم تحويل أقسام \"إعادة التوجيه\" ذات الهدف " +"\"SNAT\" إلى أقسام \"nat\" وسيتم إعادة تشغيل جدار الحماية لتطبيق التكوين " +"المحدث." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "استخدم عنوان IP خارجي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "استخدم عنوان IP الداخلي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"استخدم هذا الخيار لتصنيف حركة مرور المنطقة عن طريق أجهزة الشبكة الأولية غير " +" uci ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"استخدم هذا الخيار لتصنيف حركة مرور المنطقة حسب المصدر أو الشبكة الفرعية " +"الوجهة بدلاً من الشبكات أو الأجهزة." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "مطلوب علامة صالحة لجدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "الأربعاء" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "أيام الأسبوع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "علامة جدار الحماية XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "علامة XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "المنطقة=> تَوجِيه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "المناطق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "قبول" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "أي" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "أي منطقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "تطبيق علامة جدار الحماية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "تعيين مساعد conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "يوم" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "لا تعيد الكتابة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "لا تتبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "إبعاد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "ساعة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "دقيقة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "رفض" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "ثانية" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "هذا الجهاز" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "هذه المنطقة الجديدة" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "غير محدود" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "غير محدد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "علامة جدار حماية صالحة" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "برنامج التفريغ القائم على التوجيه / NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" + +#, fuzzy +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/bg/firewall.po b/luci-app-firewall/po/bg/firewall.po new file mode 100644 index 000000000..cf10f4dfd --- /dev/null +++ b/luci-app-firewall/po/bg/firewall.po @@ -0,0 +1,1445 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-17 17:10+0000\n" +"Last-Translator: Boyan Alexiev \n" +"Language-Team: Bulgarian \n" +"Language: bg\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 5.8-rc\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +#, fuzzy +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Изходящ} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP с типове %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- добави IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- добави MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Действие" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Разширени настройки" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Разрешаване на \"невалиден\" трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Разрешаване на препращане от изходящи зони :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Разрешаване на препращане към дестинационни зони :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Всички" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Всеки ден" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Настройки на Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Помощници на Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Съдържанието е записано." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Продължи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Обхванати устройства" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Обхванати мрежи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Обхванати подмрежи" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Потребителски правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Адрес на дестинацията" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Дестинейшън Порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Дестинейшън зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Име на устройството" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Изпускане на невалидни пакети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Включване" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Разрешаване на NAT loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Активиране на SYN-flood защита" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Разрешаване на журнал в тази зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Позволен" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Очакване: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Външен IP адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Външен порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Допълнителни аргументи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Допълнителни аргументи за дестинацията" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Допълнителни аргументи на iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Допълнителни аргументи за източника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Защитна стена" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Защитна стена - Потребителски правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Защитна стена - NAT правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Защитна стена - препращане на портове" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Защитна стена - Трафик правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Защитна стена - Настройки на зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Миграция на конфигурацията на защитната стена" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Напред" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Петък" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Общи настройки" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Предоставяне на достъп до конфигурацията на защитната стена" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Хардуерно разтоварване на потока" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 и IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Само IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Само IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Входящо устройство" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Вход" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Вътрешен IP адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Вътрешен порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Вътрешна зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Бърст лимит" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Ограничаване на съобщенията в журнала" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Ограничи съвпадащаите" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Ограничава съвпадащия трафик до определената скорост." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Понеделник" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Име" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Не е напълно съвместима с QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Събота" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Неделя" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Четвъртък" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Таймаут" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Вторник" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Сряда" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/bn_BD/firewall.po b/luci-app-firewall/po/bn_BD/firewall.po new file mode 100644 index 000000000..62d8e12bc --- /dev/null +++ b/luci-app-firewall/po/bn_BD/firewall.po @@ -0,0 +1,1431 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2021-10-08 18:54+0000\n" +"Last-Translator: Rayhan Nabi \n" +"Language-Team: Bengali (Bangladesh) \n" +"Language: bn_BD\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.9-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "উন্নত সেটিংস" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "সক্রিয় করুন" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "সাধারণ সেটিংস" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "প্রোটোকল" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/ca/firewall.po b/luci-app-firewall/po/ca/firewall.po new file mode 100644 index 000000000..2aaab8960 --- /dev/null +++ b/luci-app-firewall/po/ca/firewall.po @@ -0,0 +1,1461 @@ +# luci-fw.pot +# generated from ./applications/luci-fw/luasrc/i18n/luci-fw.en.lua +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-03-18 11:11+0000\n" +"Last-Translator: \"S. Barj.\" \n" +"Language-Team: Catalan \n" +"Language: ca\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 5.5-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Acció" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Configuració avançada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permet el reenviament des dels zones d'origen:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permet el reenviament als zones de destí:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Qualsevol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "S'han desat els continguts." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continua" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Xarxes cobertes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Regles personalitzades" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Les regles personalitzades us permet executar ordres del iptables arbitraris " +"que la infraestructura de tallafocs no cobreix d'altra manera. Aquests " +"ordres s'executen després de cada reinici de tallafocs, just després el " +"conjunt de regles per defecte s'ha carregat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Adreça de destí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Port de destí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona de destí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descarta els paquets invàlids" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Activa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Habilita protecció contra la inundació SYN" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Habilita el registre d'aquesta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Adreça IP extern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Port extern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Paràmetres extres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Tallafocs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Tallafocs - Regles personalitzades" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Tallafocs - Reenviaments de port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Tallafocs - Regles de tràfic" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Tallafocs - Ajusts de zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Reenvia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Divendres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Paràmetres generals" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 i IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Només IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Només IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Adreça IP interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port intern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limita els missatges de registre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Fixació MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Mascarada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Coincideix" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Coincideix amb el tipus ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Coincideix amb trànsit entrant dirigit al port o rang de ports de destí en " +"aquest host donat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Dilluns" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Només coincideix amb trànsit entrant dirigit a la adreça IP donada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Només coincideix amb trànsit entrant des d'aquests MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Només coincideix amb trànsit entrant des d'aquest IP o rang." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Només coincideix amb trànsit originant en el host client des del port o del " +"rang de ports d'origen donat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Sortida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Passa paràmetres addicionals al iptables. Utilitzeu-ho amb cura!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Reenviaments de port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"El reenviament de ports permet que els ordinadors remots en el Internet " +"connectin a un ordinador o servei específic dins del LAN privat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "Redirigeix trànsit entrant coincidit al port donat en el host intern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Redirigeix trànsit entrant coincidit al host intern especificat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restringeix la mascarada a les subxarxes de destí donades" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restringeix la mascarada a les subxarxes d'origen donades" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restringeix a la família d'adreces" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Dissabte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Adreça IP d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Adreça MAC d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adreça d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Port d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona d'origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Diumenge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"El tallafocs crea zones a les teves interfícies de xarxa per controlar el " +"flux de tràfic de xarxa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Les opcions a sota controlen les polítiques de reenviament entre aquesta " +"zona (%s) i altres zones. Zones de destí cobreixen trànsit reenviat " +"originant des de %q. Zones d'origen coincideixen " +"amb trànsit reenviat des de altres zones apuntat a %q. La " +"regla de reenviament es unidirectional, per exemple un reenviament " +"de lan a wan no implica permís per reenviar de wan a lan també." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +#, fuzzy +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Aquesta secció defineix propietats comuns de %q. Les opcions entrada i sortida estableixen les polítiques per defecte per a trànsit " +"entrant i sortint aquesta zona mentre l'opció reenvia descriu la " +"política de trànsit reenviat entre xarxes distintes dins de la zona. " +"Xarxes cobertes especifica quines xarxes disponibles són membres " +"d'aquesta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Dijous" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Regles de trànsit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Les regles de trànsit defineixen polítiques per als paquets viatjant entre " +"zones distintes, per exemple per a rebutjar trànsit entre certs hosts o " +"obrir ports WAN en el encaminador." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Dimarts" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Dimecres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Reenviaments" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accepta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "qualsevol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "qualsevol zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "no rastregis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "descarta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rebutja" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/cs/firewall.po b/luci-app-firewall/po/cs/firewall.po new file mode 100644 index 000000000..995bf5614 --- /dev/null +++ b/luci-app-firewall/po/cs/firewall.po @@ -0,0 +1,1488 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-22 12:00+0000\n" +"Last-Translator: Ondřej Vajda \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\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 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP s typy %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP " +"%{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- přidat IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- přidat MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr " Zabránit přepsání zdroje" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Zahodit %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Přiřadit DSCP klasifikaci %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Přiřadit conntrack helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automaticky přepsat zdrojovou IP " +"adresu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nesledovat %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Odmítnout %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Staticky přepsat na zdroj %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Musí být zadána IP adresa pro přepsání!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Zakázat přepis adresy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Akce" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Další surové argumenty iptables ke klasifikaci provozu do cílové " +"zóny, např. -p tcp --dport 443 pro pouze odchozí provoz HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Další surové argumenty iptables ke klasifikaci provozu ze zdrojové " +"zóny, např. -p tcp --sport 443 pro pouze příchozí provoz HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Pokročilá nastavení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Povolit \"neplatný\" provoz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Povolit přesměrování ze zdrojových oblastí:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Povolit přesměrování do zdrojových oblastí:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Libovolné" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Kterýkoli den" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Nastavení pro Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Obsah byl uložen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Pokračovat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Pokrytá zařízení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Pokryté sítě" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Pokryté podsítě" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Vlastní pravidla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Vlastní pravidla vám umožňují spustit libovolné iptables příkazy, které " +"nejsou jinak pokryté frameworkem firewallu. Příkazy jsou spuštěny po každém " +"restartu firewallu, právě po načtení výchozí sady pravidel." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Klasifikace DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Cílová adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Cílový port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Cílová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Název zařízení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Zahazovat neplatné pakety" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Povolit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Povolit NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Povolit ochranu proti SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Povolit logování v této oblasti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Očekáváno: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Vnější IP adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Vnější port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Další argumenty volání" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Další argumenty pro cíl" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Další argumenty pro iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Další argumenty pro zdroj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Brána firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Vlastní pravidla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - pravidla NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Přesměrování portů" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Pravidla síťového provozu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Nastavení zón" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migrace konfigurace brány firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Přesměrování" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "pátek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Obecná nastavení" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Udělit přístup ke konfiguraci brány firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 a IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Pouze IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Pouze IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Příchozí zařízení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Vstup" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Vnitřní IP adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Vnitřní port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Vnitřní zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Neplatná značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Neplatná hodnota limitu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Omezit logovací zprávy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Automaticky přepsat na IP adresu odchozího rozhraní" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS clamping" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maškárádování" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Shoda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Odpovídá ICMP typu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Vybrat příchozí provoz, směrovaný na zadaný cílový port nebo rozsah portů " +"tohoto hostitele" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "pondělí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dny v měsíci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Pravidla NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Pravidla NAT umožňují jemně odstupňovanou kontrolu nad zdrojovou IP adresou " +"pro odchozí nebo předávaný provoz." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Jméno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Není plně kompatibilní s QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Vybrat pouze příchozí provoz, směrovaný na danou IP adresu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Vybrat pouze příchozí provoz z těchto MAC adres." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Vybrat pouze příchozí provoz z této IP nebo rozsahu IP adres." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Vybrat pouze příchozí provoz, pocházející ze zadaného portu nebo rozsahu " +"portů klienta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Odchozí zařízení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Odchozí zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Výstup" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Předává další argumenty iptables. Používat opatrně!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Přesměrování portů" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Přesměrování portů (port forwarding) umožňuje vzdáleným počítačům z " +"Internetu připojení k vybraným počítačům nebo službám uvnitř privátní sítě " +"LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Přesměrovat vybraný příchozí provoz na uvedený port vnitřního hostitele" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Přesměrovat vybraný příchozí provoz na uvedeného vnitřního hostitele" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Vyžaduje hardwarovou podporu NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Omezit maškarádování na uvedené cílové podsítě" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Omezit maškarádování na uvedené zdrojové podsítě" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Omezit na rodinu adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Přepsat IP adresu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Přepsat port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Přepsat na konkrétní zdrojovou IP adresu nebo port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "sobota" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Nastavit značku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Zdrojová IP adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Zdrojová MAC adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Zdrojová adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Zdrojový port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zdrojová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Datum zahájení (rrrr-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Čas zahájení (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Datum ukončení (rrrr-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Čas ukončení (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "neděle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Firewall vytváří zóny přes vaše síťová rozhraní za účelem řízení síťového " +"provozu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Níže uvedené možnosti řídí přesměrovací politiky mezi touto zónou (%s) a " +"ostatními zónami. Cílové zóny pokrývají přesměrovávaný provoz, " +"pocházející z %q. Zdrojové zóny porovnávají " +"přesměrovávaný provoz z ostatních zón, zaměřený na %q. " +"Přesměrovávací pravidlo je jednosměrné, například přesměrování z " +"lan do wan nepovoluje přesměrování z wan do lan (a naopak)." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Tato sekce definuje běžné možnosti %q. Vstupní a výstupní " +"možnosti nastavují výchozí politiky pro provoz, vstupující do této zóny a " +"vystupující z ní, zatímco přesměrovací možnosti popisují politiku " +"pro přesměrování provozu mezi rozdílnými sítěmi uvnitř jedné zóny. " +"Pokryté sítě určuje, které z dostupných sítí jsou členy této zóny." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "čtvrtek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Časová omezení" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Čas v UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Časový limit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Pravidla síťového provozu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Pravidla síťového provozu definují politiky pro cestování paketů mezi " +"různými zónami, například pro odmítnutí provozu mezi jistými hostiteli nebo " +"pro otevření WAN portů na routeru." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "úterý" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nelze uložit obsah: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nejmenovaný NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nepojmenované pravidlo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Nepojmenovaná zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Nerozpoznaný protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Použít vnější IP adresu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Použít vnitřní IP adresu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "středa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dny v týdnu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zóna ⇒ Přesměrování" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zóny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "přijmout" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "libovolný" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "libovolná zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nesledovat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "zahodit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "odmítnout" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/da/firewall.po b/luci-app-firewall/po/da/firewall.po new file mode 100644 index 000000000..933c035fa --- /dev/null +++ b/luci-app-firewall/po/da/firewall.po @@ -0,0 +1,1651 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-01-25 02:53+0000\n" +"Last-Translator: drax red \n" +"Language-Team: Danish \n" +"Language: da\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 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Videresend:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 og " +"IPv6:IPv6}:IPv4}%{proto?, protokol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP med typer %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP " +"%{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, " +"helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- tilføj IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- tilføj MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accept %{src?%{dest?videresend:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Forhindrer kildeomskrivning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Videresend til%{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Drop %{src?%{dest?videresend:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Tildel DSCP klassifikation %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Tildel forbindelse hjælper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} firewall mærke " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "Omskriv automatisk kilde IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Spor ikke %{src?%{dest?videresend:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Afvis %{src?%{dest?videresend:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statisk omskriv til kilde %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "En omskrivnings-IP skal angives!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Deaktiver adresseomskrivning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Handling" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Yderligere rå iptables argumenter til at klassificere " +"zonedestinationstrafik, f.eks. -p tcp --dport 443 for kun at " +"matche udgående HTTPS-trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Yderligere rå iptables argumenter til at klassificere " +"zonekildetrafik, f.eks. -p tcp --sport 443 for kun at matche " +"indgående HTTPS-trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adressefamilie, intern IP-adresse skal stemme overens" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adressefamilie, kildeadresse, destinationsadresse, rewrite IP-adresse skal " +"stemme overens" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Avancerede indstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Tillad \"ugyldig\" trafik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Tillad videresendelse fra kildezoner:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Tillad videresendelse til destinationszoner:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Enhver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Enhver dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Anvend en bitvis XOR af den givne værdi og den eksisterende markeringsværdi " +"på etablerede forbindelser. Formatet er værdi[/mask]. Hvis en maske er " +"angivet, nulstilles de bits, der er sat i masken." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Anvend den givne DSCP-klasse eller værdi på etablerede forbindelser." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Tildel den angivne forbindelsessporingshjælper til matchet trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatisk hjælpertildeling" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "Tildel automatisk conntrack-hjælpere baseret på trafikprotokol og port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Kommentar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Forbindelsesindstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Forbindelseshjælpere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Indholdet er blevet gemt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Fortsæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Tællere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Dækkede enheder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Dækkede netværk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Dækkede subnets" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Brugerdefinerede regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Brugerdefinerede regler giver dig mulighed for at udføre vilkårlige iptables-" +"kommandoer, som ellers ikke er dækket af firewall-rammen. Kommandoerne " +"udføres efter hver genstart af firewall, lige efter standardregelsættet er " +"blevet indlæst." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP klassifikation" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP-mærke påkrævet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Destinationsadresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Destinationsport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Destination zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Enhedens navn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Installer ikke ekstra regler for at afvise videresendt trafik med conntrack-" +"tilstand ugyldig. Dette kan være nødvendigt for komplekse " +"asymmetriske ruteopsætninger." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Drop ugyldige pakker" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Aktiver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Aktiver NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Aktiver SYN-flood beskyttelse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Aktiver logning på denne zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Aktiver netværksadresse og portoversættelse IPv4 (NAT4 eller NAPT4) for " +"udgående trafik på denne zone. Dette er typisk aktiveret på zonen wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Aktiver netværksadresse og portoversættelse IPv6 (NAT6 eller NAPT6) for " +"udgående trafik på denne zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Aktiveret" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Aktiverer sporing af pakke og byttetælling for sættet." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Forventer: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "Vælger eksplicit tilladte forbindelsessporingshjælpere til zonetrafik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Ekstern IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Ekstern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Ekstra argumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Ekstra destinationsargumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Ekstra iptables-argumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Ekstra kildeargumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familie" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - brugerdefinerede regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - IP-sæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - NAT-regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Port Forwards" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Trafikregler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Zoneindstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Firewall-konfigurationsmigrering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Videresend" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Videresendt %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}" +"}}%{mark?, mark %{mark." +"val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Fredag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Fra %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Fra %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Fra %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Generelle indstillinger" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Giv adgang til firewall-konfiguration" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Aflæsning af hardwareflow" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (rækkevidde)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP-sæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP'er/netværk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP'er/netværk/MAC'er" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 og IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Kun IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6-maskering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Kun IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Indgående enhed" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Medtag fil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Indgående %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protokol %{proto#%{næste?, }%{item.types?%{item.name}ICMP " +"med typer %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}" +":%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Oprindelig hash-størrelse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Input" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Intern IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Intern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Intern zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Intra zone fremad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Ugyldigt DSCP-mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Ugyldig grænseværdi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Ugyldigt navn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Grænse brist" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Begræns logmeddelelser" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Begræns matchning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Begræns matchning til %{limit.num} pakker pr. %{limit.unit}%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Begrænset maskering aktiveret" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Begrænser trafikmatchning til den specificeret sats." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Loopback-kilde-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASKERING - Omskriv automatisk til udgående grænseflade IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS fastspænding" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maskering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Match" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Match DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Match ICMP-type" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Match enhed" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Match videresendt trafik rettet mod den angivne IP-adresse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Match videresendt trafik rettet mod den givne destinationsport eller " +"portområde." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Match videresendt trafik fra denne IP eller dette område." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Match videresendt trafik, der stammer fra den givne kildeport eller " +"portinterval." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Match hjælper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Match indgående trafik rettet mod den givne destinationsport eller " +"portinterval på denne vært" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Match mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Match trafik ved hjælp af den angivne forbindelsessporingshjælper." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Matcher et specifikt firewallmærke eller en række forskellige mærker." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Matcher videresendt trafik ved hjælp af den angivne udgående netværksenhed." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Matcher trafik, der bærer den specificerede DSCP-mærkning." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maks indlæg" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Maks. længde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maksimalt indledende antal pakker, der skal matches: Dette antal genoplades " +"med én, hver gang grænsen angivet ovenfor ikke nås, op til dette antal." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Mandag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Måned Dage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-regler tillader finkornet kontrol over kilde-IP'en til brug for udgående " +"eller videresendt trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Navn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmaske" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Ikke fuldt kompatibel med QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Match kun indgående trafik rettet mod den angivne IP-adresse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Match kun indgående trafik fra disse MAC'er." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Match kun indgående trafik fra denne IP eller dette område." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Match kun indgående trafik, der stammer fra den givne kildeport eller " +"portinterval på klientværten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Udgående enhed" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Udgående zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Output" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Pakkefelt match" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Pakkefelter, der skal matches på.
Syntax: direction_datatype. " +"e.g.: src_port, dest_net.
Retninger: src, dst. Datatyper: ip, port, mac, net, set.
Retningspræfikser er valgfrie.
*Note: datatype set " +"understøttes ikke i fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Sender yderligere argumenter til iptables. Brug med omhu!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Ved at videregive rå iptables-argumenter til kilde- og " +"destinationstrafikklassificeringsreglerne gør det muligt at matche pakker " +"baseret på andre kriterier end grænseflader eller undernet. Disse muligheder " +"bør bruges med ekstrem forsigtighed, da ugyldige værdier kan gøre firewall-" +"regelsættet brudt, hvilket fuldstændig afslører alle tjenester." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Stien til filen med CIDR'er, undernet, værts-IP'er osv.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Forwards" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Portvideresendelse gør det muligt for fjerncomputere på internettet at " +"oprette forbindelse til en bestemt computer eller tjeneste inden for det " +"private LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Port rækkevidde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Omdiriger matchet indgående trafik til den givne port på den interne vært" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Omdiriger matchet indgående trafik til den angivne interne vært" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Henvis til eksternt sæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Reflekszoner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Kræver hardware NAT-understøttelse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Begræns Maskering til givne destination subnets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Begræns Maskering til givne kilde subnets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Begræns til adresse familie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Omskriv IP-adressen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Omskriv matchet trafik til den angivne kilde-IP-adresse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "Omskriv matchet trafik til den angivne kildeport eller portinterval." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Omskriv port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Routing/NAT Offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Omskriv til specifik kilde-IP eller port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Lørdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Sæt mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Indstil den givne mærkeværdi på etablerede forbindelser. Formatet er værdi[/" +"mask]. Hvis der er angivet en maske, ændres kun de bits, der er sat i masken." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Software flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Kilde IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Kilde MAC-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Kildeadresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Kildeport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Kilde zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Angiver, om denne trafikregel skal knyttes til en bestemt indgående eller " +"udgående netværksenhed." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Angiver, om den eksterne eller den interne IP-adresse skal bruges til " +"reflekteret trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Startdato (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Starttid (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Stopdato (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stoptid (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Opbevaringsmetode" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Søndag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Den eksisterende firewall-konfiguration skal ændres for at LuCI kan fungere " +"korrekt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Firewallen opretter zoner over dine netværksgrænseflader for at kontrollere " +"netværkstrafikstrømmen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Indstillingerne nedenfor styrer videresendelsespolitikkerne mellem denne " +"zone (%s) og andre zoner. Destinationszoner dækker videresendt " +"trafik der stammer fra %q. Kildezoner matcher " +"videresendt trafik fra andre zoner målrettet mod %q. " +"Videresendelsesreglen er envejs, f.eks. en videresendelse fra lan " +"til wan betyder ikke en tilladelse til også at videresende fra wan " +"til lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Dette afsnit definerer almindelige egenskaber for %q. Indstillingerne " +"input og output angiver standardpolitikkerne for trafik, " +"der kommer ind og forlader denne zone, mens indstillingen videresend beskriver politikken for videresendt trafik mellem forskellige netværk " +"inden for zonen. Dækkede netværk angiver, hvilke tilgængelige " +"netværk der er medlemmer af denne zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Torsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Tidsbegrænsninger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tid i UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Tidsbegrænsninger er aktiveret for denne regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Timeout" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Til %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Til %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Til %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Sporingshjælper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Trafikregler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Trafikregler definerer politikker for pakker, der rejser mellem forskellige " +"zoner, for eksempel for at afvise trafik mellem bestemte værter eller for at " +"åbne WAN-porte på routeren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Tirsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Kan ikke gemme indholdet: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Enhed: sekunder. Standard 0 betyder, at posten tilføjes " +"permanent til sættet.
Max: 2147483 sekunder." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Ukendt eller ikke installeret conntrack-hjælper \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Unavngivet NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Unavngivne forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Unavngiven regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Unavngivet sæt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Unavngiven zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Ukendt protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Når du trykker på \"Fortsæt\", vil \"omdirigere\" sektioner med målet " +"\"SNAT\" blive konverteret til \"nat\" sektioner, og firewallen vil blive " +"genstartet for at anvende den opdaterede konfiguration." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Brug ekstern IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Brug intern IP-adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Brug ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Brug denne mulighed til at klassificere zonetrafik efter rå, ikke-uci-administrerede netværksenheder." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Brug denne indstilling til at klassificere zonetrafik efter kilde eller " +"destination subnet i stedet for netværk eller enheder." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Gyldigt firewallmærke påkrævet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Onsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Ugedage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR firewall-mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Din enhed kører ikke firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Din enhed kører firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zone ⇒ Videresendelser" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zoner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zoner, hvor refleksionsregler skal skabes. Hvis det ikke er indstillet, " +"bruges kun destinationszonen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accept" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "enhver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "enhver zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "enhver/alle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "anvend firewall-mærke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "tildel forbindelse-hjælper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatisk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap er kun ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Destination IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Destination MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Destinations(under)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Destinationsport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Destination ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "omskriv ikke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "spor ikke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "drop" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 understøtter henvisning og oprettelse af IP-sæt for at forenkle " +"matchning af store adresselister uden at skulle oprette en regel for hvert " +"element, der skal matches. Portintervaller i ips-sæt understøttes ikke af " +"firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fraport-tilport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "time" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
Til brug med Match-datatyper: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "liste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (under)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "afvis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekund" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "sæt: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Kilde ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Kilde-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Source MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Kilde(under)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Kildeport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "denne enhed" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "denne nye zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "ubegrænset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "uspecificeret" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "op til 65536 poster." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "gyldigt firewallmærke" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Softwarebaseret offloading til routing/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Aktiver netværksadresse og portoversættelse (NAT eller NAPT) for udgående " +#~ "trafik på denne zone. Dette er typisk aktiveret på wan zone." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Videresend IPv4%{proto?, protokol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Indkommende IPv4%{proto?, protokol %{proto#%{next?, }%{item.types?%{item.name}ICMP med typer %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +#~ "%{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/de/firewall.po b/luci-app-firewall/po/de/firewall.po new file mode 100644 index 000000000..b55bd9bdd --- /dev/null +++ b/luci-app-firewall/po/de/firewall.po @@ -0,0 +1,1679 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-28 20:23+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: German \n" +"Language: de\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 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Weitergeleiteter:Eingehender}:Ausgehender} %{ipv6?%{ipv4?" +"IPv4- und IPv6:IPv6}:IPv4}-" +"Verkehr%{proto?, Protokoll %{proto#%{next?, }%{item.types?%{item.name}ICMP mit Typen " +"%{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, Tracking-" +"Helfer %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP hinzufügen --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC hinzufügen --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} erlauben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Quellmaskierung unterbinden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Weiterleiten zu %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? Port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} verwerfen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Setze DSCP-Klassifizierung auf " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Assoziiere Tracking-Helfer " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Setze:XOR} Firewall-Markierung " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "Quell-IP automatisch maskieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"%{src?%{dest?Weiterleitungs:Eingangs}:Ausgangs}-Tracking verhindern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} ablehnen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Quell%{snat_ip?-IP %{snat_ip}} %{snat_port?Port %{snat_port}" +"} statisch umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Es muss eine IP-Adresse zum Umschreiben angegeben werden!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Umschreiben von IP-Adressen deaktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Aktion" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Zusätzliche rohe iptables-Argumente zur Klassifizierung des " +"Zonenzielverkehrs, z.B. -p tcp --dport 443, um nur ausgehenden " +"HTTPS-Verkehr übereinstimmen zu lassen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Zusätzliche rohe iptables-Argumente zur Klassifizierung von " +"Zonenquellenverkehr, z.B. -p tcp --sport 443, um nur " +"eingehenden HTTPS-Verkehr übereinstimmen zu lassen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adressfamilie, interne IP-Adresse muss übereinstimmen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adressfamilie, Quelladresse, Zieladresse, IP-Adressenumschreibung muss " +"übereinstimmen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Erweiterte Einstellungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Erlaube \"ungültigen\" Verkehr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Erlaube Weiterleitung von Quellzone:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Erlaube Weiterleitung zu Zielzone:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Beliebig" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Beliebig" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Bitweises XOR von angegebenem Wert und Maske auf etablierte Verbindungen " +"anwenden. Format ist Wert[/Maske]. Wenn eine Maske angegeben ist, werden die " +"korrespondierenden Bits des Wertes genullt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"Wende die angegebene DSCP-Klasse oder den angegebenen DSCP-Wert auf " +"etablierte Verbindungen an." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Weise den angegebenen Verbindungs-Tracking-Helfer selektiertem Verkehr zu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatische Helferzuordnung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Automatische Zuweisung von Conntrack-Helfern basierend auf Traffic-Protokoll " +"und Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Kommentar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack-Einstellungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack-Helfer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Inhalte wurden gespeichert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Fortfahren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Zähler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Abgedeckte Geräte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Abgedeckte Netzwerke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Abgedeckte Subnetze" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Benutzerdefinierte Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Benutzerdefinierte Regeln ermöglichen das Ausführen belieber iptables-" +"Befehle welche durch das Firewall-Framework nicht unterstützt werden. Die " +"Befehle werden mit jedem Firewall-Neustart abgearbeitet, direkt nach dem " +"Laden der Basisregeln." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP-Klassifizierung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP-Markierung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP-Markierung benötigt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Zieladresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Zielport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Ziel-Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Gerätename" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Installiere keine zusätzlichen Regeln, um weitergeleiteten Traffic mit " +"Conntrack-Status invalid abzulehnen. Dies kann bei komplexen " +"asymmetrischen Routen erforderlich sein." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Ungültige Pakete verwerfen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Aktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT-Loopback aktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Schutz vor SYN-flood-Attacken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Protokollierung innerhalb der Zone aktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Aktivieren der Netzwerkadressen- und Portübersetzung IPv4 (NAT4 oder NAPT4) " +"für den ausgehenden Verkehr in dieser Zone. Dies wird normalerweise für die " +"Zone wan aktiviert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Aktivieren der Netzwerkadressen- und Portübersetzung IPv6 (NAT6 oder NAPT6) " +"für den ausgehenden Verkehr in dieser Zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Aktiviert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Aktiviert die Paket- und Byte-Zählungsverfolgung für das Set." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Erwarte: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Wählt explizit zulässige Verbindungs-Tracking-Helfer für den Zonenverkehr aus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Externe IP-Adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Externer Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Zusätzliche Argumente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Zusätzliche Ziel-Argumente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Zusätzliche iptables-Argumente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Zusätzliche Quell-Argumente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familie" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Benutzerdefinierte Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - IP-Sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - NAT Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Portweiterleitungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Traffic-Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Zoneneinstellungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migration der Firewall-Konfiguration" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Weiterleitung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +#, fuzzy +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Weitergeleiteter %{ipv6?%{ipv4?IPv4- und IPv6:" +"IPv6-}:IPv4}-Verkehr%{proto?, Protokoll " +"%{proto#%{next?, }%{item.name}}}%{mark?, Markierung %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Freitag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Von %{src}%{src_device?, Schnittstelle %{src_device}}%{src_ip?, " +"IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, Port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Von %{src}%{src_device?, Schnittstelle %{src_device}}%{src_ip?, " +"IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Von %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Allgemeine Einstellungen" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Zugriff auf die Firewall-Konfiguration gewähren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Hardwarebasiertes Offloading zum Routing mit/ohne NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Hardwarebeschleunigte Flusskontrolle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (Bereich)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP-Sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Netzwerke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Netzwerke/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 und IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "nur IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6-Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "nur IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Eingehendes Gerät" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Datei einschließen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Eingehende %{ipv6?%{ipv4?IPv4 und IPv6:IPv6}:IPv4}%{proto?, Protokoll %{proto#%{next?, }%{item.types?" +"%{item.name}ICMP mit Typen %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark? mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Initiale Hash Größe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Eingehend" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Interne IP-Adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Interner Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Interne Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Intra-Zonen-Forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Ungültige DSCP-Markierung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Ungültiger Limit-Wert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Falscher Setname" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Limit-Häufung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Protokollnachrichten limitieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limitiere Vergleiche" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitiere Vergleiche auf %{limit.num} Pakete pro %{limit." +"unit}%{limit.burst? Häufung %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Eingeschränktes Masquerading aktiviert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limitiere Verkehrsvergleiche auf die angegebene Rate." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Loopback Quell-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Automatisch auf IP-Adresse der ausgehenden Schnittstelle " +"umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS Korrektur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "NAT aktivieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Filter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP selektieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Nach ICMP-Typ filtern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Gerät selektieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Selektiert an die angegebene IP-Adresse gerichteten Verkehr." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Selektiert an den angegeben Port oder Port-Bereich gerichteten Verkehr." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Selektiert weitergeleiteten Verkehr von dieser IP oder diesem IP-Bereich." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Selektiert weitergeleiteten Verkehr vom angegebenem Quellport oder " +"Portbereich." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Helfer selektieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Eingehende Verbindungen filtern welche an den angegebenen Port oder " +"Portbereich auf dem lokalen Gerät gerichtet sind" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Erfasse Markierung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Selektiere Verkehr welcher den angegebenen Tracking-Helfer benutzt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Selektiert Verkehr mit einer spezifischen Firewall-Markierung oder einem " +"Bereich von Markierungen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Selektiert weitergeleiteten Verkehr welcher die angegebene " +"Netzwerkschnittstelle benutzt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Selektiere Verkehr welcher die angegebene DSCP-Markierung trägt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maximale Einträge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Maximale Länge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maximale initiale Menge von Paketen die selektiert werden. Die Nummer wird " +"jedes Mal erhöht, wenn das oben genannte Limit nicht erreicht wird, bis zur " +"hier angegeben Anzahl." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Montag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Monatstage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-Regeln erlauben eine detaillierte Kontrolle über die verwendete Quell-IP-" +"Adresse für ausgehenden oder weitergeleiteten Verkehr." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netzmaske" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Keine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Nicht vollständig kompatibel mit QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Selektiert nur Traffic der an die angegebene IP-Adresse gerichtet ist." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Selektiert nur Traffic von den angegebenen MAC-Adressen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Selektiert nur Traffic vom angebenem Quell-IP-Adressbereich." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Nur eingehenden Datenverkehr, der vom angegebenen Quellport oder Portbereich " +"des Client-Host stammt, selektieren" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Ausgehende Schnittstelle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Ausgehende Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Ausgehend" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Paket-Feld Übereinstimmung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Übereinstimmende Paketfelder.
Syntax: direction_datatype. e." +"g.: src_port, dest_net.
Richtung: src, dst. " +"Datentypen: ip, port, mac, net, set.
Richtungspräfix ist " +"optional.
*Hinweis: Datentyp set wird von fw4 nicht " +"unterstützt." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Gibt zusätzliche Kommandozeilenargumente an iptables weiter. Mit Vorsicht " +"benutzen!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Die Übergabe von rohen iptables-Argumenten an die Klassifizierungsregeln für " +"den Quell- und Zielverkehr ermöglicht es, Pakete abzugleichen, die auf " +"anderen Kriterien als Schnittstellen oder Subnetzen basieren. Diese Optionen " +"sollten mit äußerster Vorsicht verwendet werden, da ungültige Werte dazu " +"führen können, dass der Firewall-Regelsatz außer Funktion gesetzt wird und " +"alle Dienste vollständig offengelegt werden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Pfad zu Datei mit CIDRs, Subnetzen, Host IPs, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Portweiterleitungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Portweiterleitungen ermöglichen es entfernten Rechnern im Internet auf " +"bestimmte Computer oder Dienste im lokalen LAN zuzugreifen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Port-Bereich" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Gefilterte Verbindungen an den angegeben Port auf dem internen Host " +"weiterleiten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Gefilterte Verbindungen an den angegeben internen Host weiterleiten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Verweis auf externes Set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Reflection-Zonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Erfordert Hardware-NAT-Unterstützung." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "NAT auf die angegebenen Ziel-Subnetze beschränken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "NAT auf die angegebenen Quell-Subnetze beschränken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Auf Adressfamilie beschränken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP-Adresse umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Selektierten Verkehr auf die angegebene Quell-IP-Adresse umschreiben." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Selektierten Verkehr auf den angegebenen Quell-Port bzw. Port-Bereich " +"umschreiben." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Routing/NAT-Beschleunigung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Umschreiben auf spezifische Quell-IP oder Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Samstag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Markierung setzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Setzt die angegebenen Markierung auf etablierten Verbindungen. Das Format " +"ist Wert[/Maske]. Wenn eine Maske spezifiziert ist, werden nur die " +"korrespondierenden Bits des Markierungswertes verändert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Softwarebasiertes Offloading von Routing/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Beschleunigte Flusskontrolle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Quell-IP-Adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Quell-MAC-Adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Quelladresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Quellport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Quell-Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Gibt an, ob diese Verkehrsregel an eine spezifische Eingangs- oder " +"Ausgangsschnittstelle gebunden wird." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Gibt an, ob die externe oder die interne IP-Adresse für reflektierten " +"Verkehr genutzt wird." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Startdatum (JJJJ-MM-TT)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Startzeit (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Enddatum (JJJJ-MM-TT)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stoppzeit (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Speichermethode" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Sonntag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Die existierende Firewall-Konfiguration muss geändert werden damit LuCI " +"richtig funktioniert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Die Firewall erstellt Netzwerkzonen über bestimmte Netzwerkschnittstellen um " +"den Netzwerk-Traffic zu trennen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Die untenstehenden Optionen regeln die Verfahrensweisen für Traffic zwischen " +"dieser Zone (%s) und anderen Zonen. Ziel-Zonen decken " +"weitergeleiteten Traffic von %q ab. Quell-Zonen " +"treffen auf weitergeleiteten Traffic aus anderen Zonen zu, welcher " +"an %q gerichtet ist. Die Weiterleitung gilt nur in eine " +"Richtung, d. h. eine erlaubte Weiterleitung von LAN nach WAN bedeutet " +"nicht zusätzlich die Erlaubnis, auch von WAN nach LAN " +"weiterzuleiten." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Dieser Abschnitt definiert allgemeine Eigenschaften der %q-Zone. Die " +"input- und output-Optionen definieren die Regeln für " +"Datenverkehr, der in diese Zone eintritt oder diese verlässt. forward trifft auf Datenverkehr zwischen verschiedenen Schnittstellen innerhalb " +"dieser Zone zu. Covered networks definiert welche der verfügbaren " +"Netzwerke zu dieser Zone gehören." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Donnerstag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Zeitbeschränkungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Zeit ist UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Zeitbeschränkungen sind aktiviert für diese Regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Zeitüberschreitung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Nach %{dest}%{dest_device?, Schnittstelle %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}
}}" +msgstr "" +"Nach %{dest}%{dest_device?, über Schnittstelle %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Nach %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, Port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Tracking-Helfer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Traffic-Regeln" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Traffic-Regeln bestimmen den Fluss der Pakete zwischen verschiedenen Zonen, " +"zum Beispiel um Traffic zwischen bestimmten Rechnern zu unterbinden oder um " +"WAN-Ports auf dem Router zu öffnen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Dienstag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Inhalt kann nicht gespeichert werden: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Einheit: Sekunden. Voreinstellung 0 bedeutet der Eintrag wird " +"dauerhaft hinzugefügt.
Maximaler Wert: 2147483 Sekunden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Unbekannter oder nicht installierter Tracking-Helfer \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Unbenannte NAT-Regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Unbenannte Portweiterleitung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Unbennante Regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Unbenanntes Set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Unbenannte Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Unbekanntes Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Beim Fortfahren werden \"redirect\" Sektionen mit \"SNAT\" Aktion in \"nat\" " +"Sektionen konvertiert und die Firewall wird neu gestartet um die geänderte " +"Konfiguration anzuwenden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Externe IP-Adresse nutzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Interne IP-Adresse nutzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Benutze ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Diese Option verwenden, um den Zonenverkehr nach rohen, nicht uci-" +"verwalteten Netzwerkgeräten zu klassifizieren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Diese Option verwenden, um den Zonenverkehr nach Quell- oder Zielsubnetz " +"anstelle von Netzwerken oder Geräten zu klassifizieren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Gültige Firewall-Markierung benötigt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Mittwoch" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Wochentage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Firewallmarkierung XOR-en" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Markierungen XOR-en" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Firewall4 ist auf Ihrem Gerät nicht aktiviert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Firewall4 ist auf Ihrem Gerät aktiviert." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zone ⇒ Weiterleitungen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonen, aus denen Reflection-Regeln erstellt werden sollen. Wenn nicht " +"festgelegt, wird nur die Zielzone verwendet." + +# Die richtige Übersetzung von ACCEPT im Firewallkontext ist nicht "Annehmen" sondern "Zulassen". Man kann ja keinen +# ausgehenden Traffic annehmen. +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "zulassen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "alle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "beliebige Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "beliebig/alle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "Firewallmarkierung anwenden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "Tracking-Helfer zuordnen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "Automatisch" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "Bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "Bitmap ist nur IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "Tag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Ziel IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Ziel MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Ziel (Sub)netz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Ziel Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Ziel ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "nicht umschreiben" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nicht verfolgen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "verwerfen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"Firewall4 unterstützt die Referenzierung und Erzeugung von IP sets, um die " +"Übereinstimmung mit großen Adresslisten zu vereinfachen, ohne dass für jede " +"Adresse eine eigene Regel erzeugt werden muss. Portbereiche in ipsets werden " +"von Firewall4 nicht unterstützt.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "vonPort-bisPort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "Hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "Stunde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP-Adr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Zur Verwendung mit Übereinstimmungs-Datentypen: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "Liste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC-Addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macAdr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "Minute" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (Sub-)Netz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "zurückweisen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "Sekunde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Quell-ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Quell-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Quell-MAC-Adr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Quell-(sub)netz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Quell-Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "dieses Gerät" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "diese neue Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "unlimitiert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "unspezifiziert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "bis zu 65536 Einträgen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "gültige Firewall-Markierung" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Softwarebasierte Auslagerung von Routing/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Ativar a conversão de endereços e portas de rede (NAT ou NAPT) para o " +#~ "tráfego de saída nessa zona. Isto é normalmente ativado na zona wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Weitergeleiteter IPv4-Verkehr%{proto?, Protokoll %{proto#%{next?, }" +#~ "%{item.name}}}%{mark?, Markierung %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Eingehender IPv4-Verkehr%{proto?, Protokoll %{proto#%{next?, }%{item." +#~ "types?%{item.name}ICMP mit Typen %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, Helfer %{helper.inv?%{helper.val}:" +#~ "%{helper.val}}}" diff --git a/luci-app-firewall/po/el/firewall.po b/luci-app-firewall/po/el/firewall.po new file mode 100644 index 000000000..e01595bd0 --- /dev/null +++ b/luci-app-firewall/po/el/firewall.po @@ -0,0 +1,1444 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-11-09 08:59+0000\n" +"Last-Translator: Mac Mac \n" +"Language-Team: Greek \n" +"Language: el\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 5.8.2\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- προσθήκη IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- προσθήκη MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accept %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Prevent source rewrite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Δράση" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Ρυθμίσεις για προχωρημένους" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Οποιοδήποτε" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Προσαρμοσμένοι Κανόνες" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Διεύθυνση προορισμού" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Θύρα προορισμού" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Ζώνη προορισμού" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Όνομα συσκευής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Αγνόηση μη-έγκυρων πακετών" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Ενεργοποίηση" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +#, fuzzy +msgid "Enable NAT Loopback" +msgstr "Ενεργοποιήστε το NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Ενεργοποιήστε την προστασία SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Ενεργοποιήστε τη σύνδεση σε αυτήν τη ζώνη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Εξωτερική διεύθυνση IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Εξωτερική θύρα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Επιπλέον παράμετροι" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Τείχος προστασίας" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Τείχος προστασίας - Προσαρμοσμένοι Κανόνες" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Τείχος προστασίας - Προώθηση Θυρών" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Τείχος προστασίας - Κανόνες Κίνησεις" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Τείχος προστασίας - Ρυθμίσεις Ζώνης" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Προώθηση" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Γενικές ρυθμίσεις" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 και IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Μόνο IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Μόνο IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Είσοδος" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Εσωτερική διεύθυνση IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +#, fuzzy +msgid "Internal port" +msgstr "Εξωτερική θύρα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Εσωτερική ζώνη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Περιορισμός καταγραφών συστήματος" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +#, fuzzy +msgid "MSS clamping" +msgstr "Περιορισμός MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Ονομα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Έξοδος" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Προώθηση Θυρών" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Πρωτόκολλο" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +#, fuzzy +msgid "Source IP address" +msgstr "Διεύθυνση MAC πηγής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +#, fuzzy +msgid "Source address" +msgstr "Διεύθυνση MAC πηγής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Θύρα πηγής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +#, fuzzy +msgid "Source zone" +msgstr "Θύρα πηγής" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Κυριακή" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Το τείχος προστασίας δημιουργεί ζώνες πάνω στις διεπαφές δικτύου για να " +"ελέγχει την δικτυακή κίνηση." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Πέμπτη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Χρονικοί Περιορισμοί" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Ώρα σε UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Οι χρονικοί περιορισμοί είναι ενεργοποιημένοι για αυτόν τον κανόνα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Τέλος χρόνου" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Βοηθός παρακολούθησης" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Κανόνες κυκλοφορίας" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Οι κανόνες κυκλοφορίας ορίζουν πολιτικές για πακέτα που ταξιδεύουν μεταξύ " +"διαφορετικών ζωνών, για παράδειγμα μια απόρριψη κίνησης μεταξύ ορισμένων " +"κεντρικών υπολογιστών ή για άνοιγμα θυρών WAN στο δρομολογητή." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Τρίτη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Ανώνυμο NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Κανόνας χωρίς όνομα" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Ζώνη ⇒ Διαβιβάσεις" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Ζώνες" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "αποδοχή" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "οποιαδήποτε" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "αγνόηση" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "απόρριψη" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/es/firewall.po b/luci-app-firewall/po/es/firewall.po new file mode 100644 index 000000000..f0b3feb96 --- /dev/null +++ b/luci-app-firewall/po/es/firewall.po @@ -0,0 +1,1677 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-25 20:19+0000\n" +"Last-Translator: Franco Castillo \n" +"Language-Team: Spanish \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 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Reenvío:Entrada}:Salida} %{ipv6?%{ipv4?IPv4 y " +"IPv6:IPv6}:IPv4}%{proto?, protocolo " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP con tipos %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, marca " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, ayudante %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- añadir IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- añadir MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Aceptar %{src?%{dest?reenvío:entrada}:" +"salida}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" +"Prevenir la reescritura de la fuente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Reenviar a %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? puerto %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Descartar %{src?%{dest?reenvío:entrada}:" +"salida}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Asignar DSCP clasificación %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Asignar conntrack ayudante " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Asignar:XOR} marca de " +"cortafuegos%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Reescribir automáticamente la IP de " +"origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"No seguir %{src?%{dest?reenvío:entrada}:" +"salida}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rechazar %{src?%{dest?reenvío:entrada}:" +"salida}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Reescribir estáticamente a origen %{snat_ip?" +"IP %{snat_ip}} %{snat_port?puerto %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "¡Se debe especificar una IP de reescritura!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACEPTAR - Desactivar reescritura de direcciones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Acción" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argumentos sin procesar adicionales de iptables para clasificar el " +"tráfico de destino de la zona, p.e. -p tcp --dport 443 para que " +"solo coincida con el tráfico HTTPS saliente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argumentos sin procesar adicionales de iptables para clasificar el " +"tráfico de origen de zona, p.e. -p tcp --sport 443 para que " +"solo coincida con el tráfico HTTPS entrante." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Familia de direcciones, la dirección IP interna debe coincidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"La familia de direcciones, la dirección de origen, la dirección de destino, " +"la dirección IP de reescritura debe coincidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Ajustes avanzados" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Permitir tráfico \"inválido\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permitir reenvío desde zonas de origen:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permitir reenvío a zonas de destino:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Cualquiera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Cualquier día" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Aplique un XOR bit a bit del valor dado y el valor de marca existente en las " +"conexiones establecidas. El formato es el valor [/ máscara]. Si se " +"especifica una máscara, esos bits establecidos en la máscara se ponen a cero." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Aplique la clase o valor DSCP dado a las conexiones establecidas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Asigne el asistente de seguimiento de conexión especificado al tráfico " +"coincidente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Asignación automática de ayuda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Asigna automáticamente ayudantes de conntrack según el protocolo de tráfico " +"y el puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Comentario" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Configuraciones de Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Ayudantes de Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Se han guardado los contenidos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contadores" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Interfaces cubiertas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Redes cubiertas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Subredes cubiertas" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Reglas personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Las reglas personalizadas le permiten ejecutar comandos de iptables que no " +"están disponibles en el marco del Cortafuegos. Los comandos se ejecutarán " +"tras cualquier reinicio del Cortafuegos, justo tras haber cargado el " +"conjunto de reglas predeterminadas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Clasificación DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marca DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marca DSCP requerida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Dirección de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Puerto de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nombre del dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"No instale reglas adicionales para rechazar el tráfico reenviado con el " +"estado conntrack inválido. Esto puede ser necesario para " +"configuraciones complejas de rutas asimétricas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descartar paquetes inválidos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Activar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Activar bucle de retorno de NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Activar protección contra inundaciones SYN" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Activar registro en esta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Activa la dirección de red y la traducción de puertos IPv4 (NAT4 o NAPT4) " +"para el tráfico saliente en esta zona. Esto normalmente está activo en la " +"zona wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Activa la dirección de red y la traducción de puertos IPv6 (NAT6 o NAPT6) " +"para el tráfico saliente en esta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Activado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Activa el seguimiento del conteo de paquetes y bytes para el conjunto." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Esperando: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Elige explícitamente los ayudantes de seguimiento de conexión permitidos " +"para el tráfico de zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Dirección IP externa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Puerto externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumentos extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argumentos de destino adicionales" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argumentos adicionales de iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argumentos fuente adicionales" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familia" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Cortafuegos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Cortafuegos - Reglas personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Cortafuegos: Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Cortafuegos - Reglas de NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Cortafuegos - Reenvío de puertos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Cortafuegos - Reglas de tráfico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Cortafuegos - Ajustes de Zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migración de configuración del Cortafuegos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "Tipo de descarga de flujo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Reenviar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Reenviado %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocolo %{proto#%{next?, }%{item.name}}}%{mark?, marca %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Viernes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Desde %{src}%{src_device?, interfaz %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, " +"puerto %{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Desde %{src}%{src_device?, interfaz %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, " +"puerto %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Desde %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item." +"ival}}}%{src_port?, puerto %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Ajustes generales" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Conceder acceso a la configuración del Cortafuegos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Descarga basada en hardware para el enrutamiento con/sin NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Descarga de flujo por hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (rango)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Redes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Redes/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 e IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Solo IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Enmascarar la IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Solo IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Dispositivo de entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Incluir archivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Entrada %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Tamaño de hash inicial" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Dirección IP interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Puerto interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Reenvío dentro de la zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marca DSCP inválida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valor límite no válido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nombre del conjunto no válido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Límite de ráfaga" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limitar registro de mensajes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limitar coincidencia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitar coincidencia a %{limit.num} paquetes por %{limit." +"unit}%{limit.burst? interrumpir %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Enmascaramiento limitado activado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limita el tráfico que coincide con la velocidad especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP de origen de bucle de retorno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Reescribir automáticamente a la IP de la interfaz de salida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Sujeción MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Enmascaramiento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Coincidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Coincidir DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Coincidir con tipo ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Dispositivo de coincidencia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Haga coincidir el tráfico reenviado dirigido a la dirección IP dada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Haga coincidir el tráfico reenviado dirigido al puerto de destino o rango de " +"puertos dados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Haga coincidir el tráfico reenviado desde esta IP o rango." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Haga coincidir el tráfico reenviado que se origina en el puerto fuente o " +"rango de puertos dados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Ayudante de partido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Coincidir con tráfico de entrada dirigido al puerto o rango de puertos " +"destino en este host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca de partido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Haga coincidir el tráfico con el ayudante de seguimiento de conexión " +"especificado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Coincide con una marca de Cortafuegos específica o un rango de marcas " +"diferentes." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Coincide con el tráfico reenviado utilizando el dispositivo de red saliente " +"especificado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Coincide con el tráfico que lleva la marca DSCP especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Máximo de entradas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Longitud máxima" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Número inicial máximo de paquetes que deben coincidir: este número se " +"recarga en uno cada vez que no se alcanza el límite especificado " +"anteriormente, hasta este número." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Lunes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Días del mes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Reglas de NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Las reglas NAT permiten un control detallado sobre la IP de origen que se " +"utilizará para el tráfico saliente o reenviado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Máscara de red" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Ninguno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "No es totalmente compatible con QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Coincidir sólo con tráfico de entrada a esta dirección IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Coincidir sólo con tráfico de entrada desde estas MACs." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Coincidir sólo con tráfico de entrada desde esta IP o rango." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Solo coincida con el tráfico entrante que se origina desde el puerto de " +"origen o el rango de puertos en el host del cliente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Dispositivo de salida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona de salida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Salida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Emparejar los paquetes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Campos de paquetes para hacer coincidir.
Sintaxis: " +"direction_datatype. p.e.: src_port, dest_net.
Direcciones: src, dst. Tipos de datos: ip, port, mac, " +"net, set.
Los prefijos de dirección son opcionales.
*Nota: " +"el tipo de dato set no es compatible con fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Ingrese argumentos adicionales a iptables. ¡Utilícelo con cuidado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Pasar argumentos de iptables sin procesar a las reglas de clasificación de " +"tráfico de origen y destino permite hacer coincidir paquetes basados en " +"otros criterios que no sean interfaces o subredes. Estas opciones se deben " +"usar con extremo cuidado, ya que los valores inválidos pueden hacer que el " +"conjunto de reglas del cortafuegos se rompa, exponiendo completamente todos " +"los servicios." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Ruta al archivo de CIDR, subredes, IP de host, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Reenvío de puertos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"El reenvío de puertos permite que los computadores remotos en Internet se " +"conecten a un computador o servicio específico dentro de la LAN privada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Rango de puertos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocolo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Redirigir el tráfico de entrada que coincida al puerto dado en el host " +"interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" +"Redirigir el tráfico de entrada que coincida al host interno especificado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Consulta el Conjunto externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zonas de reflexión" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Requiere soporte de NAT por hardware." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restringir enmascaramiento a las subredes destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restringir enmascaramiento a las subredes origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restringir para dirigirse a la familia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Reescribir dirección IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Reescribe el tráfico coincidente a la dirección IP de origen especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Reescribe el tráfico coincidente al puerto de origen o rango de puertos " +"especificados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Reescribir puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Enrutamiento/Descarga NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Reescribe a una fuente específica IP o puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sábado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Establecer marca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Establezca el valor de marca dado en las conexiones establecidas. El formato " +"es el valor [/máscara]. Si se especifica una máscara, sólo se modifican los " +"bits establecidos en la máscara." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Descarga basada en software para el enrutamiento/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Descarga de flujo por software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Dirección IP de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Dirección MAC de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Dirección de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Puerto de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Especifica si se debe vincular esta regla de tráfico a un dispositivo de red " +"entrante o saliente específico." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Especifica si se debe usar la dirección IP externa o interna para el tráfico " +"reflejado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Fecha de inicio (aaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Hora de inicio (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Fecha de finalización (aaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Hora de finalización (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Método de almacenamiento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domingo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"La configuración del cortafuegos existente debe cambiarse para que LuCI " +"funcione correctamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"El cortafuegos crea zonas sobre tus interfaces de red para controlar el " +"flujo de tráfico de la red." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Estas opciones controlan las políticas de reenvío entre esta zona (%s) y " +"otras. Las zonas de origen cubren el tráfico reenviado desde " +"%q. Las zonas de origen coinciden con el tráfico " +"reenviado desde otras zonas dirigido a %q. La regla de " +"reenvío es unidireccional, por ejemplo una regla de reenvío desde " +"la LAN a la WAN no implica permiso para reenviar desde la WAN a la " +"LAN también." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Esta sección define propiedades comunes de %q. Las opciones de entrada y salida marcan las políticas por defecto para el tráfico que " +"entra y sale de esta zona mientras que la opción reenviar describe " +"la política para tráfico reenviado entre diferentes redes dentro de la zona. " +"Redes cubiertas especifica qué redes disponibles son miembros de " +"esta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Jueves" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restricciones de tiempo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tiempo en UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Las restricciones de tiempo están activadas para esta regla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Tiempo de espera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"A %{dest}%{dest_device?, interfaz %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, " +"puerto %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"A %{dest}%{dest_device?, via interfaz %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, " +"puerto %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"A %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item." +"ival}}}%{dest_port?, puerto %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Ayudante de seguimiento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Reglas de tráfico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Las reglas de tráfico definen políticas para paquetes que viajan entre " +"diferentes zonas, por ejemplo, para rechazar el tráfico entre ciertos hosts " +"o para abrir puertos WAN en el enrutador." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Martes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "No se puede guardar el contenido: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unidad: segundos. El 0 predeterminado significa que la entrada " +"se agrega permanentemente al conjunto.
Máx.: 2147483 segundos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Ayudante de Conntrack desconocido o no instalado \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Reenvío sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regla sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Conjunto sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona sin nombre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocolo no reconocido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Al presionar \"Continuar\", las secciones de \"redireccionamiento\" con " +"\"SNAT\" de destino se convertirán en secciones \"nat\" y el cortafuegos se " +"reiniciará para aplicar la configuración actualizada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Usar dirección IP externa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Usar dirección IP interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Usar ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Use esta opción para clasificar el tráfico de zona por raw, dispositivos de " +"red no administrados uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Use esta opción para clasificar el tráfico de zona por subred de origen o " +"destino en lugar de redes o dispositivos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Se requiere una marca de cortafuegos válida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Miércoles" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Días de la semana" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marca de cortafuegos XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marca XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Su dispositivo no ejecuta firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Tu dispositivo ejecuta firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Reenvíos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonas a partir de las cuales se crearán las reglas de reflexión. Si no está " +"configurado, solo se utiliza la zona de destino." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "aceptar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "cualquiera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "cualquier zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "cualquiera/todos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aplicar marca de cortafuegos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "asignar ayudante de Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automático" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap es solo ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "día" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Dirección MAC de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (Sub)red de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Puerto de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: conjunto de ips de destino*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "no reescribir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "no seguir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "descartar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 admite la referencia y la creación de conjuntos de IP para " +"simplificar la coincidencia de listas de direcciones grandes sin la " +"necesidad de crear una regla por elemento a coincidir. Los rangos de puertos " +"en ipsets no son compatibles con firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "de puerto-a puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "hora" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Dirección IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Para usar con los tipos de datos de iguales:*_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: Dirección MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (Sub)red" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Puerto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rechazar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "segundo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: IPset de origen*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Dirección MAC de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (Sub)red de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Puerto de origen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "este dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "esta nueva zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "ilimitado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "sin especificar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "hasta 65536 entradas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marca de cortafuegos válida" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Descarga basada en software para enrutamiento/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Habilite la dirección de red y la traducción de puertos (NAT o NAPT) para " +#~ "el tráfico saliente en esta zona. Esto normalmente está habilitado en la " +#~ "zona wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Reenviar IPv4%{proto?, protocolo %{proto#%{next?, }%{item.name}}}%{mark?, marca %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "IPv4 entrante%{proto?, protocolo %{proto#%{next?, }%{item.types?%{item.name}ICMP con tipos %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, ayudante %{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/fa/firewall.po b/luci-app-firewall/po/fa/firewall.po new file mode 100644 index 000000000..cea87c6f6 --- /dev/null +++ b/luci-app-firewall/po/fa/firewall.po @@ -0,0 +1,1633 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-05 08:09+0000\n" +"Last-Translator: Danial Behzadi \n" +"Language-Team: Persian \n" +"Language: fa\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 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP با انواع ICMP %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- افزودن IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- افزودن مک آدرس --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"تایید %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "جلوگیری از منبع بازنویسی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"ارسال to %{dest}%{dest_ip?آی پی " +"%{dest_ip}}%{dest_port? پورت %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"دراپ %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"اختصاص DSCP DSCP classification " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"اختصاص conntrack helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} علامت فایروال " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "باز نویسی خودکار منبع ایپی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"{src?%{dest?forward:input}:output}% رديابي نکن " + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"لغو %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"بازنویسی ایستا به منبع %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "یک IP بازنویسی شده باید مشخص شود!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "تایید - بازنویسی آدرس غیر فعال شد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "اجرا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"استدلال های خام اضافی iptables برای طبقه بندی ترافیک مقصد منطقه، به " +"عنوان مثال. -p tcp --dport 443 فقط برای مطابقت با ترافیک خروجی " +"HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"استدلال های خام اضافی iptables برای طبقه بندی ترافیک مقصد منطقه، به " +"عنوان مثال. -p tcp --dport 443 فقط برای مطابقت با ترافیک ورودی " +"HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "خانواده آدرس، آدرس IP داخلی باید مطابقت داشته باشد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"خانواده آدرس، آدرس مبدا، آدرس مقصد، آدرس IP بازنویسی باید مطابقت داشته باشند" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "تنظیمات پیشرفته" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "پذیرش ترافیک \"نامعتبر\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "اجازه به جلو از مناطق منبع:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "اجازه به جلو بهمناطق مقصد:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "هر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "هر روز" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"یک XOR بیتی از مقدار داده شده و مقدار علامت موجود روی اتصالات ایجاد شده " +"اعمال کنید. قالب مقدار[ / mask] است. اگر یک ماسک مشخص شده باشد، آن بیت های " +"تنظیم شده در ماسک صفر می شوند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "کلاس یا مقدار DSCP داده شده را برای اتصالات ایجاد شده اعمال کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "کمک ردیابی اتصال مشخص شده را به ترافیک همسان اختصاص دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "واگذاری کمک کننده خودکار" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"به طور خودکار کمک های conntrack را بر اساس پروتکل ترافیک و پورت اختصاص دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "نظر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "تنظیمات Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "کمک کنندگان Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "محتویات ذخیره شده اند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "ادامه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "شمارنده ها" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "دستگاه های تحت پوشش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "شبکه های تحت پوشش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "زیرشبکه های تحت پوشش" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "قوانین سفارشی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"قوانین سفارشی به شما این امکان را می دهد که دستورات iptables دلخواه را اجرا " +"کنید که در غیر این صورت تحت پوشش چارچوب فایروال قرار نمی گیرند. دستورات پس " +"از راه اندازی مجدد هر فایروال، درست پس از بارگذاری قوانین پیش فرض اجرا می " +"شوند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "طبقه بندی DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "علامت DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "علامت مورد نیاز DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "آدرس مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "پورت مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "منطقه مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "نام دستگاه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"قوانین اضافی برای رد ترافیک ارسال شده با حالت conntrack نصب " +"نکنیدنامعتبر. این ممکن است برای راه اندازی مسیر نامتقارن پیچیده " +"مورد نیاز باشد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "رها کردن بسته های نامعتبر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "به کار انداختن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "فعال کردن NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "محافظت SYN-flood را فعال کردن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "فعال کردن ورود به سیستم در این منطقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"آدرس شبکه و ترجمه پورت IPv4 (NAT4 یا NAPT4) را برای ترافیک خروجی در این " +"منطقه فعال کنید. این معمولاً در منطقه wan فعال است." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"آدرس شبکه و ترجمه پورت IPv6 (NAT6 یا NAPT6) را برای ترافیک خروجی در این " +"منطقه فعال کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "به کار افتاده" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "ردیابی تعداد بسته ها و بایت ها را برای مجموعه فعال می کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "انتظار: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"به صراحت راهنماهای ردیابی اتصال مجاز را برای ترافیک منطقه انتخاب می کند" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "آدرس IP خارجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "پورت خارجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "استدلال های اضافی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "استدلال های اضافی مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "استدلال های اضافی iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "استدلال های اضافی منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "خانواده" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "دیوار آتش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "فایروال - قوانین سفارشی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "فایروال - مجموعه های IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "فایروال - قوانین NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "فایروال-پورت رو به جلو" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "فایروال - قوانین ترافیک" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "فایروال - تنظیمات منطقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "انتقال پیکربندی فایروال" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "پیشروی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"%{ipv6?%{ipv4?IPv4 و IPv6:IPv6}:IPv4}%{proto? , پروتکل %{proto#%{next?, }%{item.name}}}%{mark?, " +"علامت %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "جمعه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "پیکربندی عمومی" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "اجازه دسترسی به پیکربندی فایروال" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "تخلیه جریان سخت افزار" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (محدوده)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "مجموعه های IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "آی پی ها/شبکه ها" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "آی پی ها/شبکه ها/مک ها" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "آی پی نسخه ۴" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 و IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "فقط IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "آی پی نسخه ۶" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "فقط IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "دستگاه ورودی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "شامل فایل" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"ورودی %{ipv6?%{ipv4?IPv4 و IPv6:IPv6}:" +"IPv4}%{proto? , پروتکل %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"با انواع % {item.types#%{next?, %{item}}:%{item." +"name}}}}%{ mark?، علامت %{mark." +"val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val} مطابقت دهید }}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "اندازه هش اولیه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "ورودی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "آدرس IP داخلی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "پورت داخلی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "منطقه داخلی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "هدایت بین ناحیه‌ای" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "علامت DSCP نامعتبر است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "مقدار حد نامعتبر است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "نام مجموعه نامعتبر است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "ترکیدگی را محدود کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "محدود کردن پیام های گزارش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "محدود کردن تطابق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"محدود کردن تطابق به %{limit.num} بسته ها در هر %{limit.unit}" +"%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "مخفی کاری محدود فعال شد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "تطابق ترافیک را با نرخ مشخص شده محدود می کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP منبع Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "بالماسکه - به طور خودکار در IP رابط خروجی بازنویسی شود" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "بستن MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "ماسکه کردن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "همخوانی داشتن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP را مطابقت دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "با نوع ICMP مطابقت دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "دستگاه مطابق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "با ترافیک ارسال شده به آدرس IP داده شده مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"با ترافیک ارسالی هدایت شده در پورت مقصد یا محدوده پورت مشخص مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "با ترافیک ارسال شده از این IP یا محدوده مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"با ترافیک ارسال شده منشأ گرفته از درگاه منبع پورت یا محدوده پورت داده شده " +"مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "کمک کننده به همخوانی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"با ترافیک ورودی هدایت شده به درگاه مقصد پورت یا محدوده پورت داده شده در این " +"میزبان مطابقت دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "علامت مطابقت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "با استفاده از راهنمای ردیابی اتصال مشخص شده، ترافیک را مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "با یک علامت فایروال خاص یا طیف وسیعی از علامت های مختلف مطابقت دارد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"با استفاده از دستگاه شبکه خروجی مشخص شده با ترافیک ارسال شده مطابقت دارد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "با ترافیک حامل علامت DSCP مشخص شده مطابقت دارد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "حداکثر ورودی ها" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "بیشترین طول" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"حداکثر تعداد بسته های اولیه برای مطابقت: این تعداد هر بار که به حد تعیین شده " +"در بالا نرسیده باشد، تا این تعداد , یک بار شارژ می شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "دوشنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "روزهای ماه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "قوانین NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"قوانین NAT اجازه می دهد تا کنترل دقیق روی IP منبع برای ترافیک خروجی یا ارسال " +"شده استفاده شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmask" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "کامل با QoS / SQM سازگار نیست." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "فقط با ترافیک ورودی هدایت شده در آدرس IP داده شده مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "فقط ترافیک ورودی از این MACها را مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "فقط ترافیک ورودی از این IP یا محدوده را مطابقت دهید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"فقط با ترافیک ورودی که از پورت منبع یا محدوده پورت داده شده در میزبان مشتری " +"منشا می‌گیرد، مطابقت دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "دستگاه خروجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "منطقه خروجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "خروجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "تطابق فیلد بسته" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"فیلدهای بسته برای مطابقت با آنها.
نحو: direction_datatype. به " +"عنوان مثال: src_port، dest_net.
مسیرها: src، dst. انواع داده: ip, port, mac, net, set.
پیوندهای جهت " +"اختیاری هستند.
*توجه: نوع داده set در fw4 پشتیبانی نمی‌شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "آرگومان های اضافی را به iptables ارسال می کند. با احتیاط استفاده کنید!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"ارسال آرگومان‌های خام iptables به قوانین طبقه‌بندی ترافیک مبدأ و مقصد، امکان " +"تطبیق بسته‌ها را بر اساس معیارهای دیگری غیر از رابط‌ها یا زیرشبکه‌ها فراهم " +"می‌کند. این گزینه‌ها باید با دقت زیاد مورد استفاده قرار گیرند، زیرا مقادیر " +"نامعتبر می‌توانند مجموعه قوانین فایروال را شکسته و به طور کامل همه سرویس‌ها را " +"در معرض دید قرار دهند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "مسیر فایل CIDR ها، زیرشبکه ها، IP های میزبان و غیره.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "هدایت پورت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"ارسال پورت به رایانه های راه دور در اینترنت اجازه می دهد تا به رایانه یا " +"سرویس خاصی در شبکه LAN خصوصی متصل شوند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "محدوده پورت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "شیوه‌نامه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "ترافیک ورودی منطبق را به پورت داده شده در میزبان داخلی تغییر مسیر دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "ترافیک ورودی منطبق را به میزبان داخلی مشخص شده تغییر مسیر دهید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "مراجعه به مجموعه خارجی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "مناطق بازتابی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "نیاز به پشتیبانی سخت افزاری NAT دارد." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Masquerading را به زیرشبکه‌های مقصد مشخص محدود کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Masquerading را به زیرشبکه های منبع داده شده محدود کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "محدود کردن به آدرس خانواده" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "آدرس IP را بازنویسی کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "ترافیک منطبق را به آدرس IP منبع مشخص شده بازنویسی کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"ترافیک منطبق را در درگاه منبع پورت یا محدوده پورت مشخص شده بازنویسی کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "بازنویسی پورت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "بارگذاری مسیریابی/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - در IP یا پورت منبع خاصی بازنویسی کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "شنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "علامت گذاری" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"مقدار علامت داده شده را روی اتصالات ایجاد شده تنظیم کنید. قالب مقدار[/mask] " +"است. اگر یک ماسک مشخص شده باشد، فقط آن بیت هایی که در ماسک تنظیم شده اند، " +"اصلاح می شوند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "تخلیه جریان نرم افزار" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "آدرس IP منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "آدرس MAC منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "آدرس منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "پورت منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "منطقه منبع" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"مشخص می کند که آیا این قانون ترافیک به یک دستگاه شبکه ورودی یا خروجی خاص " +"مرتبط شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"مشخص می کند که آیا از آدرس IP خارجی یا داخلی برای ترافیک منعکس شده استفاده " +"شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "تاریخ شروع (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "زمان شروع (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "تاریخ توقف (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "زمان توقف (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "روش ذخیره سازی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "یکشنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "پیکربندی فایروال موجود باید تغییر کند تا LuCI به درستی کار کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"فایروال مناطقی را روی رابط های شبکه شما ایجاد می کند تا جریان ترافیک شبکه را " +"کنترل کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"گزینه های زیر خط مشی های حمل و نقل بین این منطقه (%s) و مناطق دیگر را کنترل " +"می کنند. مناطق مقصد ترافیک ارسال‌شده منشاء %q را " +"پوشش می‌دهند. مناطق منبع با ترافیک بازارسال شده از مناطق دیگر مطابقت " +"دارد با هدف %q. قانون ارسال یک جهته است، به عنوان " +"مثال. فوروارد از lan به wan نیست مستلزم اجازه فوروارد از wan به lan " +"نیز نیست." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"این بخش ویژگی های رایج %q را تعریف می کند. گزینه‌های input و " +"output خط‌مشی‌های پیش‌فرض را برای ترافیک ورودی و خروجی از این منطقه " +"تنظیم می‌کنند در حالی که گزینه forward خط‌مشی برای ترافیک ارسال‌شده " +"بین شبکه‌های مختلف را شرح می‌دهد. در داخل منطقه شبکه های تحت پوشش " +"مشخص می کند که کدام شبکه های موجود عضو این منطقه هستند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "پنجشبنه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "محدودیت های زمانی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "زمان در UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "محدودیت زمانی برای این قانون فعال شده است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "تایم اوت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "کمک کننده ردیابی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "قوانین ترافیک" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"قوانین ترافیک سیاست هایی را برای بسته هایی که بین مناطق مختلف حرکت می کنند، " +"تعریف می کنند، به عنوان مثال برای رد ترافیک بین میزبان های خاص یا باز کردن " +"پورت های WAN روی روتر." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "سه شنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "امکان ذخیره محتوا وجود ندارد: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"واحد: ثانیه پیش‌فرض 0 به این معنی است که ورودی برای همیشه به " +"مجموعه اضافه می‌شود.
حداکثر: 2147483 ثانیه." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "راهنمای کنتراک ناشناخته یا نصب نشده\"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT بدون نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "فوروارد بدون نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "قانون بدون نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "مجموعه بی نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "منطقه بدون نام" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "پروتکل ناشناخته" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"با فشار دادن \"Continue\"، بخش‌های \"redirect\" با هدف \"SNAT\" به بخش‌های " +"\"nat\" تبدیل می‌شوند و فایروال برای اعمال پیکربندی به‌روز شده مجددا راه‌اندازی " +"می‌شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "از آدرس IP خارجی استفاده کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "از آدرس IP داخلی استفاده کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "استفاده از ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"از این گزینه برای طبقه بندی ترافیک منطقه بر اساس دستگاه های شبکه مدیریت شده " +"خام و غیرuci استفاده کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"از این گزینه برای طبقه بندی ترافیک منطقه بر اساس زیرشبکه مبدا یا مقصد به جای " +"شبکه ها یا دستگاه ها استفاده کنید." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "علامت فایروال معتبر لازم است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "چهارشنبه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "روزهای هفته" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "علامت فایروال XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "علامت XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "دستگاه شما از فایروال 4 استفاده نمی کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "دستگاه شما از فایروال 4 استفاده می کند." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "فوروارد ⇒منطقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "مناطق" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"مناطقی که قوانین بازتاب از آنها ایجاد می شود. اگر تنظیم نشود، فقط منطقه مقصد " +"استفاده می شود." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "تایید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "هر" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "هر منطقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "هر/همه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "علامت فایروال را اعمال کنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "اختصاص کمک کننده conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "خودکار" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "بیت مپ فقط ipv4 است" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "روز" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: آی پی مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: آدرس مک مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (زیر)شبکه مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: پورت مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: مجموعه آی پی(ipset) مقصد" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "بازنویسی نکنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "پیگیری نکنید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "رها کردن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 از ارجاع دادن و ایجاد مجموعه‌های IP برای ساده‌سازی تطبیق فهرست‌های " +"آدرس بزرگ بدون نیاز به ایجاد یک قانون برای هر آیتم برای تطبیق پشتیبانی " +"می‌کند. محدوده پورت در ipset توسط فایروال 4 پشتیبانی نمی شود.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "هش" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "ساعت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: آدرس آی پی" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
برای استفاده با انواع داده Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "آی پی نسخه ۴" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "لیست" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: آدرس مک" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "دقیقه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (زیر)شبکه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: پورت" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "رد کردن" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "ثانیه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: مجموعه آی پی(ipset)*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: مجموعه آی پی مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: آی پی مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: آدرس مک مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (زیر)شبکه مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: پورت مبدا" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "این دستگاه" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "این منطقه جدید" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "نامحدود" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "نامشخص" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "تا ۶۵۵۳۶ ورودی." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "علامت فایروال معتبر" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "تخیله کردن مبتنی بر نرم افزار برای مسیریابی/NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/fi/firewall.po b/luci-app-firewall/po/fi/firewall.po new file mode 100644 index 000000000..f7efb5ba1 --- /dev/null +++ b/luci-app-firewall/po/fi/firewall.po @@ -0,0 +1,1610 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-08-31 15:13+0000\n" +"Last-Translator: Kieli Puoli \n" +"Language-Team: Finnish \n" +"Language: fi\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 5.8-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Välitetty:Tuleva}:Lähtevä} %{ipv6?%{ipv4?IPv4 ja " +"IPv6:IPv6}:IPv4}%{proto?, protokolla " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP tyypit %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP " +"%{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, " +"helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "- lisää IP -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "- lisää MAC -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +" Hyväksy %{src?%{dest?välitä:tuleva}:" +"lähtevä}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Estä lähteen uudelleenkirjoitus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Välitä kohteeseen %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? porttiin %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Pudota %{src?%{dest?välitä:tuleva}:lähtevä}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +" Määritä DSCP luokittelu " +"%{set_dscp} " + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Määritä yhteydenseuranta avustaja " +"{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} palomuurimerkintä " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +" Uudelleenkirjoita automaattisesti " +"lähteen IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Älä seuraa %{src?%{dest?välitä:tuleva}:" +"lähtevä}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Hylkää %{src?%{dest?välitä:tuleva}:" +"lähtevä}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Uudelleenkirjoita lähde staattisesti " +"%{snat_ip? IP-%{snat_ip}} %{snat_port?portti {snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Uudelleenkirjoitus IP on määritettävä!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "HYVÄKSY - Uudelleenkirjoittamatta osoitetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Toiminta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Muutiptables argumentit vyöhykkeen kohdeliikenteen " +"luokittelemiseksi, esimerkiksi -p tcp --dport 443 vastaa vain " +"lähtevää HTTPS-liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Muutiptables argumentit vyöhykkeen lähdeliikenteen " +"luokittelemiseksi, esimerkiksi -p tcp --dport 443 vastaa vain " +"lähtevää HTTPS-liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Lisäasetukset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Salli \"virheellinen\" liikenne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Salli välitys lähdevyöhykkeeltä:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Salli välitys kohdevyöhykkeelle:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Mikä tahansa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Minä päivänä tahansa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Käytä bitwise XOR-sääntöä muodostetuissa yhteyksissä. Muoto on arvo[/maski]. " +"Jos maski on määritetty, maskissa määritetyt bitit nollataan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Käytä annettua DSCP-luokkaa tai arvoa muodostetuille yhteyksille." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Määritä yhteysseurantaapuri vastaavalle liikenteelle." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automaattinen avustajan määritys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Määritä yhteysseurantaapuri automaattisesti protokollan ja portin perusteella" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Kommentti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack-asetukset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack-auttajat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Sisältö on tallennettu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Jatka" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Katetut laitteet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Katetut verkot" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Katetut aliverkot" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Mukautetut säännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Mukautetut säännöt antavat sinun suorittaa mielivaltaisia iptable-komentoja, " +"joita palomuurin toiminnot eivät muuten kata. Komennot suoritetaan jokaisen " +"palomuurin uudelleenkäynnistyksen jälkeen heti oletussääntöjoukon lataamisen " +"jälkeen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP-luokitus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP-merkki" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP-merkki vaaditaan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Kohdeosoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Kohdeportti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Kohdevyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Laitenimi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Älä asenna ylimääräisiä sääntöjä välitetyn liikenteen hylkäämiseksi, jos " +"conntrack-tila on virheellinen . Tätä voidaan tarvita " +"monimutkaisissa epäsymmetrisissä reittiasetuksissa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Pudota virheelliset paketit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Ota käyttöön" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Ota käyttöön NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Käytä SYN-flood-suojausta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Ota kirjaaminen käyttöön tällä vyöhykkeellä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Käytössä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Odotettu: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "Valitse käsin sallivat yhteydenseuranta-apurit vyöhykeliikenteelle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Ulkoinen IP-osoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Ulkoinen portti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Ylimääräiset argumentit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Lisäkohdeargumentit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Iptablesin lisäargumentit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Lisälähdeargumentit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Palomuuri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Palomuuri - Mukautetut säännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Palomuuri - NAT-säännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Palomuuri - Portin välitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Palomuuri - Liikennesäännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Palomuuri - vyöhykeasetukset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Palomuurin määritysten siirto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Välitä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Perjantai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Lähde %{src}%{src_device?, sovitin %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Lähde %{src}%{src_device?, sovitin %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Lähde %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Yleiset asetukset" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Anna pääsy palomuurin määrityksiin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Laitteistovirran purku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP:t/verkot" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP:t/verkot/MAC:it" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 ja IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Vain IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Vain IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Saapuva laite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Tuleva" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Sisäinen IP-osoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Sisäinen portti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Sisäinen vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Virheellinen DSCP-merkki" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Virheellinen raja-arvo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Rajoita purskeet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Rajoita lokisanomia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Rajoita vastaavat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Rajoita vastaavuus %{limit.num} pakettia per %{limit.unit}%{limit.burst? purske %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Rajoitettu naamiointi käytössä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Rajoittaa liikenteen määritettyyn nopeuteen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Loopback-lähteen IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Uudelleenkirjoitus automaattisesti lähtevän rajapinnan IP: lle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS-kiinnitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Naamiointi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Vastaa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Vastaa DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Vastaa ICMP-tyyppiä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Vastaa laitetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Vastaa annettuun IP-osoitteeseen välitettyä liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Vastaa välitettyä liikennettä, joka on suunnattu määrättyyn porttiin tai " +"portti-alueeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Vastaa välitettyä liikennettä tästä IP-osoitteesta tai alueelta." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Vastaa välitettyä liikennettä, joka on peräisin annetusta portista tai " +"portti-alueesta." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Vastaa auttajaa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Vastaa saapuvaa liikennettä, joka on suunnattu annetulle kohdeportille tai " +"portti-alueelle tällä laitteella" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Vastaa merkkiä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Vastaa liikennettä määritetyllä yhteydenseuranta-apurilla." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Vastaa tiettyä palomuurimerkkintää tai joukkoa erilaisia merkkintöjä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "Vastaa välitettyä liikennettä tietyn lähtevän sovittimen perusteella." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Vastaa liikennettä, jolla on määritetty DSCP-merkintä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Alkuperäinen enimmäismäärä vastaamaan: tämä määrä kasvatetaan yhdellä aina, " +"määritettyyn numeroon saakka, kunnes annettu määrä saavutetaan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Maanantai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Kuukauden päivät" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-säännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-säännöt sallivat lähde-IP:n hienostuneen hallinnan käytettäväksi " +"lähtevässä tai välitetyssä liikenteessä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nimi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Ei täysin yhteensopiva QoS/SQM:n kanssa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Vastaa vain annettuun IP-osoitteeseen suuntautuvaa liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Vastaa vain näistä MAC-osoitteista tulevaa liikennettä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Vastaa vain saapuvaa liikennettä tästä IP-osoitteesta tai alueelta." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Vastaa vain saapuvaa liikennettä, joka on lähtöisin annetusta lähdeportista " +"tai porttialueesta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Lähtevälaite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Lähtevä vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Lähtevä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Välittää lisäargumentteja iptablesille. Käytä varoen!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Iptable-argumentien käyttäminen lähde- ja kohdeliikenteen luokitussääntöihin " +"sallii pakettien valitsemisen muilla kriteereillä kuin sovittimin tai " +"aliverkkoin. Näitä vaihtoehtoja tulee käyttää erittäin varovaisesti, koska " +"virheelliset arvot voivat rikkoa palomuurisäännöt paljastaen kaikki palvelut." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Portin välitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Portinvälityksen avulla Internetin etätietokoneet voivat muodostaa yhteyden " +"tiettyyn tietokoneeseen tai palveluun yksityisessä lähiverkossa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Porttialue" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokolla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Uudelleenohjaa saapuva liikenne sisäisen palvelimelle annettuun porttiin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Uudelleenohjaa saapuva liikenne määritettyyn sisäiseen palvelimeen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Edellyttää laitteiston NAT-tukea." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Rajoita naamiointi tiettyihin kohdeverkkoihin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Rajoita naamiointi tiettyihin kohdeverkkoihin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Rajoita tietyille osoitteille" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Kirjoita IP-osoite uudelleen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Kirjoita vastaava tietoliikenne uudelleen määritettyyn lähde-IP-osoitteeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Kirjoita vastaava tietoliikenne uudelleen määritettyyn lähdeporttiin tai " +"porttialueeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Uudelleenkirjoita portti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Reititys/NAT-purku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Kirjoita tiettyyn lähde IP:hen tai porttiin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Lauantai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Merkitse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Määritä määritetty merkkiarvo muodostetuille yhteyksille. Muoto on arvo[/" +"mask]. Jos maski on määritetty, vain maskiin määritettyjä bittiä muokataan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Ohjelmistopohjainen tietovirran nopeutus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Lähde-IP-osoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Lähde MAC-osoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Lähdeosoite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Lähdeportti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Lähdevyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Määrittää, sidotaanko tämä liikennesääntö tiettyyn saapuvaan vai lähtevään " +"verkkolaitteeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Määrittää, käytetäänkö ulkoista vai sisäistä IP-osoitetta heijastuneeseen " +"liikenteeseen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Aloituspäivä (vvvv-kk-pp)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Aloitusaika (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Lopetuspäivä (vvv-kk-pp)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Lopetusaika (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Sunnuntai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "Nykyistä palomuurimääritystä on muutettava, jotta LuCI toimisi oikein." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Palomuuri luo vyöhykkeitä verkkosovittimista verkkoliikenteen kulun " +"hallitsemiseksi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Alla olevat asetukset ohjaavat tämän vyöhykkeen (%s) ja muiden vyöhykkeiden " +"välisiä välityskäytäntöjä. Kohdevyöhyke kattavat välitettävän " +"liikenteen , joka on peräisin kohteesta %q. " +"Lähdevyöhykkeet vastaavat välitettyä liikennettä muilta vyöhykkeiltä " +", jotka on kohdistettu kohteeseen %q. Välityssääntö on " +"yksisuuntainen, esimerkiksi eteenpäin lanista waniin ei " +"merkitse lupaa myös päästä eteenpäin wanista laniin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Tässä osassa määritetään kohteen %q yleiset ominaisuudet. tuleva ja " +" lä'htevä -asetukset asettavat oletuskäytännöt tälle alueelle " +"saapuville ja sieltä poistuneille liikenteelle, kun taas välitä -" +"vaihtoehdossa kuvataan alueen eri verkkojen välisen välitettyä liikennettä " +"koskeva käytäntö. Katetut verkot määrittävät, mitkä käytettävissä " +"olevat verkot ovat tämän vyöhykkeen jäseniä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Torstai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Aikarajoitukset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC-aika" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Aikarajoitukset ovat käytössä tälle säännölle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Maksimiaika" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Kohde %{dest}%{dest_device?, sovitin %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Kohde %{dest}%{dest_device?, via sovitin %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Kohde %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Seurantaapuri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Liikennesäännöt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Liikennesäännöt määrittävät käytännöt eri vyöhykkeiden välillä kulkeville " +"paketeille, esimerkiksi tiettyjen isäntien välisen liikenteen hylkäämiseksi " +"tai WAN-porttien avaamiseksi reitittimessä." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Tiistai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Sisältöä ei voi tallentaa: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Tuntematon tai asentamaton conntrack-auttaja \"% s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nimeämätön NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Nimeämätön välitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nimetön sääntö" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Nimeämätön vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Tunnistamaton protokolla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Kun painat \"Jatka\", \"uudelleenohjaus\" -kohdat, joilla on tavoite " +"\"SNAT\", muunnetaan \"nat\" -osioiksi ja palomuuri käynnistetään uudelleen " +"päivitetyn määrityksen aktivoimiseksi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Käytä ulkoista IP-osoitetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Käytä sisäistä IP-osoitetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Tämän vaihtoehdon avulla voit luokitella vyöhykeliikennettä raakana, ei-" +"uci -hallittujen sovittimien avulla." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Tämän asetuksen avulla voit luokitella vyöhykeliikenteen lähde- tai kohde " +"aliverkon mukaan verkkojen tai laitteiden sijaan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Kelvollinen palomuurimerkintä vaaditaan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Keskiviikko" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Viikon päivät" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR-palomuurimerintä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR-merkki" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Vyöhyke ⇒ Välitys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Vyöhykkeet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "hyväksy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "mikä tahansa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "mikä tahansa vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aseta palomuurimerkintä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "määritä conntrack-helper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automaattinen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "päivä" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "älä kirjoita uudelleen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "älä seuraa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "pudota" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "tunti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuutti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "hylkää" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekunti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "tämä laite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "tämä uusi vyöhyke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "rajoittamaton" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "määrittelemätön" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "kelvollinen palomuurimerkintä" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Ohjelmistopohjainen reititys/NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Välitetty IPv4%{proto?, protokolla %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Saapuva IPv4%{proto?, protokolla %{proto#%{next?, }%{item.types?%{item.name}ICMP tyypit %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +#~ "%{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/fr/firewall.po b/luci-app-firewall/po/fr/firewall.po new file mode 100644 index 000000000..d142a9523 --- /dev/null +++ b/luci-app-firewall/po/fr/firewall.po @@ -0,0 +1,1676 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-02-01 22:49+0000\n" +"Last-Translator: ButterflyOfFire \n" +"Language-Team: French \n" +"Language: fr\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 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- ajouter IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- ajouter MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accepter %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Empêcher la réécriture de la source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Transférer vers %{dest}%{dest_ip ? IP " +"%{dest_ip}}%{dest_port ? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Ignorer %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Assigner DSCP classification " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Attribuer conntrack assistant " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Réécrire automatiquement l'IP source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Ne pas pister %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rejeter %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Réécrire statiquement vers la source " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Une IP de réécriture doit être spécifiée !" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPTER - Désactiver la réécriture d'adresses" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Action" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Arguments iptables bruts supplémentaires pour classer le trafic de " +"destination de la zone, par exemple -p tcp --dport 443 pour " +"correspondre uniquement au trafic HTTPS sortant." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Arguments iptables bruts supplémentaires pour classer le trafic " +"source de la zone, par exemple -p tcp --sport 443 pour " +"correspondre uniquement au trafic HTTPS entrant." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Famille d’adresses, l’adresse IP interne doit correspondre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"La famille d'adresses, l'adresse source, l'adresse de destination et " +"l'adresse IP de réécriture doivent correspondre" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Paramètres avancés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Autoriser le trafic \"invalide\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permettre la transmission des zones source :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permettre la transmission vers les zones destination :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "N'importe lequel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "N'importe quel jour" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Appliquer un XOR au niveau du bit de la valeur donnée et de la valeur de " +"repère existante sur les connexions établies. Le format est la valeur[/" +"mask]. Si un masque est spécifié, les bits définis dans le masque sont mis à " +"zéro." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Applique la classe ou la valeur DSCP donnée aux connexions établies." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Attribue l'assistant de suivi des connexions spécifié au trafic " +"correspondant." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Affectation automatique des assistants" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Attribuer automatiquement des assistants conntrack en fonction du protocole " +"de trafic et du port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Commentaire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Paramètres Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Assistants Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Les contenus ont été enregistrés." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Compteurs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Appareils couverts" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Réseaux couverts" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Sous-réseaux couverts" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Règles spécifiques" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Les règles personnalisées vous permettent d'exécuter des commandes iptables " +"arbitraires qui ne sont pas autrement couvertes par le framework de pare-" +"feu. Les commandes sont exécutées après chaque redémarrage du pare-feu, " +"juste après le chargement de l'ensemble de règles par défaut." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Classification DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marque DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marque DSCP requise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Adresse de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Port de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zone de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nom de l'appareil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"N'installez pas de règles supplémentaires pour rejeter le trafic transféré " +"avec l'état conntrack invalide. Cela peut être nécessaire pour les " +"configurations de route asymétriques complexes." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Ignorer les paquets invalides" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Activer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Activer le NAT sur la boucle-locale" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Activer la protection contre le SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Activer les traces (logs) sur cette zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Activer la traduction d'adresse réseau et de port IPv4 (NAT4 ou NAPT4) pour " +"le trafic sortant de cette zone. Cette option est généralement activée dans " +"la zone wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Activer la traduction d'adresse réseau et de port IPv6 (NAT6 ou NAPT6) pour " +"le trafic sortant sur cette zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Activé" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Active le suivi du nombre de paquets et d'octets pour l'ensemble." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Attendu : %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Choisit explicitement les assistants de suivi de connexion autorisés pour le " +"trafic de zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Adresse IP externe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Port externe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Arguments supplémentaires" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Arguments de destination supplémentaires" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Arguments supplémentaires iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Arguments sources supplémentaires" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Famille" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Pare-feu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Pare-feu - Règles personnalisées" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Pare-feu - IPset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Pare-feu - Règles NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Pare-feu - Redirections de ports" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Pare-feu - Règles de trafic" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Pare-feu - Configuration des zones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migration de la configuration du pare-feu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Avant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Transféré %{ipv6?%{ipv4?IPv4 et IPv6:IPv6}:" +"IPv4}%{proto? protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Vendredi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Réglages généraux" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Octroi l'accès à la configuration du pare-feu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Déchargement de flux matériel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "Plage d'IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP Sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Réseaux" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Réseaux/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 et IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 uniquement" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Masquage IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 uniquement" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Appareil entrant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Inclure le fichier" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Entrant %{ipv6?%{ipv4?IPv4 et IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}" +":%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Taille initiale du hachage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrée" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Adresse IP interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zone interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marque DSCP non valide" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valeur limite non valide" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Rafale limite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limiter les messages de journalisation" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limiter la correspondance" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limiter la correspondance à %{limit.num} paquets par %{limit." +"unit}%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Autorise un masquage limité" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limite le trafic correspondant au débit spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP source de bouclage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Réécriture automatique sur l'IP de l'interface sortante" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Contrainte du MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Correspond" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Faire correspondre DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Type ICMP correspondant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Match appareil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Faites correspondre le trafic transféré dirigé vers l'adresse IP donnée." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Faites correspondre le trafic transféré dirigé vers le port de destination " +"ou de ports donné." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Fait correspondre le trafic transféré depuis cette adresse IP ou cette plage." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Fait correspondre le trafic transféré provenant du port source ou de la " +"plage de ports donné." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Assistant à la correspondance" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Prendre en compte le trafic dirigé vers le port de destination donné (ou la " +"gamme de ports) sur cet hôte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Correspondance mark" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Fait correspondre le trafic à l'aide de l'assistant de suivi des connexions " +"spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Fait correspondre à un marquage de pare-feu spécifique ou à un intervalle de " +"marquages différents." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Fait correspondre le trafic transféré en fonction du périphérique réseau " +"sortant spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Correspond au trafic portant le marquage DSCP spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Entrées max" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Longueur Max" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Nombre initial maximal de paquets à faire correspondre: ce nombre est " +"rechargé d'un à chaque fois que la limite spécifiée ci-dessus n'est pas " +"atteinte, jusqu'à ce nombre." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Lundi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Mois jours" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Règles NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Les règles NAT permettent un contrôle fin sur l'IP source à utiliser pour le " +"trafic sortant ou transféré." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Masque réseau" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Pas entièrement compatible avec QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Correspondre uniquement au trafic entrant dirigé vers l'adresse IP donnée." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Montrer seulement le trafic entrant provenant de ces adresses MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Correspondre uniquement au trafic entrant provenant de cette adresse IP ou " +"de cette plage." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Faire correspondre uniquement le trafic entrant provenant du port source ou " +"de la plage de ports donné sur l'hôte client" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Périphérique sortant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zone sortante" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Sortie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Packet Field Match" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Les champs de paquets correspondant à.
Syntax : direction_datatype. e.g. : src_port, dest_net.
Directions : src, " +"dst. Types de données : ip, port, mac, net, set.
Les préfixes de direction sont optionnels.
*Note : datatype " +"set n'est pas supporté dans fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Passe des arguments supplémentaires aux tables d'adresses IP. A utiliser " +"avec précaution !" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Le passage d'arguments iptables bruts aux règles de classification du trafic " +"source et de destination permet de faire correspondre les paquets en " +"fonction d'autres critères que les interfaces ou les sous-réseaux. Ces " +"options doivent être utilisées avec une extrême prudence, car des valeurs " +"non valides peuvent endommager le jeu de règles du pare-feu, exposant " +"complètement tous les services." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"Chemin d'accès au fichier des CIDR, des sous-réseaux, des IP hôtes, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Redirections de port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"La redirection de port permet aux ordinateurs distants sur Internet, de se " +"connecter à un ordinateur ou service spécifié dans le réseau local privé." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Plage de ports" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocole" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Rediriger le trafic entrant correspondant vers le port donné sur l'hôte " +"interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Rediriger le trafic entrant correspondant vers l'hôte interne spécifié" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Reportez-vous à l'ensemble externe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zones de réflection" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Nécessite un support NAT matériel." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" +"Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux " +"destinataires" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" +"Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux " +"sources" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restreindre à la famille d’adresses" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Réécrire l'adresse IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Réécrit le trafic correspondant à l'adresse IP source spécifiée." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Réécrit le trafic correspondant sur le port source ou la plage de ports " +"spécifié." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port de réécriture" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Routage/déchargement NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Réécriture sur IP ou port source spécifique" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Samedi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Définir la marque" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Définissez la valeur de repère donnée sur les connexions établies. Le format " +"est la valeur[/mask]. Si un masque est spécifié, seuls les bits définis dans " +"le masque sont modifiés." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Déchargement de flux logiciel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Adresse IP source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Adresse MAC source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adresse source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Port source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zone source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Spécifie s'il faut lier cette règle de trafic à un périphérique réseau " +"entrant ou sortant spécifique." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Spécifie s'il faut utiliser l'adresse IP externe ou interne pour le trafic " +"réfléchi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Date de début (aaaa-mm-jj)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Heure de début (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Date d'arrêt (aaaa-mm-jj)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Heure d'arrêt (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Méthode de stockage" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Dimanche" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"La configuration de pare-feu existante doit être modifiée pour que LuCI " +"fonctionne correctement." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Le pare-feu crée des zones sur les interfaces réseau pour contrôler le flux " +"du trafic réseau." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Les options ci-dessous contrôlent les politiques de transmission entre cette " +"zone (%s) et les autres zones. Zones de destination couvre le " +"trafic transfmis venant de %q. Zones source " +"correspond au trafic transféré d'autres zones à destination de %q. La règle de transmission est unidirectionnelle, la " +"transmission du LAN au WAN n'implique pas également l'autorisation " +"de transmission du WAN au LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Cette section définit les propriétés communes de %q. Les options entrée et sortie définissent les politiques par défaut pour le trafic " +"entrant et sortant de cette zone tandis que l'option transfert " +"décrit la politique pour le trafic transféré entre différents réseaux dans " +"la zone. Réseaux couverts spécifie quels réseaux disponibles sont " +"membres de cette zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Jeudi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restrictions de temps" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Heure en UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Des restrictions horaires sont activées pour cette règle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Délai d'attente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Aide au suivi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Règles de trafic" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Les règles de trafic définissent des politiques pour les paquets voyageant " +"entre différentes zones, par exemple pour rejeter le trafic entre certains " +"hôtes ou pour ouvrir des ports WAN sur le routeur." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Mardi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Impossible d'enregistrer le contenu : %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unité : secondes. Défaut 0 signifie que l'entrée est ajoutée de " +"manière permanente à l'ensemble.
Max : 2147483 secondes." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Assistant conntrack inconnu ou non installé \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT sans nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Transfert sans nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Règle sans nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Unnamed set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zone sans nom" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocole non reconnu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"En appuyant sur \"Continuer\", les sections \"rediriger\" avec la cible " +"\"SNAT\" seront converties en sections \"nat\" et le pare-feu sera redémarré " +"pour appliquer la configuration mise à jour." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Utiliser une adresse IP externe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Utiliser l'adresse IP interne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Utiliser ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Utilisez cette option pour classer le trafic de zone par périphériques " +"réseau bruts non uci gérés." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Utilisez cette option pour classer le trafic de zone par sous-réseau source " +"ou de destination au lieu de réseaux ou de périphériques." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Marque de pare-feu valide requise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Mercredi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Jours de la semaine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marque de pare-feu XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marque XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Votre appareil n'exécute pas firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Votre appareil fonctionne avec firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zone ⇒ Transferts" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zones depuis lesquelles les règles de réflexion doivent être appelées. Si " +"non défini, seulement la zone de destination est utilisée." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accepter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "tous" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "n'importe quelle zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "tout/tous" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "appliquer une marque de pare-feu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "affecter l'assistant conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatique" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "Bitmap uniquement pour IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "journée" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip : IP de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac : Adresse MAC de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net : Destination (sous -) Réseau" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port : Port de destination" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set : Destination ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "ne pas réécrire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "ne pas pister" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "ignorer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 prend en charge le référencement et la création d' IPset afin de " +"simplifier la correspondance de gd listes d'adresses sans avoir à créer une " +"règle par élément. Les plages de ports dans les ipsets ne sont pas prises en " +"charge par firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "Du port au port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "heure" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip : addr IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
A utiliser avec les types de données Match : *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "liste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac : MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minute" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "réseau : (sous-)réseau" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port : Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rejeter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "seconde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set : ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set : Source ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip : IP source" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac : Source MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net : Source (sous-)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Source Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "cet appareil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "cette nouvelle zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "illimité" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "non précisé" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "jusqu'à 65536 entrées." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marque de pare-feu valide" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Déchargement basé sur logiciel pour le routage/NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/ga/firewall.po b/luci-app-firewall/po/ga/firewall.po new file mode 100644 index 000000000..2c0f9fd16 --- /dev/null +++ b/luci-app-firewall/po/ga/firewall.po @@ -0,0 +1,1623 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-25 20:19+0000\n" +"Last-Translator: Aindriú Mac Giolla Eoin \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(" +"n>6 && n<11) ? 3 : 4;\n" +"X-Generator: Weblate 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Ar Aghaidh:Isteach}:Amach} %{ipv6?%{ipv4?IPv4 agus " +"IPv6:IPv6} :IPv4}%{proto?, prótacal " +"%{proto#%{next?, }%{item.types?%{item." +"name} ICMP le cineálacha %{item.types#%{next?, }" +"%{item}}:% {item.name}}}} %{mark?, marcáil %{mark.val}} " +"%{dscp?, DSCP %{dscp.inv? %{dscp.val}: %{dscp.val} }} %{ cúntóir?, cúntóir %{helper.inv? %{helper.val}:" +" %{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "- Cuir IP leis -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "- cuir MAC leis -" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Glac le %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Cosc ar athscríobh foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Ar aghaidh chuig %{dest}%{dest_ip? IP " +"%{dest_ip}} %{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Buail %{src?%{dest?forward:input}:aschur}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Sann DSCP rangú %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"An bhfuil fonn ort cúntóir a shannadh " +" %{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} marc balla dóiteáin " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Athscríobh go huathoibríoch IP foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Ná rianaigh %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Diúltaigh %{src?%{dest?forward:input}:" +"aschur}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Athscríobh go statach chuig foinse " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Ní mór IP athscríobh a shonrú!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "GLACADH - Díchumasaigh athscríobh seoltaí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Gníomhaíocht" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argóintí breise amh iptables chun trácht ceann scríbe crios a " +"rangú, m.sh. -p tcp --dport 443 chun trácht HTTPS amach a " +"mheaitseáil amháin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argóintí breise amh iptables chun trácht foinse crios a rangú, m." +"sh. -p tcp --sport 443 chun trácht HTTPS isteach a mheaitseáil " +"amháin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Teaghlach seoladh, Caithfidh seoladh IP inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Caithfidh seoladh teaghlach, seoladh foinse, seoladh ceann scríbe, " +"athscríobh seoladh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Socruithe chun cinn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Ceadaigh trácht “neamhbhailí”" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Ceadaigh ar aghaidh ó criosanna foinse:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Ceadaigh ar aghaidh chuig criosanna:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Aon" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Lá ar bith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Cuir XOR giotáin den luach tugtha agus an luach marc atá ann cheana i " +"bhfeidhm ar naisc bhunaithe. Is é an fhormáid luach [/mask]. Má shonraítear " +"masc ansin déantar na giotáin sin a leagtar amach sa masc a nialú." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Cuir an rang nó an luach DSCP a thugtar i bhfeidhm ar naisc bhunaithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Sann an cúntóir rianaithe nasc sonraithe le trácht comhoiriúnach." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Sannadh cúntóir uathoi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Cúntóirí conntrack a shannadh go huathoibríoch bunaithe ar phrótacal tráchta " +"agus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Trácht" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Socruithe Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Cúntóirí Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Sábháiltear an t-ábhar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Lean ar aghaidh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Áiritheoirí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Feistí clúdaithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Líonraí clúdaithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Fo-líontaí clúdaithe" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Rialacha Saincheaptha" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Ligeann rialacha saincheaptha duit orduithe iptables treallach a " +"fhorghníomhú nach bhfuil clúdaithe ag an gcreat balla dóiteáin ar shlí eile. " +"Déantar na horduithe a fhorghníomhú tar éis gach balla dóiteáin a atosú, " +"díreach tar éis an tacar rialacha réamhshocraithe a luchtú." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Aicmiú DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marca DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marca DSCP ag teastáil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Seoladh scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Port ceann scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Crios ceann scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Ainm gléas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Ná suiteáil rialacha breise chun trácht ar aghaidh a dhiúltú le staid " +"conntrack neamhbhailí. D'fhéadfadh sé seo a bheith ag teastáil le " +"haghaidh socruithe casta bealaí neamhshiméadracha." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Scaoil pacáid neamhbhailí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Cumasaigh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Cumasaigh NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Cumasaigh cosaint tuilte Sync" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Cumasaigh logáil ar an gcrios seo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Cumasaigh seoladh líonra agus aistriúchán poirt IPv4 (NAT4 nó NAPT4) le " +"haghaidh tráchta amach sa chrios seo. Is gnách é seo a chumasú sa chrios " +"wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Cumasaigh seoladh líonra agus aistriúchán calafoirt IPv6 (NAT6 nó NAPT6) le " +"haghaidh tráchta amach ar an gcrios seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Cumasaithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Cumasaíonn sé rianú comhaireamh paicéad agus béite don tacar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Ag súil le: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Roghnaíonn sé go sainráite cúntóirí rianaithe nasc ceadaithe do thrácht" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Seoladh IP seachtrach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Calafort seachtrach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argóintí breise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argóintí scríbe breise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argóintí breise iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argóintí foinse breise" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Teaghlach" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Balla dóiteáin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Dóiteáin - Rialacha Saincheaptha" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Balla dóiteáin - tacair IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Balla dóiteáin - Rialacha NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Balla dóiteáin - Port Forwards" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Balla Dóiteáin - Rialacha Tráchta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Balla dóiteáin - Socruithe Crios" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Imirce cumraíochta dóiteáin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "Cineál díluchtaithe sreabhadh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Ar aghaidh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Curtha ar aghaidh %{ipv6?%{ipv4?IPv4 agus IPv6:" +"IPv6}:IPv4}%{ proto? , prótacal %{proto#%{ar " +"aghaidh?, }%{item.name} }} %{mark?, marc %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Dé hAoine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Ó %{src}%{src_device?, comhéadan %{src_device}} %{src_ip?, IP " +"%{src_ip#%{next?, } %{item.ival} }} %{src_port?, port " +"%{src_port#%{ Next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Ó %{src}%{src_device?, comhéadan %{src_device}} %{src_ip?, IP " +"%{src_ip#%{next?, } %{item.ival} }} %{src_port?, port " +"%{src_port#%{ Next?, } %{item.ival} }} %{src_mac?, MAC " +"%{src_mac#%{next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Ó %{src}%{src_ip?, IP %{src_ip#%{ar aghaidh?, } %{item.ival} }} %{src_port?, port %{src_port#%{ Next?, } %{item.ival} }} " +"%{src_mac?, MAC %{src_mac#%{next?, } " +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Socruithe Ginearálta" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Rochtain a dheonú ar chumraíocht dóiteáin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Díluchtú bunaithe ar chrua-earraí le haghaidh ródú le/gan NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Díluchtú sreafa crua-earraí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (raon)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Tacair IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPS/líonraí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPS/líonraí/Macanna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 agus IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 amháin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Mascaradh IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 amháin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Gléas isteach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Cuimsigh Comhad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Ag teacht isteach %{ipv6?%{ipv4?IPv4 agus IPv6:" +"IPv6}:IPv4}%{ proto? , prótacal " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP le cineálacha % {item.types#%{next?, }" +"%{item}}: %{item.name} }}} %{ marc?, " +"marcáil %{mark.val}} %{helper?, cúntóir %{helper.inv? %{helper.val}:" +" %{helper.val} }}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Méid Hash Tosaigh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Ionchur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Seoladh IP inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Crios inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Intra chrios ar aghaidh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marca DSCP neamhbhailí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Luach teorann neamhbhailí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Ainm tacar neamhbhailí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Pléascadh teorainn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Teachtaireachtaí logála teorainn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Meaitseáil teorainn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Teorainn a mheaitseáil le %{limit.num} paicéad in aghaidh an " +"%{limit.unit} %{limit.burst? pléasctha %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Cumasaithe masquerading teoranta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Teoraíonn sé meaitseáil tráchta leis an ráta sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Foinse Loopback IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Athscríobh go huathoibríoch chuig IP comhéadan amach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Clampáil MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquerating" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Meaitseáil" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Meaitseáil DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Meaitseáil cineál ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Gléas meaitseála" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Meaitseáil trácht ar aghaidh atá dírithe ar an seoladh IP ar leith." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Meaitseáil an trácht ar aghaidh atá dírithe ar an gcalafort ceann scríbe nó " +"ar an raon poirt a thugtar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Meaitseáil trácht ar aghaidh ón IP nó an raon seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Meaitseáil an trácht ar aghaidh a thagann as an gcalafort foinseach nó as an " +"raon poirt a thugtar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Cúntóir meaitseála" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Meaitseáil trácht isteach atá dírithe ar an gcalafort ceann scríbe nó an " +"raon calafoirt ar leith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca meaitseála" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Meaitseáil an trácht ag baint úsáide as an gcúntóir rianaithe nasc sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Meaitseálann sé le marc balla dóiteáin sonrach nó raon marcanna éagsúla." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Meaitseálann sé trácht ar aghaidh ag baint úsáide as an ngléas líonra amach " +"sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Meaitseálann sé trácht a iompraíonn an marcáil sonraithe DSCP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Iontrálacha Uasta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Fad Uasta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Uaslíon tosaigh na bpacáit atá le meaitseáil: athmhuirearaítear an uimhir " +"seo gach uair nach sroichtear an teorainn a shonraítear thuas, suas go dtí " +"an uimhir seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Dé Luain" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Laethanta Míosa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Rialacha NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Ligeann rialacha NAT rialú mín ghráinneach ar an IP foinse a úsáid le " +"haghaidh trácht amach nó ar aghaidh." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Ainm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Líonmasc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Dada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Ní hiomlán comhoiriúnach le QOS/méadar cearnach." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Ní mheaitseáil ach trácht isteach atá dírithe ar an seoladh IP ar leith." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Ní mheaitseáil ach trácht atá ag teacht isteach ó na MACanna seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Ní mheaitseáil ach trácht atá ag teacht isteach ón IP nó an raon seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Ní mheaitseáil ach trácht atá ag teacht isteach ón gcalafort foinse nó raon " +"calafoirt ar an óstach cliant" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Gléas amach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Crios amach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Aschur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Cluiche Réimse Pacáiste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Réimsí paicéad le meaitseáil leo.
Comhréir: direction_datatype. m.sh.: src_port, dest_net.
Treoracha: src, dst. Cineálacha sonraí: ip, port, mac, glan, tacar.
Tá " +"réimíreanna treorach roghnach.
*Tabhair faoi deara: ní thacaítear le " +"cineál data set i fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Cuireann argóintí breise chuig iptables. Úsáid go cúramach!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Trí argóintí amh iptables a chur ar aghaidh chuig rialacha aicmithe tráchta " +"foinse agus cinn scríbe is féidir paicéid a mheaitseáil bunaithe ar chritéir " +"eile seachas comhéadain nó folíonta. Ba cheart na roghanna seo a úsáid go " +"han-chúramach toisc go bhféadfadh luachanna neamhbhailí an tacar rialacha " +"balla dóiteáin a bhriseadh, rud a nochtfadh na seirbhísí go léir go hiomlán." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Conair chuig comhad CIDRanna, folíonta, IPanna óstaigh, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port ar aghaidh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Ligeann cur ar aghaidh calafoirt do ríomhairí cianda ar an Idirlíon ceangal " +"le ríomhaire nó seirbhís ar leith laistigh den LAN príobháideach." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Raon calafoirt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Prótacal" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Trácht atá ag teacht isteach a atreorú chuig an gcalafort ar leith ar an " +"óstach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Trácht atá ag teacht isteach a atreorú chuig an óstach inmheán" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Féach do Sraith Seachtrach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Criosanna machnaimh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Teastaíonn tacaíocht NAT crua-earraí." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Masquerading a theorannú go fo-líontaí ceann scríbe ar leith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Masquerading a theorannú le fo-líontaí foinse ar leith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Cuir srian le dul i ngleic le" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Seoladh IP a athscríobh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Athscríobh trácht comhoiriúnach chuig an seoladh IP foinse sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Athscríobh trácht comhoiriúnach chuig an gcalafort nó an raon calafort " +"sonraithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port a athscríobh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Rótar/Díluchtú NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Athscríobh chuig IP nó calafort foinse ar leith" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Dé Sathairn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Socraigh marc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Socraigh an luach marc a thugtar ar naisc bhunaithe. Is é an fhormáid luach " +"[/mask]. Má shonraítear masc ansin ní dhéantar ach na giotáin sin atá " +"leagtha amach sa masc a mhodhnú." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Díluchtú bogearraí-bhunaithe le haghaidh ródú/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Díluchtú sreafa bogearraí" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Seoladh IP foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Seoladh MAC foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Seoladh foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Source port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Crios foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Sonraíonn sé an riail tráchta seo a cheangal le feiste ar leith líonra " +"isteach nó amach." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Sonraíonn sé an seoladh IP seachtrach nó an seoladh IP inmheánach a úsáid le " +"haghaidh tráchta léirithe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Dáta Tosaigh (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Am Tosaigh (hh:mm: ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Dáta Stopa (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Am Stop (hh:mm: ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Modh Stórála" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domhnach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Ní mór an chumraíocht balla dóiteáin atá ann cheana a athrú chun LuCi a " +"fheidhmiú i gceart." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Cruthaíonn an balla dóiteáin criosanna thar do chomhéadain líonra chun " +"sreabhadh tráchta líonra a rialú." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Rialaíonn na roghanna thíos na polasaithe seolta ar aghaidh idir an crios " +"seo (%s) agus criosanna eile. Clúdaíonn Criosanna Ceann Scríbe " +"trácht ar aghaidh a thagann ó %q. Meaitseálann " +"criosanna foinse trácht ar aghaidh ó chriosanna eile " +"dírithe ar %q. Is é an riail ar aghaidh aontreoch, " +"m.sh. ní déanann ar aghaidh ó lan go wan cead a thabhairt ar " +"aghaidh ó wan go lan freisin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Sainmhíníonn an roinn seo airíonna coitianta % q. Socraíonn na roghanna " +"ionchuir agus aschur na beartais réamhshocraithe don " +"trácht atá ag teacht isteach agus ag imeacht ón gcrios seo agus déanann an " +"rogha ar aghaidh cur síos ar an bpolasaí do thrácht ar aghaidh idir " +"líonraí éagsúla laistigh den chrios. Sonraíonn Líonraí clúdaithe cé " +"na líonraí atá ar fáil atá ina mbaill den chrios seo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Déardaoin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Srianta Ama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Am i UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Tá srianta ama cumasaithe don riail seo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Teorainn ama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Chuig %{dest}%{dest_device?, comhéadan %{dest_device}} " +"%{dest_ip?, IP %{dest_ip#%{next?, } %{item.ival} }} %{dest_port?, port " +"%{dest_port#%{ Next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Chuig %{dest}%{dest_device?, trí chomhéadan %{dest_device}} " +"%{dest_ip?, IP %{dest_ip#%{next?, } %{item.ival} }} %{dest_port?, port " +"%{dest_port#%{ Next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Chuig %{dest}%{dest_ip?, IP %{dest_ip#%{ar aghaidh?, } %{item.ival} }} %{dest_port?, port %{dest_port#%{ Next?, } %{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Cúntóir rianaithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Rialacha Tráchta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Sainmhíníonn rialacha tráchta beartais maidir le paicéid a thaistealaíonn " +"idir criosanna éagsúla, mar shampla chun trácht a dhiúltú idir óstaigh " +"áirithe nó chun calafoirt WAN a oscailt ar an ródaire." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Dé Máirt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Níorbh fhéidir inneachar a shábháil: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Aonad: soicind. Ciallaíonn réamhshocrú 0 go gcuirtear an " +"iontráil go buan leis an tacar.
Uasmhéid: 2147483 soicind." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Cúntóir conntrack anaithnid nó nach bhfuil suiteáilte “%s”" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT gan ainm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Ar aghaidh gan ainmniú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Riail gan ainmniú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Sraith gan ainmniú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Crios gan ainm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Prótacal neamh-aitheanta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Nuair a bhrú “Lean ar aghaidh”, déanfar rannáin “atreorú” le sprioc “SNAT” a " +"thiontú go rannáin “nat” agus athosófar an balla dóiteáin chun an " +"chumraíocht nuashonraithe a chur i bhfeidhm." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Úsáid seoladh IP seachtrach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Úsáid seoladh IP inmheánach" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Úsáid ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Úsáid an rogha seo chun trácht crios a rangú de réir gairis líonra amha, " +"nach bhfuil á mbainistiú ag uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Úsáid an rogha seo chun trácht crios a rangú de réir foinse nó foghlíon " +"ceann scríbe in ionad líonraí nó feistí." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Teastaíonn marc balla dóiteáin bail" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Dé Céadaoin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Laethanta Seachta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marca balla dóiteáin XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marca XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Ní ritheann do ghléas firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Ritheann do ghléas firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Crios ⇒ Seoladh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Criosanna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Criosanna as a gcruthófar rialacha machnaimh. Mura bhfuil sé socraithe, ní " +"úsáidtear ach an crios ceann scríbe." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "glacadh le" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "aon" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "aon chrios" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "aon éig/go léir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "cuir marc balla dóiteáin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "cúntóir conntrack a shannadh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "uathoibrithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "Níl bitmap ipv4 amháin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "lá" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP ceann scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Ceann scríbe MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Ceann scríbe (fo-) glan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Port Scríbe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Ceann scríbe ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "ná athscríobh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "ná rianú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "titim" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"tacaíonn firewall4 le tagairt a dhéanamh agus le tacair IP a chruthú chun " +"meaitseáil liostaí seoltaí móra a shimpliú gan aon ghá le riail amháin a " +"chruthú in aghaidh na míre le meaitseáil. Ní thacaíonn balla dóiteáin4 le " +"raonta poirt in ipsets.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "uair an chloig" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP Addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Le húsáid le cineálacha sonraí Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "liosta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "Mac: Mac Addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "nóiméad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "glan: (fo-) glan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "calafort: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "diúltú" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "an dara" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "tacar: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "SRC_Set: Foinse ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Foinse IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Foinse MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Foinse (fo-) glan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Port Foinse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "an gléas seo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "an crios nua seo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "neamhtheoranta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "neamhshonraithe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "suas go dtí 65536 iontráil." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marc balla dóiteáin bailí" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Díluchtú bunaithe ar bhogearraí le haghaidh Routa/NAT" diff --git a/luci-app-firewall/po/he/firewall.po b/luci-app-firewall/po/he/firewall.po new file mode 100644 index 000000000..74e8c16e8 --- /dev/null +++ b/luci-app-firewall/po/he/firewall.po @@ -0,0 +1,1429 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-10 20:57+0000\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: Hebrew \n" +"Language: he\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 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "יש לציין כתובת IP לשכתוב!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "פעולה" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "אגד הכתובות והכתובת הפנימיות חייבות להתאים" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "הגדרות מתקדמות" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "כל" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "כל יום" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "תגובה" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "המשך" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "כתובת יעד" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "פתחת היעד" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "אזור היעד" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "שם המכשיר" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "הפעלה" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "פעילה" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/hi/firewall.po b/luci-app-firewall/po/hi/firewall.po new file mode 100644 index 000000000..778f57566 --- /dev/null +++ b/luci-app-firewall/po/hi/firewall.po @@ -0,0 +1,1431 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-06 11:32+0000\n" +"Last-Translator: Sathvic \n" +"Language-Team: Hindi \n" +"Language: hi\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 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "उन्नत सेटिंग्स" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "अग्रेषित करना" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/hu/firewall.po b/luci-app-firewall/po/hu/firewall.po new file mode 100644 index 000000000..fe0984fdb --- /dev/null +++ b/luci-app-firewall/po/hu/firewall.po @@ -0,0 +1,1642 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-08-20 16:40+0000\n" +"Last-Translator: hmzs \n" +"Language-Team: Hungarian \n" +"Language: hu\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 5.7\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"\"%{src?%{dest?Továbbított:Bejövő}:Kimenő} %{ipv6?%{ipv4?IPv4 és " +"IPv6:IPv6}:IPv4}%{proto?, protokoll\\: " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP típus\\: %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, " +"Jelölő\\: %{mark.val}}%{dscp?, DSCP\\: %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, Segítő\\: " +"%{helper.inv?%{helper.val}:%{helper.val}}}\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP-cím hozzáadása --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC-cím hozzáadása --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Továbbítás:Bemenet}:Kimenet} Elfogadása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" +"Elfogadja a forráscímet (nincs átírás)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"msgstr \"Továbbítás ⇒%{dest}%{dest_ip?" +"%{dest_ip} IP-re}%{dest_port?%{dest_ip? és }%{dest_port} portra}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"{src?%{dest?Továbbítás:Bemenet}:Kimenet} Eldobása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"DSCP hozzárendelés\\: " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"%{set_helper} Követés-segítő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Hozzárendelt:XOR} tűzfal " +"jelölő\\: %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automatikusan átírva a forrás IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"%{src?%{dest?Továbbítás:Bemenet}:Kimenet} kapcsolatkövetés nélkül" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?Továbbítás:Bemenet}:Kimenet} Visszautasítása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statikusan átírva, új forrás%{snat_ip? " +"IP\\: %{snat_ip}}%{snat_port?%{snat_ip? és }port\\: " +"%{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Egy átírási IP-t meg kell adni!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ELFOGADÁS – címátírás letiltása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Művelet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"További nyers iptables argumentumok a zóna célforgalmának " +"besorolásához, például -p tcp --dport 443 csak a kimenő HTTPS " +"forgalom illesztéséhez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"További nyers iptables argumentumok a zóna forrásforgalmának " +"besorolásához, például -p tcp --sport 443 csak a bejövő HTTPS " +"forgalom illesztéséhez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Címcsalád, belső IP-címnek meg kell egyeznie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"A címcsaládnak, a forráscímnek, a célcímnek, az átírási IP-címnek meg kell " +"egyeznie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Haladó beállítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "„Érvénytelen” forgalom engedélyezése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Továbbítás engedélyezése a forrászónákból:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Továbbítás engedélyezése ezekbe a célzónákba:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Bármelyik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Bármely nap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"A megadott érték és a meglévő jelölőérték bitenkénti XOR (kizáró vagy) műveletének alkalmazása a kiépített kapcsolatokon. A formátum: érték[/" +"maszk]. Ha egy maszk meg van adva, akkor a maszkban beállított bitek ki " +"lesznek nullázva." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"A megadott DSCP-osztály vagy érték alkalmazása a kiépített kapcsolatokra." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"A megadott kapcsolatkövetés-segítő hozzárendelése az illesztett forgalomhoz." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatikus segítő hozzárendelés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Kapcsolatkövetés-segítők automatikus hozzárendelése a forgalom protokollja " +"és portja alapján." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Megjegyzés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Kapcsolatkövető beállítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Kapcsolatkövetés-segítők" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "A tartalom mentésre került." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Folytatás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Számlálók" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Lefedett eszközök" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Lefedett hálózatok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Lefedett alhálózatok" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Egyéni szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Az egyéni szabályok lehetővé teszik tetszőleges iptables parancsok " +"végrehajtását, amelyeket a tűzfal keretrendszer egyébként nem fed le. A " +"parancsok minden tűzfal-újraindítás után végrehajtásra kerülnek, közvetlenül " +"az alapértelmezett szabálykészletek betöltődése után." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP-osztályozás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP jelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP jelölő szükséges" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Célcím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Célport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Célzóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Eszköznév" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Ne telepítsen további szabályokat az érvénytelen kapcsolatkövető " +"állapottal rendelkező továbbított forgalom visszautasításához." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Érvénytelen csomagok eldobása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Engedélyezés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT visszacsatolás engedélyezése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-elárasztás elleni védelem engedélyezése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Naplózás engedélyezése ezen a zónán" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Engedélyezze az IPv4-es hálózati cím- és portfordítást (NAT4 vagy NAPT4) a " +"kimenő forgalomhoz ebben a zónában. Ez általában a wan zónában van " +"engedélyezve." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Engedélyezze az IPv6-os hálózati cím- és portfordítást (NAT6 vagy NAPT6) a " +"kimenő forgalomhoz ebben a zónában." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Engedélyezve" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Engedélyezi a csomag- és bájtszám nyomon követését a készlet számára." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Elvárás: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Egyértelműen kiválasztja az engedélyezett kapcsolatkövetés-segítőket a " +"zónaforgalomhoz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Külső IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Külső port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "További argumentumok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "További célargumentumok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "További iptables argumentumok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "További forrásargumentumok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Család" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Tűzfal" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Tűzfal – egyéni szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Tűzfal - IP-készletek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Tűzfal – NAT szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Tűzfal – porttovábbítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Tűzfal – forgalmi szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Tűzfal – zónabeállítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Tűzfal szabályok áttelepítése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Továbbítás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Továbbított %{ipv6?%{ipv4?IPv4 és IPv6:IPv6}:IPv4}%{proto?, protokoll\\: %{proto#%{next?, }%{item." +"name}}}%{mark?, Jelölő\\: %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Péntek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Innen: %{src}%{src_device?, csatoló\\: %{src_device}}%{src_ip?, " +"IP\\: %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port\\: " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Innen: %{src}%{src_device?, csatoló\\: %{src_device}}%{src_ip?, " +"IP\\: %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port\\: " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC\\: " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Innen: %{src}%{src_ip?, IP\\: %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port\\: %{src_port#%{next?, }%{item.ival}" +"}}%{src_mac?, MAC\\: %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Általános beállítások" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Jogosultság adása a tűzfal beállításához" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Hardveres áramláskiürítés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (tartomány)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP-készletek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP-k/Hálózatok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP-k/Hálózatok/MAC-címek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 és IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Csak IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 álcázás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Csak IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Bejövő eszköz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Belevett fájl" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Bejövő: %{ipv6?%{ipv4?IPv4 és IPv6:IPv6}:" +"IPv4}%{proto?, protokoll\\: %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"típus\\: %{item.types#%{next?, }%{item}}:%{item." +"name}}}}%{mark?, Jelölő\\: %{mark.val}}%{helper?, Segítő\\: " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Kezdeti hash méret" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Bemenet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Belső IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Belső port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Belső zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Érvénytelen DSCP jelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Érvénytelen korlátérték" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Érvénytelen készlet név" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Löketek korlátozása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Naplóüzenetek korlátozása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Illesztés korlátozása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Korlátozás: %{limit.num} csomag / %{limit.unit}%{limit." +"burst?, %{limit.burst} löket}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Korlátozott álcázás engedélyezve" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Korlátozza az illeszkedő forgalmat a megadott sebességre." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Visszacsatolt forrás IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "ÁLCÁZÁS – automatikus átírás a kimenő csatoló IP-jére" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS összefogás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Álcázás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Illesztés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "ICMP-típus illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Eszköz illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "A megadott IP-címre irányított továbbított forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"A megadott célportra vagy porttartományra irányított továbbított forgalom " +"illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Erről az IP-ről vagy tartományról továbbított forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"A megadott forrásportról vagy porttartományból eredő továbbított forgalom " +"illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Illesztés-segítő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Az ezen a gépen lévő megadott célportra vagy porttartományra irányított " +"bejövő forgalom illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Jelölés illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Forgalom illesztése a megadott kapcsolatkövetés-segítő használatával." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Egy bizonyos tűzfaljelölőt vagy különböző jelölők tartományát illeszti." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"A megadott kimeneti hálózati eszköz használatával illeszti a továbbított " +"forgalmat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" +"A megadott DSCP jelölést használva " +"illeszti a forgalmat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Max bejegyzés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Max hossz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Az illesztendő csomagok legnagyobb kezdeti száma: ez a szám újratöltődik " +"minden alkalommal, amikor a fent meghatározott korlátot nem érik el, " +"legfeljebb eddig a számig." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Hétfő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Hónap napjai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"A NAT szabályok lehetővé teszik a részletes szabályozást a kimenő vagy " +"továbbított forgalomnál használandó forrás IP fölött." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Név" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmask" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" +"Nem teljesen kompatibilis a QoS / SQM használatával." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Csak a megadott IP-címre irányított bejövő forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Csak ezekről a MAC-címekről érkező bejövő forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Csak erről az IP-ről vagy tartományból érkező bejövő forgalom illesztése." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Csak az ügyfélgépen lévő megadott forrásportról vagy porttartományból eredő " +"bejövő forgalom illesztése" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Kimenő eszköz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Kimenő zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Kimenet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Csomagmező illesztés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"A megfelelő csomagmezők.
Elrendezés: direction_datatype. pl.: " +"src_port, dest_net.
Útvonal: src, dst. " +"Adattípusok: ip, port, mac, net, set.
Az irány előtagok " +"nem kötelezőek.
Megjegyzés: a set adattípust az fw4 nem " +"támogatja." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Átadja a további argumentumokat az iptables részére. Használja " +"körültekintően!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"A forrás- és célforgalom osztályozási szabályainak való nyers iptables " +"argumentumok átadása lehetővé teszi a csomagoknak a csatolóktól vagy " +"alhálózatoktól eltérő feltételek alapján történő illesztését. Ezeket a " +"kapcsolókat rendkívül óvatosan kell használni, mivel az érvénytelen értékek " +"tönkre tehetik a tűzfalszabálykészleteket, ezáltal teljesen feltárva az " +"összes szolgáltatást." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"Elérési út a CIDR-ek, alhálózatok, gazdagép IP-" +"címek, stb. fájlhoz.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Porttovábbítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"A porttovábbítás lehetővé teszi az interneten lévő távoli számítógépeknek a " +"személyes helyi hálózat bizonyos számítógépéhez vagy szolgáltatásához " +"történő csatlakozását." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Port tartomány" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "Egyező bejövő forgalom átirányítása a belső gép megadott portjára." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Egyező bejövő forgalom átirányítása a megadott belső gépre." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Lásd: Külső készlet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Tükrözési zónák" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" +"Hardveres NAT támogatás szükséges." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Álcázás korlátozása a megadott cél-alhálózatokra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Álcázás korlátozása a megadott forrás-alhálózatokra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Korlátozás címcsaládra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP-cím átírása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Illesztett forgalom átírása a megadott forrás IP-címre." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Illesztett forgalom átírása a megadott forrásportra vagy porttartományra." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port átírása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Útválasztás vagy NAT kiürítés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT – átírás egy adott forrás IP-re vagy portra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Szombat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Jelölő beállítása" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"A megadott jelölőérték beállítása a kiépített kapcsolatokon. A formátum: " +"érték[/maszk]. Ha egy maszk meg van adva, akkor csak a maszkban beállított " +"bitek lesznek módosítva." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Szoftveres áramláskiürítés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Forrás IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Forrás MAC-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Forráscím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Forrásport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Forrászóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Meghatározza, hogy ezt a forgalomszabályt egy adott bejövő vagy kimenő " +"hálózati eszközhöz kell kötni." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Meghatározza, hogy a külső vagy a belső IP-címet használja a visszatükrözött " +"forgalomnál." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Kezdés dátuma
(ÉÉÉÉ-HH-NN)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Kezdés ideje
(ÓÓ.PP.MM)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Leállítás dátuma
(ÉÉÉÉ-HH-NN)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Leállítás ideje
(ÓÓ.PP.MM)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Tárolási módszer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Vasárnap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"A meglévő tűzfalkonfigurációt módosítani kell a LuCI megfelelő működéséhez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"A tűzfalzónákat hoz létre a hálózati csatolók fölött a hálózati forgalom " +"áramlásának szabályozásához." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Az alábbi beállítások vezérlik a továbbítási szabályokat a jelenlegi zóna " +"(%s) és a többi zóna között. A célzónák fedik le a továbbított " +"forgalmat, amelynek forrása %q. A forrászónák " +"illesztik a továbbított forgalmat más zónákból, amelynek célja %q. A továbbítási szabály egyirányú, például egy továbbítás " +"LAN-ból WAN-ba nem jelenti azt, hogy a továbbítás WAN-ból LAN-ba is " +"engedélyezett." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Ez a szakasz a(z) %q közös tulajdonságait határozza meg. A bemenet " +"és kimenet beállításai határozzák meg a zónába be- és kilépő " +"forgalom alapértelmezett szabályait, míg a továbbítási beállítás a " +"különböző hálózatok közötti továbbított forgalom szabályát írja le a zónán " +"belül. A lefedett hálózatok adják meg, hogy mely elérhető hálózatok " +"tagjai ennek a zónának." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Csütörtök" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Időkorlátozások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Idő UTC szerint" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Időkorlátozások engedélyezettek ennél a szabálynál" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Időtúllépés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Ide: %{dest}%{dest_device?, csatoló\\: %{dest_device}}%{dest_ip?, " +"IP\\: %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port\\: " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Ide: %{dest}%{dest_device?, csatolón át\\: %{dest_device}}%{dest_ip?, IP\\: %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port\\: %{dest_port#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Ide: %{dest}%{dest_ip?, IP\\: %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port\\: %{dest_port#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Követés-segítő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Forgalmi szabályok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"A forgalmi szabályok a különböző zónák között utazó csomagokra vonatkozó " +"szabályokat határozzák meg, például bizonyos gépek közötti forgalom " +"visszautasításához vagy WAN portok megnyitásához az útválasztón." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Kedd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nem lehet elmenteni a tartalmat: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Mértékegység: másodperc. Max: 2 147 483 másodperc.
Az alapértelmezett " +"0 azt jelenti, hogy a bejegyzés véglegesen hozzáadódik a " +"készlethez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Ismeretlen vagy nem telepített kapcsolatkövetés-segítő: „%s”" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Névtelen NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Névtelen továbbítás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Névtelen szabály" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Névtelen beállítás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Névtelen zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Ismeretlen protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"A „Folytatás” gomb megnyomására a \"SNAT\" célú \"átirányítás\" szakaszok " +"\"NAT\" szakaszokká alakulnak, és a tűzfal újraindul a frissített " +"beállítások alkalmazásához." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Külső IP-cím használata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Belső IP-cím használata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Használja ezt a beállítást a zónaforgalom nyers, nem uci által " +"kezelt hálózati eszközök szerint történő besorolásához." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Használja ezt a beállítást a zónaforgalom forrás- vagy célalhálózat szerint " +"történő besorolásához a hálózatok vagy eszközök helyett." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Érvényes tűzfaljelölő szükséges" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Szerda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Hétköznapok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR tűzfaljelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR jelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Az eszközön nem firewall4 fut." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Az eszközön firewall4 fut." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zóna ⇒ Továbbítások" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zónák" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zónák, amikből tükrözési szabályokat kell létrehozni. Ha nincs beállítva, " +"csak a célzóna kerül felhasználásra." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "elfogadás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "bármely" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "bármely zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "bármely/mind" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "tűzfaljelölő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "kapcsolatkövetés-segítő" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatikus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bittérkép" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "csak ipv4 bittérkép" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "nap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Cél IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Cél MAC-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Cél-(al)hálózat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Célport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Cél ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "ne írja át" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nincs követés" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "eldobás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"A firewall4 támogatja a hivatkozást és az IP-készletek létrehozását, hogy " +"leegyszerűsítse a nagy címlisták egyeztetését anélkül, hogy elemenként egy " +"szabályt kellene létrehozni. A firewall4 nem támogatja az IP-készletekbenben " +"található porttartományokat.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "porttól-portig" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "óra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
Használja az egyező adattípusokhoz: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "perc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (al)hálózat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "visszautasítás" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "másodperc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Forrás ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Forrás IP-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Forrás MAC-cím" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Forrás-(al)hálózat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Forrásport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "ez az eszköz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ez az új zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "korlátlan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "nincs meghatározva" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "65 536 bejegyzésig." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "érvényes tűzfaljelölő" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "" +#~ "Szoftver alapú kiürítés az útválasztásnál vagy NAT-nál." diff --git a/luci-app-firewall/po/id/firewall.po b/luci-app-firewall/po/id/firewall.po new file mode 100644 index 000000000..01fc4bc3f --- /dev/null +++ b/luci-app-firewall/po/id/firewall.po @@ -0,0 +1,1474 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2023-08-31 08:31+0000\n" +"Last-Translator: Charles03010 \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.0.1-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- tambahkan IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- tambahkan MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +" Terima %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr " Cegah penulisan ulang sumber" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Teruskan ke %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Jatuhkan%{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Tetapkan klasifikasi DSCP %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Tetapkan conntrack helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Tetapkan:XOR} tanda firewall " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Menulis ulang IP sumber secara otomatis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Jangan lacak %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Tolak %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +#, fuzzy +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Tulis secara statis ke sumber %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "IP penulisan ulang harus ditentukan!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Nonaktifkan penulisan ulang alamat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Aksi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argumen iptables mentah tambahan untuk mengklasifikasikan lalu " +"lintas tujuan zona, misalnya -p tcp --dport 443 agar hanya " +"cocok dengan lalu lintas HTTPS keluar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argumen mentah iptables tambahan untuk mengklasifikasikan lalu " +"lintas sumber zona, mis. -p tcp --sport 443 agar hanya " +"mencocokkan lalu lintas HTTPS masuk." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Setelan Lanjutan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Izinkan lalu lintas \"tidak valid\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Izinkan forward dari zona sumber :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Izinkan forward ke zona tujuan :" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Apapun" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Setiap hari" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Terapkan XOR bitwise dari nilai yang diberikan dan nilai tanda yang ada pada " +"koneksi yang dibuat. Formatnya adalah nilai[/mask]. Jika mask ditentukan " +"maka bit-bit yang diatur dalam mask tersebut dinolkan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Terapkan kelas atau nilai DSCP yang diberikan ke koneksi yang dibuat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Tetapkan pembantu pelacakan koneksi yang ditentukan ke lalu lintas yang " +"cocok." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Penetapan pembantu otomatis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Diaktifkan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "meneruskan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Setelan Umum" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "zona apapun" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "terapkan tanda firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "tetapkan conntrack helper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "hari" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "jangan menulis ulang" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "jangan lacak" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "buang" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "jam" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "menit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "tolak" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "detik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "peranti ini" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "zona baru ini" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "tak terbatas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "tidak ditentukan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "tanda firewall valid" diff --git a/luci-app-firewall/po/it/firewall.po b/luci-app-firewall/po/it/firewall.po new file mode 100644 index 000000000..dbc799dd8 --- /dev/null +++ b/luci-app-firewall/po/it/firewall.po @@ -0,0 +1,1632 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-13 20:44+0000\n" +"Last-Translator: Random \n" +"Language-Team: Italian \n" +"Language: it\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 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 e " +"IPv6:IPv6}:IPv4}%{proto?, protocollo " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP con tipi %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, assistente %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- aggiungi IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- aggiungi MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accetta %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" +"Previeni la riscrittura dell'origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Inoltra a %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? porta %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Scarta (drop)%{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Assegna classificazione DSCP " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Assegna assistente conntrack " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"Contrassegno firewall %{set_mark?Assign:XOR} %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Riscrivi automaticamente l'IP di " +"origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Non rintracciare %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rifiuta (reject) %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Riscrivi staticamente verso l'origine " +"%{snat_ip?IP %{snat_ip}} %{snat_port?porta %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "È necessario specificare un IP di riscrittura!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCETTA - Disattiva riscrittura degli indirizzi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Azione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Ulteriori argomenti grezzi di iptables per classificare il traffico " +"di destinazione della zona, ad es. -p tcp --dport 443 per il " +"solo traffico HTTPS in uscita." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Ulteriori argomenti grezzi di iptables per classificare il traffico " +"di origine della zona, ad es. -p tcp --sport 443 per il solo " +"traffico HTTPS in ingresso." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "La famiglia di indirizzi e l'indirizzo IP interno devono corrispondere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"La famiglia di indirizzi, l'indirizzo di origine, l'indirizzo di " +"destinazione e l'indirizzo IP di riscrittura devono corrispondere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Impostazioni avanzate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Consenti traffico \"non valido\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Consenti l'inoltro da zone di origine:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Consenti l'inoltro a zone di destinazione:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Qualsiasi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Qualsiasi giorno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Applica uno XOR bit a bit del valore dato e il valore contrassegno esistente " +"sulle connessioni stabilite. Il formato è valore[/maschera]. Se una maschera " +"è specificata allora quei bit impostati nella maschera sono azzerati." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Applica la classe o il valore DSCP dato per le connessioni stabilite." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Assegna l'assistente di tracciamento di connessione specificato al traffico " +"corrispondente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Assegnazione automatica dell'assistente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Assegna automaticamente gli assistenti conntrack in base al protocollo e " +"alla porta di traffico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Commento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Impostazioni di conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Assistenti di conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "I contenuti sono stati salvati." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continua" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contatori" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Dispositivi coperti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Reti coperte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Sottoreti coperte" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Regole personalizzate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Le regole personalizzate ti permettorno di eseguire comandi iptables " +"arbitrari che non sono altrimenti coperti dall'applicazione firewall. I " +"comandi sono eseguiti dopo ogni riavvio del firewall, giusto dopo le altre " +"regole che sono state caricate." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Classificazione DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Contrassegno DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Contrassegno DSCP richiesto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Indirizzo di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Porta di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nome dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Non installare regole extra per rifiutare il traffico inoltrato con lo stato " +"conntrack non valido. Può essere necessario per configurazioni di " +"instradamenti asimmetrici complesse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Scarta (drop) pacchetti non validi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Abilitare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Attiva loopback NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Attiva protezione SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Attiva registro su questa zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Attiva la traduzione di indirizzo di rete e porta IPv4 (NAT4 o NAPT4) per il " +"traffico in uscita su questa zona. È tipicamente attivata nella zona " +"wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Attiva la traduzione di indirizzo di rete e porta IPv6 (NAT6 o NAPT6) per il " +"traffico in uscita su questa zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Abilita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Attiva il monitoraggio del conto di pacchetti e byte per il set." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Previsto: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Sceglie esplicitamente gli assistenti autorizzati del monitoraggio delle " +"connessioni per il traffico della zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Indirizzo IP esterno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Porta esterna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argomenti extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argomenti di destinazione extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argomenti di iptables extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argomenti di origine extra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Famiglia" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Regole personalizzate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - Set di IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - Regole NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Inoltro porte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Regole di traffico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Impostazioni zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migrazione configurazione del firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Inoltra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Inoltrato %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocollo %{proto#%{next?, }%{item.name}}}%{mark?, contrassegno %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Venerdì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Da %{src}%{src_device?, interfaccia %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, porta " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Da %{src}%{src_device?, interfaccia %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, porta " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Da %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, porta %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Impostazioni Generali" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Concedi l'accesso alla configurazione del firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Scarico del flusso hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (intervallo)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Set di IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP/Reti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP/Reti/MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 e IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Solo IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Masquerading IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Solo IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Dispositivo di ingresso" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Includi file" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"In ingresso %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocollo %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"con tipi %{item.types#%{next?, }%{item}}:%{item." +"name}}}}%{mark?, contrassegno %{mark.val}}%{helper?, " +"assistente %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Dimensione hash iniziale" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "In entrata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Indirizzo IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Porta interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Inoltro zona intra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Contrassegno DSCP non valido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valore di limite non valido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nome set non valido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Limite di raffica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limita messaggi del registro" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limita corrispondenza" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limita la corrispondenza a %{limit.num} pacchetti per " +"%{limit.unit}%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Masquerading limitato attivato" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limita il traffico corrispondente alla velocità specificata." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP di origine loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Riscrivi automaticamente all'IP dell'interfaccia in uscita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Ancoraggio MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Corrispondenza" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Corrispondi DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Corrispondi tipo ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Corrispondi dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Corrispondi il traffico inoltrato diretto all'indirizzo IP indicato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Corrispondi traffico inoltrato diretto alla porta o all'intervallo di porte " +"di destinazione." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Corrispondi il traffico inoltrato da questo IP o intervallo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Corrispondi il traffico inoltrato derivante dalla porta o dall'intervallo di " +"porte di origine." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Corrispondi assistente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Corrispondi il traffico in ingresso diretto alla porta o all'intervallo di " +"porte su questo host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Corrispondi contrassegno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Corrispondi il traffico usando l'assistente di monitoraggio della " +"connessione specificato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Corrisponde un contrassegno specifico del firewall o un intervallo di " +"diversi contrassegni." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Corrisponde il traffico inoltrato usando il dispositivo di rete in uscita " +"specificato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" +"Corrisponde il traffico che trasporta il contrassegno DSCP specificato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Elementi massimi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Dimensione massima" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Numero massimo iniziale di pacchetti da corrispondere: questo numero viene " +"ricaricato da uno ogni volta che il limite specificato sopra non è " +"raggiunto, fino a questo numero." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Lunedì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Giorni del mese" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Regole NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Le regole NAT consentono un controllo granulare sull'IP di origine da usare " +"per il traffico in uscita o inoltrato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Maschera di rete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" +"Non completamente compatibile con QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Corrispondi solo traffico in entrata diretto al dato indirizzo IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Corrispondi solo traffico in entrata da questi MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Corrispondi solo traffico in entrata da questo IP o intervallo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Corrispondi solo traffico in entrata originato dalla porta o intervallo di " +"porte sorgenti su host cliente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Dispositivo di uscita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona di uscita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "In uscita" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Corrispondenza campo pacchetto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"I campi dei pacchetti da corrispondere.
Sintassi: " +"direction_datatype. es.: src_port, dest_net.
Direzioni: src, dst. Tipi di dati: ip, port, mac, net, " +"set.
I prefissi di direzione sono facoltativi.
*Nota: il " +"tipo di dati set non è supportato in fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Passa comandi addizionali a iptables. Usare con cura!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Passare argomenti grezzi di iptables alle regole di classificazione del " +"traffico di origine e di destinazione, consente di corrispondere i pacchetti " +"in base ad altri criteri rispetto a interfacce o sottoreti. Queste opzioni " +"dovrebbero essere usate con estrema cura, in quanto valori non validi " +"possono invalidare le regole del firewall, esponendo completamente tutti i " +"servizi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Percorso al file dei CIDR, sottoreti, IP host, ecc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Inoltro porte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"L'inoltro delle porte permette a computer remoti su Internet di connettersi " +"a uno specifico computer o servizio presente nella LAN privata." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Intervallo di porte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocollo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "Reindirizza il traffico in entrata alla porta data su host interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Reindirizza il traffico in entrata allo specifico host interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Fare riferimento a set esterno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zone riflettive" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Richiede supporto NAT hardware." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Limita il Masquerading alle subnet di destinazione date" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Limita il Masquerading alle subnet sorgente date" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Limita agli indirizzi famiglia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Riscrivi l'indirizzo IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Riscrivi il traffico corrispondente sull'indirizzo IP di origine specificato." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Riscrivi il traffico corrispondente sulla porta o intervallo di porte di " +"origine specificate." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Riscrivi porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Scarico dell'instradamento/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Riscrivi sull'IP o porta di origine specificati" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sabato" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Imposta contrassegno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Imposta il valore del contrassegno sulle connessioni stabilite. Il formato è " +"valore[/maschera]. Se una maschera è specificata allora solo quei bit " +"impostati nella maschera sono modificati." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Scarico del flusso software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Indirizzo IP di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Indirizzo MAC di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Indirizzo di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Porta di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Specifica se legare questa regola di traffico a uno specifico dispositivo di " +"rete in ingresso o in uscita." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Specifica se usare l'indirizzo IP esterno o interno per il traffico riflesso." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Data di Inizio (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Ora di inizio (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Data di Stop (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Ora di fine (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Metodo di archiviazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domenica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"L'attuale configurazione del firewall deve essere modificata affinché LuCI " +"funzioni correttamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Il firewall crea delle zone nelle tue interfacce di rete per controllare il " +"flusso del traffico." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Queste opzioni controllano le regole di inoltro tra questa zona (%s) e altre " +"zone. Le zone di destinazione coprono il traffico inoltrato " +"originato da %q. Le zone di origine corrispondono " +"il traffico inoltrato da altre zone che puntano a %q. La " +"regola di inoltro è unidirezionale, esempio: un inoltro dalla lan " +"alla wan non implica anche un permesso da inoltrare dalla wan alla " +"lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Questa sezione definisce le proprietà comuni di %q. Le opzioni " +"diingresso e uscita definiscono le regole di default per " +"il traffico in entrata e uscita di questa zona mentre l'opzione di " +"inoltro descrive il metodo per il traffico inoltrato tra reti " +"differenti nella zona. Le reti coperte specificano quali reti " +"disponibili sono membri di questa zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Giovedì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restrizioni temporali" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Orario in UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Le restrizioni temporali sono attive per questa regola" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Scadenza" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Verso %{dest}%{dest_device?, interfaccia %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, porta %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Verso %{dest}%{dest_device?, via interfaccia %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, porta %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Verso %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, porta %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Assistente di monitoraggio" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Regole di Traffico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Le regole del traffico definiscono il metodo per il viaggio dei pacchetti " +"tra zone differenti, per esempio per rifiutare il traffico tra certi host o " +"per aprire porte WAN sul router." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Martedì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Impossibile salvare i contenuti: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unità: secondi. Il predefinito 0 significa che la voce viene " +"aggiunta in modo permanente al set.
Max: 2147483 secondi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Assitente conntrack sconosciuto o non installato \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Inoltro senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regola senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Set senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona senza nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocollo non riconosciuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Dopo aver premuto \"Continua\", le sezioni \"reindirizza\" con destinazione " +"\"SNAT\" saranno convertite in sezioni \"nat\" e il firewall verrà riavviato " +"per applicare la configurazione aggiornata." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Usa l'indirizzo IP esterno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Usa l'indirizzo IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Usa ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Usa questa opzione per classificare il traffico di zona da dispositivi di " +"rete gestiti grezzi, nonuci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Usa questa opzione per classificare il traffico di zona per origine o " +"sottorete di destinazione, invece di reti o dispositivi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Contrassegno firewall valido richiesto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Mercoledì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Giorni della Settimana" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Contrassegno firewall XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Contrassegno XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Il dispositivo non sta eseguendo firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Il dispositivo sta eseguendo firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Inoltri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zone da cui devono essere create regole riflettive. Se non impostato, viene " +"usata solo la zona di destinazione." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accetta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "qualsiasi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "qualsiasi zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "qualsiasi/tutti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "applica contrassegno firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "assegna assistente conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatico" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap è solo ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "giorno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: indirizzo MAC di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (sotto)rete di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: porta di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: ipset* di destinazione" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "non riscrivere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "non tracciare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "scarta (drop)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 supporta il riferimento e la creazione di set di IP per " +"semplificare la corrispondenza di liste di indirizzi di grandi dimensioni, " +"senza la necessità di creare una regola per elemento da abbinare. Gli " +"intervalli di porte in ipsets non sono supportati da firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "ora" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: indirizzo IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
Da usare per i tipi di dati Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: indirizzo MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (sotto)rete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rifiuta (reject)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "secondo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: ipset* di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: indirizzo MAC di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (sotto)rete di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: porta di origine" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "questo dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "questa nuova zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "illimitato" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "non specificato" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "fino a 65536 voci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "contrassegno firewall valido" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Scarico basato sul software per instradamento/NAT" diff --git a/luci-app-firewall/po/ja/firewall.po b/luci-app-firewall/po/ja/firewall.po new file mode 100644 index 000000000..7fa750ac5 --- /dev/null +++ b/luci-app-firewall/po/ja/firewall.po @@ -0,0 +1,1611 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-10-09 05:48+0000\n" +"Last-Translator: Monarch \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.8-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{ipv6?%{ipv4?IPv4IPv6:IPv6}:IPv4} の %{src?%{dest?転送:受信}:送信}%{proto?, プロトコル " +"%{proto#%{next?, }%{item.types?%{item." +"name}含まれる ICMP タイプ - %{item." +"types#%{next?, }%{item}}:%{item.name}}}}%{mark?, マーク %{mark.val}" +"}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, ヘルパー %{helper.inv?%{helper.val}" +":%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP を追加 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC を追加 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?転送:受信}:送信} を 許可" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "アクセス元の書き換えを防止" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"%{dest}%{dest_ip? IP %{dest_ip}}%{dest_port? port " +"%{dest_port}} へ転送" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "%{src?%{dest?転送:受信}:送信} を 破棄" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"DSCP 区分の割り当て - %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"conntrack ヘルパーの割り当て - " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"ファイアウォール マークの%{set_mark?割り当て:XOR}" +" - %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"アクセス元 IP を 自動的に書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"%{src?%{dest?転送:受信}:送信} を追跡しない" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"%{src?%{dest?転送:受信}:送信} を拒否" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"アクセス元 %{snat_ip?IP %{snat_ip}} %{snat_port?ポート " +"%{snat_port}} への静的書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "書き換え先 IP の指定が必要です!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - アドレス書き換えを無効化" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "アクション" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"ゾーンの送信先へのトラフィックを区分するために付加する、生の iptables 引数です。(例: HTTPS 送信トラフィックのみにマッチさせる -p tcp --" +"dport 443)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"ゾーンを送信元とするトラフィックを区分するために付加する、生の iptables 引数です。(例: HTTPS 受信トラフィックのみにマッチさせる -p tcp --" +"sport 443)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "詳細設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "\"invalid\" トラフィックの許可" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "送信元ゾーンからの転送を許可する:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "宛先ゾーンへの転送を許可する:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "すべて" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "全日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"確立された接続に、指定された値と既存のマーク値のビット単位のXORを適用します。" +"形式は値 [/mask]です。マスクが指定されている場合、マスクに設定されているビッ" +"トはゼロになります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "指定された DSCP クラスまたは値を確立された接続に適用します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "指定された接続追跡ヘルパーを対象のトラフィックに割り当てます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "自動ヘルパー割り当て" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"トラフィックのプロトコルとポートに基づいて、 conntrack ヘルパーを自動的に割り" +"当てます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "コメント" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack 設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack ヘルパー" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "内容が保存されました。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "続行" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "カバーされるデバイス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "対象ネットワーク" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "カバーされるサブネット" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "手動設定ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"手動設定ルールの設定では、ファイアウォールの設定画面ではサポートされていない" +"ような、任意のiptablesコマンドを実行することが可能です。これらの任意のコマン" +"ドは、ファイアウォール機能の起動ごとに、標準のルールが読み込まれた後に実行さ" +"れます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP 区分" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP マーク" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP マークが必要です" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "宛先アドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "宛先ポート" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "宛先ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "デバイス名" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"conntrack ステートが invalid である転送されたトラフィックを拒否する" +"追加ルールをインストールしない。これは、複雑で非対称なルートのセットアップに" +"必要となることがあります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "無効なパケットを遮断する" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "有効化" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NATループバックを有効にする" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-Floodプロテクションを有効にする" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "このゾーンのログ記録を有効にする" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "%sである必要があります" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "ゾーン トラフィックの接続追跡ヘルパーを明示的に選択します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "外部IPアドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "外部ポート" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "追加の引数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "追加の送信先引数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "追加の iptables 引数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "追加の送信元引数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "ファイアウォール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "ファイアウォール - 手動設定ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "ファイアウォール - NAT ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "ファイアウォール - ポートフォワーディング" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "ファイアウォール - トラフィック・ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "ファイアウォール - ゾーン設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "ファイアウォール設定マイグレーション" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "転送" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "金曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"送信元: %{src}%{src_device?, インターフェース %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, ポート " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"送信元: %{src}%{src_device?, インターフェース %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, ポート " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"送信元: %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, ポート %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "一般設定" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "ファイアウォール構成へのアクセスを許可" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "ハードウェア フローオフロード" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP セット" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4及びIPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4のみ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6のみ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "受信側デバイス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "受信" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "内部IPアドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "内部ポート" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "内部ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "無効な DSCP マーク" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "無効な制限値" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "バースト制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "ログメッセージを制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "一致の制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"一致するパケット数を %{limit.unit} あたり %{limit.num} " +"に制限%{limit.burst?(バースト %{limit.burst})}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "限定的なマスカレードが有効" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "トラフィックを指定されたレートに制限します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "ループバック元 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - 自動的に送信側インターフェース IP へ書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSSクランプ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "マスカレード" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "対象" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP の一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "ICMPタイプの一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "デバイスの一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "指定された IP アドレスに転送されるトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"指定されたポートまたはポート範囲に転送されるトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "この IP または範囲からのトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"指定された送信元ポートまたはポート範囲から発信されたトラフィックが対象になり" +"ます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "ヘルパーの一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"設定された宛先ポート(またはポート範囲)に一致した受信トラフィックが対象になり" +"ます" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "マークの一致" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "指定された接続追跡ヘルパーを使用するトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"特定のファイアウォール マークまたは異なる複数のマークの範囲が対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"指定された送信側ネットワーク デバイスを使用して転送されるトラフィックが対象に" +"なります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "指定された DSCP マークを持っているトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"対象となるパケットの最初の最大数です。この数は、上のレート制限で上限に到達し" +"なかった場合に、その時間毎にここで指定された数まで1ずつ回復します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "月曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "月間" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT ルールは、送信または転送トラフィックのために使用するアクセス元 IP に対し" +"て、とても細かな制御を可能にします。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "名前" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "QoS/SQM との完全な互換性はありません。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "設定された宛先IPアドレスと一致した受信トラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "設定されたMACアドレスと一致した受信したトラフィックが対象になります。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"設定されたIPアドレス (または範囲) と一致した受信したトラフィックが対象になり" +"ます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"設定されたクライアントホストの送信元ポート(またはポート範囲)からの受信トラ" +"フィックと一致したトラフィックのみを対象にします。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "送信側デバイス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "送信側ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "送信" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"iptablesにパススルーする追加の引数を設定してください。注意して設定してくださ" +"い!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"送信元と送信先のトラフィックの区分ルールを、インターフェースやサブネット以外" +"の基準に基づいてマッチすることができるように、生の iptables 引数を渡します。" +"これらのオプションは、無効な値がファイアウォール ルールセットの破壊を引き起こ" +"し、全サービスを外部に晒す恐れがあることに、特段の注意を払い使用されなければ" +"なりません。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "ポートフォワーディング" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"ポートフォワーディングは、インターネット上のリモートコンピュータから、プライ" +"ベートなネットワーク上の、特定のコンピュータやサービスへのアクセスを可能にし" +"ます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "プロトコル" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"ルールに一致した受信トラフィックを、内部ホストの設定されたポートへ転送します" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "ルールに一致した受信トラフィックを、設定された内部ホストへ転送します" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "ハードウェア NAT サポートが必要です。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "設定された宛先サブネットへのマスカレードを制限する" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "設定された送信元サブネットへのマスカレードを制限する" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "アドレスファミリの制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP アドレスの書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "対象のトラフィックを指定されたアクセス元 IP アドレスに書き換えます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"対象のトラフィックを指定されたアクセス元ポートまたはポート範囲に書き換えま" +"す。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "ポートの書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "ルーティング/NAT オフロード" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - 特定のアクセス元 IP またはポートへの書き換え" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "土曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "マークの設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"確立された接続にマーク値を設定します。フォーマットは value[/mask] です。もし" +"マスクが指定されている場合、マスクによって有効なビットのみ設定されます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "ソフトウェア フローオフロード" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "送信元IPアドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "送信元MACアドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "送信元アドレス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "送信元ポート" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "送信元ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"このトラフィック ルールを関連付ける、特定の受信側または送信側ネットワークデバ" +"イスを指定します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"反映されるトラフィックに対し、外部または内部 IP アドレスのどちらを使用するか" +"を指定します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "開始日 (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "開始時刻 (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "停止日 (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "停止時刻 (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "日曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"既存のファイアウォール設定は、 LuCI が正常に機能するように変更する必要があり" +"ます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"ファイアウォール機能は、各ネットワークインターフェース上にゾーンを作成してト" +"ラフィックの制御を行います。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"下記の設定は、このゾーン (%s)とその他のゾーン間の転送ポリシーを制御します。" +"宛先ゾーンへの転送 は、%q から転送されたトラフィッ" +"クに対して転送を許可します。 送信元ゾーンからの転送 は、別のゾーンか" +"ら%qへ の転送を許可します。トラフィック転送設定は、一方" +"向であり、例えばlanからwanへの転送設定は、wanからlanへの転送を許可し" +"ません。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"このセクションでは、%sの標準的な動作を設定します。受信及び送信オプションは、このゾーンに対して入出力するトラフィックに対する標準のポリ" +"シーを設定し、転送オプションは、ゾーン間の転送トラフィックに対する標" +"準のポリシーになります。対象ネットワークは、どのネットワーク設定がこ" +"のゾーンに属するかを設定します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "木曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "時間制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC時刻を使用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "このルールでは時間制限が有効です" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"送信先: %{dest}%{dest_device?, インターフェース %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"送信先: %{dest}%{dest_device?, 経由インターフェース %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"送信先: %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, ポート %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "追跡ヘルパー" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "トラフィック・ルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"トラフィック・ルールの設定では、ゾーン間を行き来するパケットのポリシーを設定" +"します。例えば、特定のホスト間や、ルーターのWANポートへのトラフィックの拒否を" +"設定することができます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "火曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "内容を保存できません: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "不明またはインストールされていない conntrack ヘルパー \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "名称未設定の NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "名称未設定の転送" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "名称未設定のルール" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "名称未設定のゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "認識されていないプロトコル" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"\"続行\" を押下すると、 \"SNAT\" ターゲットを持つ \"redirect\" セクションは " +"\"nat\" セクションに変換されたうえで、ファイアウォールは更新された設定を適用" +"するために再起動されます。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "外部 IP アドレスを使用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "内部 IP アドレスを使用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"生の、または非 uci 管理下にあるデバイスによるゾーン トラフィックの区" +"分にこのオプションを使用します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"ネットワークまたはデバイスに代わり、アクセス元またはアクセス先サブネットによ" +"るゾーン トラフィックの区分にこのオプションを使用します。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "有効なファイアウォール マークが必要です" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "水曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "曜日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "ファイアウォール マークの XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "マークの XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "ゾーン ⇒ 転送" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "ゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "許可" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "すべて" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "すべてのゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "ファイアウォール マークの適用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "conntrack ヘルパーの割り当て" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "書き換えない" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "コネクション追跡を行わない" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "破棄" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "時間" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "分" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "拒否" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "秒" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "このデバイス" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "この新しいゾーン" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "無制限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "未設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "有効なファイアウォール マーク" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "ルーティング/NAT のための、ソフトウェアベースのオフロードです。" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "IPv4 の転送%{proto?, プロトコル %{proto#%{next?, }%{item.name}}}%{mark?, マーク %{mark." +#~ "val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "IPv4 の受信%{proto?, プロトコル %{proto#%{next?, }%{item.types?%{item.name}含" +#~ "まれる ICMP タイプ - %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, マーク %{mark.val}}%{helper?, ヘルパー %{helper.inv?" +#~ "%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/ka/firewall.po b/luci-app-firewall/po/ka/firewall.po new file mode 100644 index 000000000..5da118413 --- /dev/null +++ b/luci-app-firewall/po/ka/firewall.po @@ -0,0 +1,1460 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-06-29 16:09+0000\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\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 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- დაემატოს IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- დაემატოს MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"მიღება %{src?%{dest?გადაგზავნილი:" +"შემავალი}:გამომავალი}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "წყაროს ჩანაცვლების არიდება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"გადამისამართება %{dest}%{dest_ip? IP-" +"მისამართზე %{dest_ip}}%{dest_port? პორტი %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"აცილება %{src?%{dest?გადაგზავნილი:შემავალი}:" +"გამომავალი}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"საწყისი IP-მისამართის თავისთავად " +"ჩანაცვლება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"მისამართების ჯგუფი, საწყისი მისამართი, საბოლოო მისამართი, ჩანაცვლების IP-" +"მისამართი შესაფერისი უნდა იყოს" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "გაფართოებული პარამეტრები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "გადამისამართების ნებართვა საწყისი არედან:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "გადაგზავნის ნებართვა საბოლოო არეებში:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "ნებისმიერი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "ნებისმიერი დღე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "შენიშვნა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack-პარამეტრები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack-დამხმარე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "შემცველობა შენახულია." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "გაგრძელება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "მთვლელები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "მითითებული წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "საბოლოო მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "საბოლოო პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "საბოლოო არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "მოწყობილობის სახელი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "გაუმართავი კრებულების აცილება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "ამოქმედდეს NAT-უკუკავშირი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-flood-დაცვის ჩართვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "აღრიცხვის ჩართვა ამ არესთვის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"ამოქმედდეს ქსელისა და პორტის გარდაქმნა IPv4 (NAT4 ან NAPT4) გამავალი " +"ნაკადისთვის ამ არეში. ჩვეულებრივ მოქმედია ხოლმე wan არეში." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"ამოქმედდეს ქსელისა და პორტის გარდაქმნა IPv6 (NAT6 ან NAPT6) გამავალი " +"ნაკადისთვის ამ არეში." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "მოქმედია" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "გარე IP-მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "გარე პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "დამატებითი არგუმენტები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "დამატებით არგუმენტები საბოლოო წერტილისთვის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "დამატებითი არგუმენტები საწყისი წერტილისთვის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "ჯგუფი" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "ქსელის ფარი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "ქსელის ფარი - მითითებული წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "ქსელის ფარი - IP-ნაკრები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "ქსელის ფარი - NAT-წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "ქსელის ფარი - პორტის გადამისამართება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "ქსელის ფარი - მიმოცვლის წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "ქსელის ფარი - არეების გამართვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "ქსელის ფარის გამართვის გადატანა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "გადაგზავნა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "პარასკევი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "ზოგადი პარამეტრები" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "ქსელის ფარის გამართვასთან წვდომის ნებართვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "ნაკადის აპარატურული განტვირთვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP-ები/ქსელები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP-ები/ქსელები/MAC-ები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 და IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 მხოლოდ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 შენიღბვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 მხოლოდ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "შემავალი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "შიდა IP-მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "შიდა პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "შიდა არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "უკუკავშირის წყაროს IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "მაქს. ჩანაწერები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "უმაღლესი სიგრძე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "ორშაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "თვის დღეები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-წესების მეშვეობით უკეთ შეიძლება იმართოს საწყისი IP გამავალი ან " +"გადამისამართებული ნაკადისთვის." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "სახელი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "სრულად თავსებადი არ იქნება QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "გამომავალი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "პორტის გადამისამართება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"პორტის გადამისამართებით მოშორებულ კომპიუტერებს ინტერნეტით შეეძლება " +"ადგილობრივი ქსელის რომელიმე კომპიუტერთან ან მომსახურებასთან წვდომა." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "ოქმი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "ესაჭიროება აპარატურული NAT-მხარდაჭერა." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "შენიღბვის აკრძალვა მოცემული საბოლოო ქვექსელებისკენ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "მისამართის ჯგუფის შეზღუდვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "დამისამართება/NAT-განტვირთვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - ჩანაცვლება ზოგიერთი საწყისი IP-ისა თუ პორტისა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "შაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "ნაკადის პროგრამული განტვირთვა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "საწყისი IP-მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "საწყისი MAC-მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "საწყისი მისამართი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "საწყისი პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "საწყისი არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "დაწყების თარიღი (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "დაწყების დრო (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "შეწყვეტის თარიღი (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "შეწყვეტის დრო (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "შენახვის ხერხი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "კვირა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"ქსელის ფარის არსებული გამართვა უნდა შეიცვალოს, რომ LuCI სათანადოდ მუშაობდეს." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"ქსელის ფარი ქმნის არეებს ქსელის მაკავშირებლებს შორის მიმოცვლილი მონაცემების " +"სამართავად." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "ოთხშაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "დროის შეზღუდვები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "დროის შეზღუდვები ამოქმედებულია ამ წესისთვის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "მოლოდინის ვადა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "მიმოცვლის წესები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"მიმოცვლის წესებით განისაზღვრება დებულებები კრებულთა მიმოცვლისთვის არეებს " +"შორის, მაგალითად, ცალკეული წყაროდან მომავალი მონაცემების ასაკრძალად ან გარე " +"პორტების გასახსნელად როუტერზე." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "სამშაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "ვერ შეინახა შიგთავსი: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "უსახელო NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "უსახელო გადამისამართება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "უსახელო წესი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "უსახელო ნაკრები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "უსახელო არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "დაუდგენელი ოქმი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "გარე IP-მისამართის გამოყენება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "შიდა IP-მისამართის გამოყენება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"ამ პარამეტრის გამოყენება არეებში მიმოცვლის დასახარისხებლად საწყისი ან " +"საბოლოო ქვექსელით, ნაცვლად ქსელებით ან მოწყობილობებით." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "ქსელის ფარის მართებული ნიშანია საჭირო" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "ოთხშაბათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "კვირის დღეები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "ქსელის ფარის XOR-ნიშანი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR-ნიშანი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "თქვენს მოწყობილობაზე არაა გაშვებული firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "თქვენს მოწყობილობაზე გაშვებულია firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "არე ⇒ გადამისამართება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "არეები" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "მიღება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "ნებისმიერი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "ნებისმიერი არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "ნებისმიერი/ყველა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "დღე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: საბოლოო IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: საბოლოო MAC-მის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: საბოლოო (ქვე)ქსელი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: საბოლოო პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "ჩანაცვლების გარეშე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "მიდევნების გარეშე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "აცილება" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "ჰეში" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "საათი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP-მის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "სია" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC-მის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "წუთი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "უარყოფა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "წამი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: საწყისი IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: საწყისი MAC-მის" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: საწყისი (ქვე)ქსელი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: საწყისი პორტი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "ეს მოწყობილობა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ახალი არე" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "შეუზღუდავი" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "არ მითითებულა" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "65536 ჩანაწერამდე." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "პროგრამული სახით განიტვირთება დამისამართება/NAT" diff --git a/luci-app-firewall/po/ko/firewall.po b/luci-app-firewall/po/ko/firewall.po new file mode 100644 index 000000000..46f4dc0d7 --- /dev/null +++ b/luci-app-firewall/po/ko/firewall.po @@ -0,0 +1,1452 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2022-11-22 08:46+0000\n" +"Last-Translator: Taewook Yang (ワリ) \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\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-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP 추가 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC 주소 추가 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "액션" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "고급 설정" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Source zone 로부터의 forward 허용:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Destination zone 으로 forward 허용:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "사용자 규칙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"사용자 규칙을 사용하면 방화벽 프레임워크로 해결이 되지 않는 임의의 iptables " +"명령을 실행할 수 있습니다. 입력된 명령어들은 매 방화벽 재시작시 default " +"ruleset을 불러온 직후 실행됩니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "목적지 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "활성화" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT 루프백 활성화" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-flood protection 활성화" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "해당 Zone 의 로그 활성화" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "외부 IP 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "외부 포트" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "추가 변수" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "방화벽" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "방화벽 - 사용자 규칙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "방화벽 - NAT 규칙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "방화벽 - 포트 포워드" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "방화벽 - 트래픽 규칙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "방화벽 - Zone 설정" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "방화벽 구성 마이그레이션" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "포워드" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "금요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "기본 설정" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4와 IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "IPv4 전용" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "IPv6 전용" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "인바운드 장치" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "입력" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "내부 IP 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "내부 포트" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "내부 Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "잘못된 DSCP 마크" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "잘못된 limit 값" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "로그 메시지 제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "루프백 소스 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "월요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "이름" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "iptables 명령에 추가 변수들을 전달합니다. 주의하여 사용하세요!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Port forwarding 기능은 인터넷 상의 원격 컴퓨터가 내부 LAN 에 속한 특정 컴퓨터" +"나 서비스에 접속할 수 있도록 합니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "프로토콜" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "주어진 destination subnet 으로 Masquerading 제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "주어진 source subnet 으로 Masquerading 제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Address family 제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "토요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Source IP 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Source MAC 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Source 주소" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "시작 날짜 (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "종료 날짜 (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "일요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"방화벽 기능을 이용하여 네트워크 인터페이스와 연결된 zone 을 생성할 수 있고 이" +"를 이용하여 네트워크 traffic flow 를 제어할 수 있습니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"이 zone (%s) 과 다른 zone 들 사이의 forwarding 정책을 제어하는 옵션들입니다. " +"Destination zones%q 에서 출발한 forward " +"traffic 을 뜻하고, Source zones 은 다른 zone 들에서 %q 로 전" +"달되는 forward traffic 을 뜻합니다. Forwarding rule 은 " +"unidirectional 인데, 예를 들어 LAN 에서 WAN 으로의 forward 규칙이 " +"WAN 에서 LAN 으로의 forward 를 허락하는 것이 아닙니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"이 섹션은 %q 의 공통 속성을 설정할 수 있습니다. input 과 " +"output 옵션은 이 Zone 으로 전달되어 들오거나 나가는 트래픽에 대한 기" +"본 정책을 뜻합니다. forward 옵션은 Zone 내에서 다른 네트워크들 사이" +"를 오가는 포워드 트래픽에 대한 정책을 뜻합니다. Covered networks 에" +"서는 Zone 의 영향을 받을 네트워크들을 지정할 수 있습니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "목요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC 기준시" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Traffic Rule" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Traffic rule 은 서로 다른 zone 사이를 오가는 패킷들에 대한 정책을 정의합니" +"다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 공유기의 WAN port 를 " +"open 할때 사용됩니다." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "화요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "수요일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "주일" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zone 내역" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "무제한" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "명시되지 않음" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/lt/firewall.po b/luci-app-firewall/po/lt/firewall.po new file mode 100644 index 000000000..aa01f0d77 --- /dev/null +++ b/luci-app-firewall/po/lt/firewall.po @@ -0,0 +1,1625 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-20 19:09+0000\n" +"Last-Translator: Džiugas Januševičius \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\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%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.8-rc\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Persiųsta:Gaunama}:Išsiunčiama} %{ipv6?%{ipv4?IPv4 " +"and IPv6:IPv6}:IPv4}%{proto?, protokolas " +"%{proto#%{next?, }%{item.types?%{item." +"name}„ICMP“ su tipais %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- Pridėti IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- Pridėti „MAC“ --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Priimti %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Neleisti išteklio perrašymo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Persiųsti į %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? prievadas %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Mesti/Šalinti %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Priskirti „DSCP“ classification " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Priskirti „conntrack“ helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} užkardos žymė " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automatiškai perrašyti IP šaltinį" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nesekti %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Atmesti %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statistiškai perrašyti į šaltinį %{snat_ip?" +"IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Turi būti nurodytas perrašymo IP!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "PRIIMTI – išjungti adreso perrašymą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Veiksmas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Papildomi neapdoroti „iptables“ argumentai, skirti klasifikuoti " +"zonos paskirties srautą, pvz. „-p tcp --dport 443“, kad " +"atitiktų tik išsiunčiamą „HTTPS“ srautą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Papildomi neapdoroti „iptables“ argumentai zonos šaltinio srautui " +"klasifikuoti, pvz. „-p tcp --sport 443“, kad atitiktų tik " +"atvykstantį „HTTPS“ srautą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adresų „šeima“, vidinis IP adresas turi atitikti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adresų „šeima“, šaltinio adresas, paskirties adresas, perrašymo IP adresas " +"turi atitikti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Pažangūs nustatymai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Leisti „techniškai neveikiančiai“ veiklai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Leisti perleidimą iš išteklio zonų:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Leisti perleidimą į paskirties zonas:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Bet koks" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Bet kokią dieną" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Taikyti duotosios vertės ir esamos žymos reikšmės bitinį „XOR“ sukurtiems " +"ryšiams. Formatas yra „value[/mask]“. Jei nurodyta tinklavimo „kaukė“ – " +"adresų segregatorius, tada tinklavimo „kaukėje“ – adresų segregatoriuje " +"nustatyti bitai yra – nuliniai." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Taikyti nurodyta „DSCP“ klasę arba reikšmę užmegztiems ryšiams." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Priskirti nurodytą ryšio sekimo pagelbiklį atitinkančiam srautui." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatinis pagelbiklio paskyrimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Automatiškai priskirti „conntrack“ pagelbiklius pagal srauto protokolą ir " +"prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Komentuoti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "„Conntrack“ nustatymai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "„Conntrack“ pagelbikliai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Turinys buvo išsaugotas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Tęsti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Rodikliai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Įtraukti/Apgaubti įrenginiai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Įtraukti/Apgaubti tinklai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Įtraukti/Apgaubti potinkliai" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Pasirinktinės taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Pasirinktinės taisyklės leidžia vykdyti savavališkas „iptables“ komandas, " +"kurių užkardo pagrindų sistema kitaip neapima. Komandos vykdomos po " +"kiekvieno užkardo paleidimo iš naujo, iškart po to, kai įkeliamas " +"numatytasis taisyklių rinkinys." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "„DSCP“ klasifikacija" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "„DSCP“ žymė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "„DSCP“ žymė reikalinga" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Paskirties/Kelionės tikslo adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Paskirties/Kelionės tikslo prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Paskirties/Kelionės tikslo zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Įrenginio vardas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Neįdiegkite papildomų taisyklių, kad atmestumėte persiųstą srautą, kai " +"„conntrack“ būsena „netinkama“. To gali prireikti nustatant " +"sudėtingus asimetrinius maršrutus." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Mesti/Šalinti netinkamus paketus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Įjungti/Įgalinti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Įjungti/Įgalinti „NAT Loopback“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Įjungti/Įgalinti „SYN-flood“ apsauga" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Įjungti/Įgalinti žurnalinima šitoje zonoje" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Įjungti tinklo adresus ir prievado vertimą IPv4 („NAT4“ arba „NAPT4“) " +"išsiunčiamam srautui šitoje zonoje. Tai tipiškai įjungiama/įgalinima " +"„wan“ zonoje." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Įjungti tinklo adresus ir prievado vertimą IPv6 („NAT6“ arba „NAPT6“) " +"išsiunčiamam srautui šitoje zonoje." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Įjungta/Įgalinta (-s/-i)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Įgalina rinkinio paketų ir baitų skaičiaus sekimą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Tikimasi: „%s“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "Aiškiai pasirenka leistinus ryšio sekimo pagelbiklius zonos srautui" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Išorinis IP adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Išorinis prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Papildomi argumentai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Papildomi paskirties/kelionės tikslo argumentai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Papildomi „iptables“ argumentai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Papildomi išteklio argumentai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Šeima" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Užkarda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Užkarda - Atskiros/Pasirinktinės taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Užkarda – IP rinkiniai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Užkarda - „NAT“ taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Užkarda – Prievadų persiuntimas/-ai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Užkarda - Srauto taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Užkarda - Zonų nustatymai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Užkardos konfigūracijos migracija" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Persiųsti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Persiųsta %{ipv6?%{ipv4?IPv4 ir IPv6:IPv6}:" +"IPv4}%{proto?, protokolas %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +"val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Penktadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Iš %{src}%{src_device?, sąsajos ir/ar sietuvo %{src_device}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, prievadas %{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Iš %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, prievadas " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, „MAC“ " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Iš %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Bendri nustatymai" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" +"Duoti prieigą prie užkardos konfigūravimo „pkg – firewall configuration“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Aparatinės įrangos srauto iškrovimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (diapazonas)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP rinkiniai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP(dgs.)/Tinklai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP(dgs.)/Tinklai/„MACs“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4 – Interneto protokolo versija 4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 ir IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Tik IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6 – Interneto protokolo versija 6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 privataus IP į viešojo IP konvertavimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Tik IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Atvykstantis įrenginys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Įtraukti failą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Gaunamas %{ipv6?%{ipv4?IPv4 ir IPv6:IPv6}:" +"IPv4}%{proto?, protokolas %{proto#%{next?, }%{item.types?%{item.name}„ICMP“ su tipais %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Pradinis maišos dydis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Įvestis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Vidinis IP adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Vidinis prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Vidinė zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Tarpzoninis persiuntimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Netinkamą „DSCP“ žymę" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Netinkama ribinė reikšmė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Neteisingas rinkinio pavadinimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Apriboti pliūpsnius" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Riboti žurnalo pranešimus" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Apriboti atitikimą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Apriboti atitikimą į „%{limit.num}“ paketus/-ai per „%{limit." +"unit}%{limit.burst? burst %{limit.burst}}“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Įjungtas ribotas privataus IP į viešojo IP konvertavimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Apriboja srauto atitikimą iki nurodytos spartos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP ciklo grįžimo šaltinis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"„MASQUERADE“ – Automatiškai perrašyti į išsiunčiamos sąsajos IP (privatus IP " +"į viešąjį IP)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "„MSS“ prispaudimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Privataus IP į viešojo IP konvertavimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Atitikti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Atitikti „DSCP“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Atitikti „ICMP“ tipą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Atitikti įrenginį" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Atitikti peradresuotą srautą, nukreiptą nurodytu IP adresu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Atitikti persiųstą srautą, nukreiptą į nurodytą paskirties prievadą arba " +"prievado diapazoną." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Atitikti persiųstą srautą iš šio IP arba diapazono." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Atitikti persiųstą srautą, kilusį iš nurodyto šaltinio prievado arba " +"prievadų diapazono." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Atitikti pagelbiklį" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Atitikti įeinantį srautą, nukreiptą į nurodytą paskirties prievadą arba " +"prievadų diapazoną ant šito skleidėjo/vedėjo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Atitiktį žymę" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Atitikti srautą naudodami nurodytą ryšio sekimo pagelbiklį." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Atitinka savitą užkardos žymę arba daugybę skirtingų žymių." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Atitinka persiųstą srautą naudojant nurodytą išsiunčiamo tinklo įrenginį." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Atitinka srautą su nurodytu „DSCP“ žymėjimu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maksimalus įrašų skaičius" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Maksimalus ilgis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maksimalus pradinis paketų skaičius: šis skaičius įkraunamas vienu kaskart, " +"kai nepasiekiama aukščiau nurodyta riba, iki šio skaičiaus." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Pirmadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Mėnesis/Mėnuo, dienos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "„NAT“ taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"„NAT“ taisyklės leidžia tiksliai valdyti šaltinio IP, kurią galima naudoti " +"išsiunčiamam arba persiunčiamam srautui." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Vardas/Pavadinimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Tinklavimo „net-kaukė“ – 32-bitų adresas, IP užmaskãvimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Nepilnai suderinamas su „QoS“/„SQM“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Atitikti tik įeinantį srautą, nukreiptą nurodytu IP adresu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Atitikti tik įeinantį srautą iš šių „MAC“ adresų." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Atitikti tik įeinantį srautą iš šio IP arba diapazono." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Atitikti tik gaunamą srautą, kilusį iš nurodyto šaltinio prievado arba " +"prievadų diapazono kliento skleidėjo/vedėjo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Išsiunčiamasis įrenginys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Išsiunčiamoji zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Išvestis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Paketo lauko atitikimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Paketų laukai, kuriuos reikia suderinti. „
Syntax: " +"direction_datatype“. Pvz.: „src_port, dest_net.
Directions: src, dst“. Duomenų tipai: „ip, port, mac, " +"net, set.
“ Krypties priešdėliai yra pasirenkami.„
“ " +"*Pastaba: duomenų tipas „set“ yra nepalaikomas per „fw4“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Perduoda papildomus argumentus į „iptables“. Naudokite atsargiai!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Perduodant neapdorotus „iptables“ argumentus į šaltinio ir paskirties srauto " +"klasifikavimo taisyklės leidžia suderinti paketus pagal kitus kriterijus nei " +"sąsajos ar potinklius. Šias parinktis reikia naudoti labai atsargiai, nes " +"dėl netinkamų reikšmių, užkardos taisyklių rinkinys gali būti sugadintas; " +"visiškai atskleisti visas tarnybas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"Kelias į „CIDR“ (dgs.) failą , potinklius, skleidėjų/vedėjų IP (dgs.) ir kt." +"
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Prievadų persiuntimai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Prievadų persiuntimas leidžia išoriniams kompiuteriams internete prisijungti " +"prie Jūsų savito kompiuterio ar paslaugų veikiančių Jūsų privačiame " +"vietiniame („LAN“) tinkle." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Prievadų diapazono pasiekiamumas/numatomas apribojimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokolas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Peradresuoti suderintą gaunamą srautą į nurodytą vidinio skleidėjo/vedėjo " +"prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" +"Peradresuoti atitinkantį gaunamą srautą į nurodytą vidinį skleidėją/vedėją" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Žr. Išorinis rinkinys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Atspindžio zonos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Reikalingas techninės įrangos „NAT“ palaikymas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" +"Apriboti privataus IP į viešojo IP konvertavimą nurodytais paskirties " +"potinkliais" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" +"Apriboti privataus IP į viešojo IP konvertavimą nurodytais šaltinio " +"potinkliais" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Apriboti į adreso „šeimą“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Perrašyti IP adresą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Perrašyti suderintą srautą į nurodytą šaltinio IP adresą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Perrašyti suderintą srautą į nurodytą šaltinio prievadą arba prievado " +"diapazoną." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Perrašyti prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Kelvados/„NAT“ iškrovos perkėlimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "„SNAT“ – perrašyti į savito šaltinio IP arba prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Šeštadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Nustatyti žymę" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Nustatyti nurodytą žymos reikšmę užmegztiems ryšiams. Formatas yra – " +"reikšmė[/mask] („value[/mask]“). Jei nurodyta tinklavimo „kaukė“ – adresų " +"segregatorius, keičiami tik tie tinklavimo „kaukėje“ – adresų segregatoriuje " +"nustatyti bitai." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Taikomosios įrangos srauto iškrovos perkėlimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "IP adreso šaltinis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Šaltinio „MAC“ adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Šaltinio adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Šaltinio prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Šaltinio zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Nurodoma, ar susieti šią srauto taisyklę su savitu atvykstančiu ar " +"išsiunčiamu tinklo įrenginiu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "Nurodo, ar atspindėtam srautui naudoti išorinį ar vidinį IP adresą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Pradžios data (Metai-Mėnuo-Diena/pvz:1990-03-11)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Pradėti laiką (val:min:sek)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Pabaigos data (Metai-Mėnuo-Diena/pvz:1993-08-31)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stabdyti laiką (val:min:sek)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Talpos metodas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Sekmadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Dabartinė užkardos konfigūracija turi būti pakeista, jeigu norite, kad " +"„LuCI“ veiktų teisingai." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "Užkarda sukuria zonas tinklo sąsajose, kad valdytų tinklo srautą." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Toliau pateiktos parinktys valdo persiuntimo politiką tarp šios zonos („%s“) " +"ir kitų zonų. Paskirties zonos apima persiųstą srautą iš " +"„%q“. Šaltinio zonos atitinka persiųstą srautą iš kitų " +"zonų, nukreipta į „%q“. Persiuntimo taisyklė yra " +"vienakryptė, pvz. persiuntimas iš „LAN“ į „WAN“ taip pat " +"nereiškia leidimo persiųsti iš „WAN“ į „LAN“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Šiame skyriuje apibrėžiamos bendrosios %q savybės. Įvesties ir " +"išvesties parinktys nustato numatytąsias srauto, patenkančio į šią " +"zoną ir išeinančio iš jos politiką, o „persiųsti“ parinktis aprašo " +"politikos persiuntimo srautą tarp skirtingų tinklų zonos viduje. " +"Padengti tinklai nurodo, kurie galimi tinklai yra šios zonos nariai." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Ketvirtadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Laiko ribojimai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Laikas pagal GMT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Laiko ribojimai yra įgalinti šiai taisyklei" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Pasibaigė užklausos laikas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Į %{dest}%{dest_device?, sąsają ir/ar sietuvą %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, prievadas %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Į %{dest}%{dest_device?, per sąsają ir/ar sietuvą %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, prievadas %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Į %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, prievadas %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Sekimo pagalbininkas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Srauto taisyklės" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Srauto taisyklės apibrėžia paketų, keliaujančių tarp skirtingų zonų, " +"politiką (pavyzdžiui, atmesti srautą tarp tam tikrų skleidėjų/vedėjų arba " +"atidaryti maršrutizatoriaus „WAN“ prievadus)." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Antradienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nepavyko išsaugoti turinį: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Vienetas: sekundės. Numatytas 0, reiškią, kad įvestis yra " +"pridėtas visam laikui į rinkinį.
Maksimalus: 2147483 sekundės." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Nežinomas arba neįdiegtas „conntrack“ pagelbiklis „%s“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nepavadintas „NAT“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Nepavadintas persiuntimas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nepavadinta taisyklė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Nepavadintas rinkinys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Nepavadinta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Neatpažintas protokolas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Paspaudus „Tęsti“, „peradresuoti“ sekcijos su tiksline „SNAT“ bus " +"konvertuojamos į „nat“ skiltis, o užkarda bus paleista iš naujo, kad būtų " +"pritaikyta atnaujinta konfigūracija." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Naudoti išorinį IP adresą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Naudoti vidinį IP adresą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Naudoti „ipset“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Naudoti šią parinktį, jei norite klasifikuoti zonos srautą pagal " +"neapdorotus, ne„uci“ valdomus tinklo įrenginius." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Naudoti šią parinktį, norėdami klasifikuoti zonos srautą pagal šaltinį arba " +"paskirties potinklį, vietoj tinklus ar įrenginius." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Reikalinga galiojanti užkardos žymė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Trečiadienis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Savaitės dienos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "„XOR“ užkardos žymė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "„XOR“ žymė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Jūsų įrenginyje neveikia „firewall4“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Jūsų įrenginyje veikia „firewall4“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Perleidimai" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonos, iš kurių turi būti kuriamos atspindžio taisyklės. Jei nenustatyta, " +"bus naudojama tik paskirties zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "priimti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "bet koks" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "bet kokia zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "bet koks/visi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "patvirtinti užkardos žymę" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "Priskirti „conntract helper“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatinis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "„bitmap“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "„bitmap“ yra tik IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "diena" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "„dest_ip“: Paskirties IP adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Paskirties „MAC“ adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "„dest_net“: Paskirties „(sub)net“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "„dest_port“: Paskirties Prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "„dest_set“: Paskirties „ipset“*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "neperrašyti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nesekti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "mesti/šalinti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"„Firewall4“ palaiko įvestiẽs arba išvestiẽs kreipinių ir IP rinkinių kūrimą, " +"kad būtų supaprastintas didelių adresų sąrašų suderinimas be poreikio " +"kuriant vieną taisyklę kiekvienam elementui, kad jis atitiktų. „IPsets“ " +"prievadų diapazonai nepalaikomi „firewall4“.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "iš•prievado-į•prievadą" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "maiša" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "valanda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "„ip“: IP adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "„ip[/cidr]
“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"„ip[/cidr]“
Naudoti su atitikties duomenų tipais: „*_ip“." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "sąrašas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "„mac“: „MAC“ adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "„macaddr|ip[/cidr]“
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minutė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "„net“: (po)tinklis/tinklas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "„port“: Prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "atmesti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekundė" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "rinkinys: „ipset*“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "„src_Set“: Šaltinio „ipset*“" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "„src_ip“: Šaltinio IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "„src_mac“: Šaltinio „MAC“ adresas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "„src_net“: Šaltinio (po)tinklis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "„src_port“: Šaltinio prievadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "šis įrenginys" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ši nauja zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "neribotas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "nenustatyta/-s/-i" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "iki 65536 įrašų." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "tinkamą užkardos žymę" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "" +#~ "Taikomosios įrangos pagrįsta kelvada ir (arba) „NAT“ iškrovos perkėlimas" diff --git a/luci-app-firewall/po/mr/firewall.po b/luci-app-firewall/po/mr/firewall.po new file mode 100644 index 000000000..1780bca1b --- /dev/null +++ b/luci-app-firewall/po/mr/firewall.po @@ -0,0 +1,1434 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2020-02-07 09:18+0000\n" +"Last-Translator: Prachi Joshi \n" +"Language-Team: Marathi \n" +"Language: mr\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 3.11-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "प्रगत सेटिंग्ज" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "गंतव्य पोर्ट" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "सक्षम करा" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "सामान्य सेटिंग्ज" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 आणि IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "केवळ IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "केवळ IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "चिन्ह जुळवा" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "नाव" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "प्रोटोकॉल" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "स्रोत पोर्ट" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" + +#~ msgid "MAC" +#~ msgstr "MAC" diff --git a/luci-app-firewall/po/ms/firewall.po b/luci-app-firewall/po/ms/firewall.po new file mode 100644 index 000000000..97eaf50ee --- /dev/null +++ b/luci-app-firewall/po/ms/firewall.po @@ -0,0 +1,1429 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-01-22 09:21+0000\n" +"Last-Translator: Abdul Muizz Bin Abdul Jalil \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Tindakan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Tetapan Lanjutan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Ulasan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Alamat destinasi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Pemboleh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Dibolehkan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Tembok api" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "Tidak terhad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "Tidak ternyata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/nb_NO/firewall.po b/luci-app-firewall/po/nb_NO/firewall.po new file mode 100644 index 000000000..ba46a4859 --- /dev/null +++ b/luci-app-firewall/po/nb_NO/firewall.po @@ -0,0 +1,1456 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-01-03 18:37+0000\n" +"Last-Translator: Allan Nordhøy \n" +"Language-Team: Norwegian Bokmål \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 5.4-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Handling" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Avanserte innstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Tillat videresending fra kilde soner:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Tillat videresending til destinasjon soner:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Enhver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Innholdet har blitt lagret." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Fortsett" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Gjeldene nettverk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Egendefinerte Regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Egendefinerte regler tillater deg å utføre vilkårlige iptables kommandoer " +"som ikke dekkes av brannmurens standardoppsett. Kommandoene utføres etter " +"hver omstart av brannmuren, rett etter at standard regelsett er lastet." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Destinasjon adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Målport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Målsone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Enhetsnavn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Forkast ugyldige pakker" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Skru på" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Aktiver NAT Tilbakekobling" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Aktiver SYN-flood beskyttelse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Aktiver logging av denne sonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Påskrudd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Forventer: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Ekstern IP adressse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Ekstern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Ekstra argumenter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Brannmur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Brannmur - Egendefinerte Regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Brannmur - Port Videresending" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Brannmur - Trafikk Regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Brannmur - Sone Innstillinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Frem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Generelle innstillinger" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 og IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Kun IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Kun IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Inndata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Intern IP adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Intern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Intern sone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Begrens logging" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS Kontroll (Clamping)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Match" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Match ICMP type" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Match innkommende trafikk rettet mot den oppgitte destinasjonsport eller " +"portområdet på denne verten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Navn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Nettmaske" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Match kun innkommende trafikk rettet mot den oppgitt IP adresse." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Match kun innkommende trafikk fra disse MAC adresser." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Match kun innkommende trafikk fra denne IP eller IP område." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Match kun innkommende trafikk som kommer fra den oppgitte kildeport eller " +"fra portområdet til klienten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Utdata" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Sender flere argumenter til iptables. Bruk med forsiktighet!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Videresendinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Port videresending tillater at eksterne datamaskiner på Internett kan koble " +"seg til en bestemt maskin eller tjeneste innenfor det private LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Viderekoble matchet innkommende trafikk til den oppgitte porten på intern " +"vert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Viderekoble matchet innkommende trafikk til den angitte interne vert" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Begrens Masquerading til oppgitt destinasjons subnett" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Begrens Masqeuerading til oppgitt kilde subnett" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Begrens til adresse familie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Kilde IP adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Kilde MAC adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Kilde adresse" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Kilde port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Kilde sone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Brannmuren skaper soner over nettverkets grensesnitt for å styre " +"nettverkstrafikken." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Med valgene under konfigurerer man videresending mellom denne sone (%s) og " +"andre soner. Destinasjons soner omhandler videresendt trafikk " +"med opprinnelse fra %q. Kilde soner matcher " +"videresendt trafikk fra andre soner rettet mot %q. Reglene " +"ved videresending er enveis, d.v.s at videresending fra LAN til WAN " +"ikke automatisk også tillater videresending fra WAN til LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +#, fuzzy +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Denne seksjonen definerer de vanligste valg for %q. Med Inndata og " +"Utdata fastsetter man vanlige regler for trafikk gjennom sonen, " +"mens videresend valget definerer regler for videresendt trafikk " +"mellom forskjellige nettverk i sonen. Gjeldene nettverk " +"spesifiserer hvilken av de tilgjengelige nettverk som er medlem av denne " +"sone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Tidsavbrudd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Trafikk Regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Trafikk regler definerer regler for sending av pakker mellom ulike soner, " +"for eksempel for å avvise trafikk mellom visse verter eller for å åpne WAN " +"porter på ruteren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Sone = Videresendinger" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Soner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "godta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "enhver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "enhver sone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "ikke track" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "forkast" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "avslå" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/nl/firewall.po b/luci-app-firewall/po/nl/firewall.po new file mode 100644 index 000000000..55f27f290 --- /dev/null +++ b/luci-app-firewall/po/nl/firewall.po @@ -0,0 +1,1629 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-04-18 14:03+0000\n" +"Last-Translator: Stephan \n" +"Language-Team: Dutch \n" +"Language: nl\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 5.5-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Inkomend}:Uitgaand} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP met types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- IP toevoegen --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- MAC toevoegen --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Accepteer %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Voorkom overschrijven van bron" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Uitgang %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Toewijzen DSCP classificatie " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Geassocieerde tracking helper " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} Firewall markering " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automatisch herschrijven bron IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Niet traceren %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Afwijzen %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statisch herschrijven naar bron %{snat_ip?" +"IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Een herschrijf IP moet gespecificeerd worden!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPTEREN - Herschrijven van adres uitschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Actie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Extra ruwe iptables argumenten om zonebestemmingsverkeer te " +"classificeren, bv. -p tcp --dport 443 om alleen overeen te " +"komen met uitgaand HTTPS-verkeer." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Extra ruwe iptables argumenten om zonebronverkeer te classificeren, " +"bv. -p tcp --sport 443 om alleen inkomend HTTPS-verkeer te " +"matchen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adres familie, het interne IP-adres moet overeenkomen met" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adres familie, bronadres, bestemmingsadres, herschreven IP-adres moeten " +"overeenkomen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Geavanceerde instellingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Laat \"ongeldig\" verkeer toe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Doorsturen vanuit bronzones toestaan:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Doorsturen naar bestemmingszones toestaan:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Elke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Elke dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Past een bitwise XOR toe van de gegeven waarde en de bestaande markeerwaarde " +"op gevestigde verbindingen. Formaat is waarde[/masker]. Als een masker is " +"opgegeven, worden de bits in het masker op nul gezet." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"Past de opgegeven DSCP-klasse of -waarde toe op tot stand gebrachte " +"verbindingen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Wijst de gespecificeerde helper voor het volgen van verbindingen toe aan " +"gematcht verkeer." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatische helper opdracht" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Automatisch conntrack helpers toewijzen op basis van verkeersprotocol en " +"poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Opmerking" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack Instellingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack helpers" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "De inhoud is opgeslagen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Doorgaan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Tellers" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Gedekte apparaten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Gedekte netwerken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Gedekte subnetten" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Aangepaste regels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Aangepaste regels laten u toe om willekeurige iptables-commando's uit te " +"voeren die anders niet onder het firewall raamwerk vallen. De commando's " +"worden uitgevoerd na elke herstart van de firewall, direct nadat de " +"standaardregelset is geladen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP classificatie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP markering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP markering vereist" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Bestemmingsadres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Bestemmingspoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Bestemmingszone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Naam apparaat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Installeer geen extra regels om doorgestuurd verkeer met conntrackstatus " +"ongeldig te weigeren. Dit kan nodig zijn voor complexe " +"asymmetrische route-instellingen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Verwijder ongeldige pakketten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Inschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT Loopback inschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-flood bescherming inschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Logging op deze zone inschakelen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Netwerkadres- en poortvertaling IPv4 (NAT4 of NAPT4) inschakelen voor " +"uitgaand verkeer in deze zone. Dit is meestal ingeschakeld in de zone " +"wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Netwerkadres- en poortvertaling IPv6 (NAT6 of NAPT6) inschakelen voor " +"uitgaand verkeer op deze zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Ingeschakeld" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Schakelt het telling bijhouden van pakketten en bytes voor de set in." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Verwacht: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "Kiest expliciet toegestane connectie tracking helpers voor zoneverkeer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Extern IP-adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Externe poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Extra argumenten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Extra bestemmingsargumenten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Extra iptables argumenten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Extra bron argumenten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familie" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Aangepaste regels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - IP sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - NAT-regels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Poort doorsturen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Verkeersregels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Zone-instellingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migratie van firewallconfiguratie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Forwarded %{ipv6?%{ipv4?IPv4 en IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Vrijdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Van %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, poort " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Van %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, poort " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Van %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, poort %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Algemene instellingen" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Toegang verlenen tot firewallconfiguratie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Hardware stroom ontlasten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (bereik)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP-sets" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP's/netwerken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP's/Netwerken/MAC's" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 en IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Alleen IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6-maskering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Alleen IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Inkomend apparaat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Inclusief bestand" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Inkomend %{ipv6?%{ipv4?IPv4 en IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"met types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Initiële hashgrootte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Invoer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Intern IP-adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Interne poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Interne zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Ongeldige DSCP-markering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Ongeldige grenswaarde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Beperk burst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Logboekberichten beperken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Beperk het matchen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Beperk matching tot %{limit.num} pakketten per %{limit.unit}" +"%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Beperkte maskering ingeschakeld" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Beperkt verkeer dat overeenkomt met de opgegeven snelheid." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Loopback-bron-IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Automatisch herschrijven naar uitgaande interface IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS klemmen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Gemaskerd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "ICMP-type overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Apparaat overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Match doorgestuurd verkeer gericht op het opgegeven IP-adres." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Match doorgestuurd verkeer dat is gericht op de opgegeven bestemmingspoort " +"of poortbereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Match doorgestuurd verkeer van dit IP-adres of bereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Match doorgestuurd verkeer afkomstig van de opgegeven bronpoort of " +"poortbereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Match helper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Binnenkomend verkeer afstemmen dat is gericht op de opgegeven " +"bestemmingspoort of het opgegeven poortbereik op deze host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Markering overeenkomst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Match verkeer met behulp van de opgegeven helper voor het bijhouden van " +"verbindingen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Komt overeen met een specifieke firewallmarkering of een reeks verschillende " +"markeringen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Komt overeen met doorgestuurd verkeer met behulp van het opgegeven uitgaande " +"netwerkapparaat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Komt overeen met verkeer met de opgegeven DSCP-markering." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Max inzendingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Max lengte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maximum aanvankelijk aantal te matchen pakketten: dit aantal wordt elke keer " +"dat de hierboven gespecificeerde limiet niet wordt bereikt met één " +"aangevuld, tot dit aantal." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Maandag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Maand Dagen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-regels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT-regels bieden een gedetailleerde controle over het bron-IP-adres dat " +"moet worden gebruikt voor uitgaand of doorgestuurd verkeer." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Naam" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmasker" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Niet volledig compatibel met QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Pas alleen binnenkomend verkeer toe dat naar het opgegeven IP-adres wordt " +"geleid." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Alleen binnenkomend verkeer van deze MAC's matchen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Match alleen binnenkomend verkeer van dit IP of bereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Pas alleen binnenkomend verkeer toe dat afkomstig is van de opgegeven " +"bronpoort of poortbereik op de clienthost" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Uitgaand apparaat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Uitgaande zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Uitgang" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Pakket veld matchen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Pakketvelden waarop moet worden afgestemd.
Syntax: " +"direction_datatype. bijv.: src_port, dest_net.
Richtingen: src, dst. Datatypes: ip, poort, mac, net, " +"set.
Richtingvoorvoegsels zijn optioneel.
*Noot: datatype " +"set wordt niet ondersteund in fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Geeft aanvullende argumenten door aan iptables. Zorgvuldig gebruiken!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Door onbewerkte iptables-argumenten door te geven aan classificatieregels " +"voor bron- en bestemmingsverkeer, kunnen pakketten worden vergeleken op " +"basis van andere criteria dan interfaces of subnetten. Deze opties moeten " +"uiterst voorzichtig worden gebruikt, omdat ongeldige waarden de regelset van " +"de firewall kunnen overtreden, waardoor alle services volledig worden " +"blootgesteld." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Pad naar bestand van CIDR's, subnetten, host-IP's, enz.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Poort forwards" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Met poort forwarding kunnen externe computers op internet verbinding maken " +"met een specifieke computer of service binnen het privé-LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Poort bereik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Leid overeenkomend binnenkomend verkeer om naar de opgegeven poort op de " +"interne host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" +"Leid overeenkomend binnenkomend verkeer om naar de opgegeven interne host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Raadpleeg Externe set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Vereist hardware NAT-ondersteuning." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Beperk Masquerading tot bepaalde bestemmingssubnetten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Beperk Masquerading tot bepaalde bronsubnetten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Beperken tot adres familie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Herschrijf het IP-adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Herschrijf overeenkomend verkeer naar het opgegeven bron-IP-adres." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Herschrijf overeenkomend verkeer naar de opgegeven bronpoort of poortbereik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Herschrijf poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Routering/NAT-offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - herschrijven naar specifieke bron-IP of poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Zaterdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Markering instellen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Stel de gegeven markeringswaarde in op bestaande verbindingen. Formaat is " +"waarde[/mask]. Als een masker is opgegeven, worden alleen de bits die in het " +"masker zijn ingesteld, gewijzigd." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Software flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Bron IP adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Bron MAC-adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Bron adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Bronpoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Bronzone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Geeft aan of deze verkeersregel moet worden gekoppeld aan een specifiek " +"inkomend of uitgaand netwerkapparaat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Specificeert of het externe of het interne IP-adres moet worden gebruikt " +"voor gereflecteerd verkeer." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Startdatum (jjjj-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Starttijd (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Stopdatum (jjjj-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stoptijd (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Opslagmethode" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Zondag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"De bestaande firewallconfiguratie moet worden gewijzigd om LuCI goed te " +"laten functioneren." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"De firewall creëert zones over uw netwerkinterfaces om de " +"netwerkverkeersstroom te regelen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"De onderstaande opties regelen het doorstuurbeleid tussen deze zone (%s) en " +"andere zones. Bestemmingszones dekken doorgestuurd verkeer " +"afkomstig van %q. Bronzones komen overeen met " +"doorgestuurd verkeer van andere zones gericht op %q. De " +"doorstuurregel is unidirectioneel, b.v. een forward van lan naar " +"wan impliceert niet een toestemming om ook van wan naar lan door te " +"sturen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Deze sectie definieert gemeenschappelijke eigenschappen van %q. De opties " +"invoer en uitvoer stellen het standaardbeleid in voor " +"verkeer dat deze zone binnenkomt en verlaat, terwijl de optie forward het beleid beschrijft voor doorgestuurd verkeer tussen verschillende " +"netwerken binnen de zone . Overdekte netwerken specificeert welke " +"beschikbare netwerken lid zijn van deze zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Donderdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Tijdsbeperkingen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tijd in UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Tijdsbeperkingen zijn ingeschakeld voor deze regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Time-out" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Naar %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, poort " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Naar %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, poort %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Naar %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, poort %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Tracking helper" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Verkeersregels" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Verkeersregels definiëren beleid voor pakketten die tussen verschillende " +"zones reizen, bijvoorbeeld om verkeer tussen bepaalde hosts te weigeren of " +"om WAN-poorten op de router te openen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Dinsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Kan inhoud niet opslaan: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Eenheid: seconden. Standaard 0 betekent dat het item permanent " +"aan de set wordt toegevoegd.
Max: 2147483 seconden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Onbekende of niet geïnstalleerde conntrack helper \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Naamloze NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Naamloze forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Naamloze regel" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Naamloze set" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Naamloze zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Niet herkend protocol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Als u op \"Doorgaan\" klikt, worden \"omleidings\"-secties met als doel " +"\"SNAT\" geconverteerd naar \"nat\"-secties en wordt de firewall opnieuw " +"gestart om de bijgewerkte configuratie toe te passen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Extern IP-adres gebruiken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Intern IP-adres gebruiken" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Gebruik ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Gebruik deze optie om zoneverkeer te classificeren op basis van onbewerkte, " +"niet door uci beheerde netwerkapparaten." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Gebruik deze optie om zoneverkeer te classificeren op bron- of " +"bestemmingssubnet in plaats van op netwerken of apparaten." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Geldige firewallmarkering vereist" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Woensdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Weekdagen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR firewall markering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR-markering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Uw apparaat heeft geen firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Uw apparaat gebruikt een firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zone ⇒ Forwardings" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zones" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "accepteer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "elke" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "elke zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "elke/alle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "firewallmarkering toepassen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "conntrack helper toewijzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatisch" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap is alleen ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Bestemmings IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Bestemming MAC addr" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Bestemming (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Bestemmingspoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Bestemming ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "niet herschrijven" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "niet volgen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "laat vallen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 ondersteunt verwijzingen en het maken van IP-sets om het matchen " +"van grote adreslijsten te vereenvoudigen zonder de noodzaak om één regel per " +"item te maken om te matchen. Poortbereiken in ipsets worden niet ondersteund " +"door firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "vanpoort-naarpoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "uur" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
Voor gebruik met Match datatypes: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lijst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "poort: Poort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "afwijzen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "seconde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Bron ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Bron IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Bron MAC adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Bron (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Bronpoort" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "dit apparaat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "deze nieuwe zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "onbeperkt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "niet gespecificeerd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "tot 65536 vermeldingen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "geldige firewallmarkering" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Op software gebaseerde offloading voor routing/NAT" diff --git a/luci-app-firewall/po/pl/firewall.po b/luci-app-firewall/po/pl/firewall.po new file mode 100644 index 000000000..ba3e23ce7 --- /dev/null +++ b/luci-app-firewall/po/pl/firewall.po @@ -0,0 +1,1663 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-11-29 19:50+0000\n" +"Last-Translator: Piotr Kołtun \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\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 5.9-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Przekazywane:Przychodzące}:Wychodzące} %{ipv6?%{ipv4?IPv4 i IPv6:IPv6}:IPv4}%{proto?, protokół " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP z odmianami %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, znacznik " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, pomocnik %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- dodaj IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- dodaj MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Akceptuj %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Zapobieganie przepisywaniu źródła" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Przekazuj do %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Porzucaj %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Przydziel DSCP klasyfikacja %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Przydziel conntrack-pomocnika " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} znacznik zapory " +"sieciowej %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automatycznie przepisz źródłowy adres " +"IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nie śledź %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Odrzucaj %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statycznie przepisz do źródła %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Należy podać adres IP do ponownego zapisu!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Wyłącz przepisywanie adresów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Akcja" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Dodatkowe surowe iptables argumenty do klasyfikacji ruchu w strefie " +"docelowej, np. -p tcp --dport 443 tylko w celu dopasowania " +"ruchu wychodzącego HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Dodatkowe surowe iptables argumenty do klasyfikacji ruchu w strefie " +"docelowej, np. -p tcp --sport 443 tylko w celu dopasowania " +"ruchu przychodzącego HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Rodzina adresów, wewnętrzny adres IP muszą być zgodne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Rodzina adresów, adres źródłowy, adres docelowy, przepisany adres IP muszą " +"być zgodne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Ustawienia zaawansowane" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Zezwól na „nieprawidłowy” ruch" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Zezwól na przekazywanie ze strefy źródłowej:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Zezwól na przekazywanie do strefy docelowej:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Każdy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Każdy dzień" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Zastosuj bitowy XOR podanej wartości i istniejącej wartości znacznika na " +"ustanowionych połączeniach. Format to wartość [/mask]. Jeśli maska jest " +"określona, wówczas ustawione w niej bity są zerowane." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Zastosuj daną klasę lub wartość DSCP do ustanowionych połączeń." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Przydziel określonego pomocnika śledzenia połączeń do dopasowanego ruchu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Automatyczne przydzielanie pomocnika" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Automatycznie przydzielaj pomocników conntrack na podstawie protokołu ruchu " +"i portu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Komentarz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Ustawienia conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Pomocnicy conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Zawartość została zapisana." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Kontynuuj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Liczniki" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Objęte urządzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Objęte sieci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Objęte podsieci" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Własne reguły" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Własne reguły pozwalają na arbitralne wykonanie poleceń iptables, które nie " +"są objęte składnią zapory. Polecenia wykonywane są po każdym restarcie " +"zapory, zaraz po załadowaniu zestawu reguł domyślnych." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "klasyfikacja DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Znacznik DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Wymagany znacznik DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Adres przeznaczenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Port docelowy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Strefa docelowa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nazwa urządzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Nie instaluj dodatkowych reguł odrzucania ruchu przekazywanego ze stanem " +"conntrack nieprawidłowy. Może to być wymagane w przypadku " +"skomplikowanych asymetrycznych ustawień trasy." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Porzucaj wadliwe pakiety" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Włącz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Włącz pętlę zwrotną NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Włącz ochronę przed SYN‑flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Włącz logowanie tej strefy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Włącz translację adresów sieciowych i portów IPv4 (NAT4 lub NAPT4) dla ruchu " +"wychodzącego w tej strefie. Jest ona zazwyczaj włączona w strefie wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Włącz translację adresów sieciowych i portów IPv6 (NAT6 lub NAPT6) dla ruchu " +"wychodzącego w tej strefie." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Włączone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Włącza śledzenie liczby pakietów i bajtów dla zestawu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Zaleca się użyć: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Dokładnie wybiera dozwolonych pomocników śledzenia połączeń dla ruchu " +"strefowego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Zewnętrzne adresy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Port zewnętrzny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Dodatkowe argumenty" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Dodatkowe argumenty przeznaczenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Dodatkowe argumenty tablicy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Dodatkowe argumenty zródłowe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Rodzina" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Zapora sieciowa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Zapora sieciowa - Własne reguły" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Zapora sieciowa - Zestawy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Zapora sieciowa - Zasady NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Zapora sieciowa - Przekazywanie portów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Zapora sieciowa - Reguły ruchu sieciowego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Zapora sieciowa - Ustawienia stref" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migracja konfiguracji zapory sieciowej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "Typ flow offloadingu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Ruch przekazujący" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Przekazano %{ipv6?%{ipv4?IPv4 i IPv6:IPv6}:" +"IPv4}%{proto?, protokół {proto#%{next?, }%{item.name}}}%{mark?, znacznik %{mark." +"val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Piątek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Z %{src}%{src_device?, interfejs %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Z %{src}%{src_device?, interfejs %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Z %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Ustawienia główne" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Udziel dostępu do konfiguracji zapory sieciowej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Sprzętowy flow offloading do trasowania z/bez NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Sprzętowy flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (zakres)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Zestawy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "Adresy IP/Sieci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "Adresy IP/Sieci/Adresy MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 i IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Tylko IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Maskarada IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Tylko IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Urządzenie przychodzące" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Plik dołączany" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Przychodzące %{ipv6?%{ipv4?IPv4 i IPv6:IPv6}:IPv4}%{proto?, protokół %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"z typami %{item.types#%{next?, }%{item}}:%{item." +"name}}}}%{mark?, znacznik %{mark.val}}%{helper?, pomocnik %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Początkowy rozmiar wartości skrótu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Ruch przychodzący" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Wewnętrzny adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port wewnętrzny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Strefa wewnętrzna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Przekazywanie wewnątrzstrefowe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Nieprawidłowy znacznik DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Nieprawidłowa wartość graniczna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nieprawidłowa nazwa zestawu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Naruszenie limitu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Ograniczenie logowania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Dopasowanie limitu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Dopasowanie limitu do %{limit.num} pakiety na %{limit.unit}%{limit.burst? seria %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Ograniczona maskarada włączona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Ogranicza dopasowanie ruchu do określonej szybkości." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Źródło pętli zwrotnej IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Automatyczne przepisywanie na interfejs wyjściowy IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Dostosuj MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maskarada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Dopasuj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Dopasuj DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Dopasuj typ ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Dopasuj urządzenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Dopasuj przekazywany ruch skierowany na podany adres IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Dopasuj przekazywany ruch skierowany na dany port docelowy lub zakres portów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Dopasuj przekazywany ruch z tego adresu IP lub zakresu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Dopasuj przekazywany ruch pochodzący z danego portu źródłowego lub zakresu " +"portów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Pomocnik dopasowania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Dopasuj ruch przychodzący do danego portu docelowego lub zakresu portów na " +"tym hoście" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Znacznik dopasowania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Dopasuj ruch, używając określonego pomocnika śledzenia połączeń." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Odpowiada konkretnemu znakowi zapory lub zakresowi różnych znaków." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Dopasowuje przekazywany ruch przy użyciu określonego wychodzącego urządzenia " +"sieciowego." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Dopasowuje ruch niosący określone oznaczenie DSCP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maksymalna liczba wpisów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Maksymalna długość" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Maksymalna początkowa liczba pakietów do dopasowania: ta liczba jest " +"ładowana jednorazowo za każdym razem, gdy limit określony powyżej nie " +"zostanie osiągnięty, aż do tej liczby." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Poniedziałek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dni miesiąca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Zasady NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Reguły NAT umożliwiają precyzyjną kontrolę źródłowego adresu IP w celu " +"użycia ruchu wychodzącego lub przekazywanego." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nazwa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Maska sieci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Brak" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Niepełna kompatybilność z QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Dopasuj tylko przychodzący ruch skierowany do danego adresu IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Dopasuj tylko ruch z tych adresów MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Dopasuj tylko ruch przychodzący z tego adresu IP lub zakresu adresów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Dopasuj tylko ruch przychodzący z podanego portu źródłowego lub zakresu " +"portów na hoście klienta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Urządzenie wychodzące" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Strefa wychodząca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Ruch wychodzący" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Dopasowanie pola pakietu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Pola pakietów do dopasowania.
Składnia: direction_datatype. " +"np.: src_port, dest_net.
Kierunki: src, dst. " +"Typy danych: ip, port, mac, net, set.
Prefiksy kierunku są " +"opcjonalne.
*Uwaga: typ danych set nie jest obsługiwany w " +"fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Przekazuje dodatkowe argumenty do iptables. Zachowaj szczególną ostrożność!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Przekazywanie surowych argumentów iptables do reguł klasyfikacji ruchu " +"źródłowego i docelowego pozwala na dopasowanie pakietów w oparciu o inne " +"kryteria niż interfejsy lub podsieci. Opcje te powinny być używane ze " +"szczególną ostrożnością, ponieważ nieprawidłowe wartości mogą spowodować " +"złamanie zestawu reguł zapory sieciowej, całkowicie odsłaniając wszystkie " +"usługi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Ścieżka do pliku CIDR, podsieci, adresów IP hosta itp.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Przekazywanie portów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Przekazanie portów pozwala komputerom z internetu na połączenia z " +"komputerami z sieci LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Zakres portów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokół" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Przekieruj ruch przychodzący na podany port do wskazanego hosta w sieci " +"wewnętrznej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Przekieruj ruch przychodzący do wskazanego hosta w sieci wewnętrznej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Patrz zestaw zewnętrzny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Strefy odbicia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Wymaga obsługi sprzętowej NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Ogranicz maskaradę do wskazanych podsieci docelowych" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Ogranicz maskaradę do wskazanych podsieci źródłowych" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Ogranicz do rodziny adresów" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Przepisz adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Przepisz dopasowany ruch do określonego źródłowego adresu IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Przepisz dopasowany ruch do określonego portu źródłowego lub zakresu portów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Przepisz port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Offloading trasowania/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Przepisz do określonego źródłowego adresu IP lub portu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sobota" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Ustaw znacznik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Ustaw podaną wartość znaku na ustanowionych połączeniach. Format to wartość " +"[/mask]. Jeśli maska jest określona, modyfikowane są tylko te bity ustawione " +"w masce." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Programowy flow offloading do trasowania/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Programowy flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Źródłowy adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Źródłowy adres MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adres źródłowy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Port źródłowy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Strefa źródłowa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Określa, czy powiązać tę regułę ruchu z określonym przychodzącym, czy " +"wychodzącym urządzeniem sieciowym." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Określa, czy użyć zewnętrznego czy wewnętrznego adresu IP do odbijanego " +"ruchu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Data rozpoczęcia (rrrr-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Czas rozpoczęcia (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Data zatrzymania (rrrr-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Czas zatrzymania (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Metoda przechowywania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Niedziela" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Istniejąca konfiguracja zapory sieciowej musi zostać zmieniona, aby LuCI " +"mógł działać prawidłowo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Zapora tworzy strefy na interfejsach sieciowych, aby kontrolować przepływ " +"ruchu w sieci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Opcje poniżej kontrolują politykę przekazywania pomiędzy tą strefą (%s) a " +"innymi strefami. Strefy docelowe obejmują przekazywany ruch " +"pochodzący z %q. Strefy źródłowe pasują do ruchu " +"przekazanego z innych stref skierowanych do %q. Reguła " +"przekazywania jest jednokierunkowa, np. przekazywanie z sieci LAN " +"do WAN nie implikuje pozwolenia na przekazywanie z sieci WAN do LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Ta sekcja określa ustawienia ogólne %q. Opcje Ruch przychodzący " +"i Ruch wychodzący ustalają domyślne zasady dla ruchu przychodzącego " +"i wychodzącego w tej strefie, podczas gdy Ruch przekazujący opisuje " +"zasady przekazywania ruchu między różnymi sieciami w obrębie strefy. Opcja " +"Objęte sieci określa, które dostępne sieci należą do tej strefy." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Czwartek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Ograniczenia czasowe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Czas w UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Ograniczenia czasowe są włączone dla tej reguły" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Limit czasu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Do %{dest}%{dest_device?, interfejs %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Do %{dest}%{dest_device?, poprzez interfejs %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Do %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Pomocnik śledzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Reguły ruchu sieciowego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Reguły ruchu sieciowego definiują politykę dla pakietów przechodzących " +"między strefami, aby np. odrzucać ruch między hostami lub otwierać porty WAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Wtorek" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nie można zapisać zawartości: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Jednostka: sekundy. Domyślnie 0 oznacza, że wpis jest dodany na " +"stałe do zestawu.
Maks.: 2147483 sekundy." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Nieznany lub niezainstalowany pomocnik conntrack \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nienazwany NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Przekazywanie bez nazwy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nieznana zasada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Zestaw nienazwany" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Strefa bez nazwy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Nierozpoznany protokół" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Po naciśnięciu przycisku „Kontynuuj” sekcje przekierowujące z docelowym " +"„SNAT” zostaną przekonwertowane na sekcje „nat”, a zapora sieciowa zostanie " +"ponownie uruchomiona w celu zastosowania zaktualizowanej konfiguracji." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Użyj zewnętrznego adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Użyj wewnętrznego adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Użyj ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Opcji tej należy używać do klasyfikacji ruchu strefowego według surowych, " +"niezarządzanych przez uci urządzeń sieciowych." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Opcji tej należy używać do klasyfikacji ruchu strefowego według źródła lub " +"podsieci docelowej zamiast sieci lub urządzeń." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Wymagany prawidłowy znacznik zapory sieciowej" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Środa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dni tygodnia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "znacznik zapory XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Znacznik XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Na tym urządzeniu nie działa firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Na tym urządzeniu działa firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Strefa ⇒ Przekazywanie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Strefy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Strefy, z których mają być tworzone reguły odbicia. Jeśli opcja nie jest " +"ustawiona, używana jest tylko strefa docelowa." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "akceptuj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "dowolny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "dowolna strefa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "dowolny/wszystkie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "zastosuj znacznik zapory" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "przydziel pomocnika conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automatyczne" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap to tylko ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dzień" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Docelowy adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Docelowy adres MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Docelowa (pod)sieć" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Port docelowy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Docelowy ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "nie przepisuj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nie śledź" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "porzucaj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 obsługuje odwoływanie się i tworzenie zestawów IP, aby uprościć " +"dopasowywanie dużych list adresów bez potrzeby tworzenia jednej reguły dla " +"każdego elementu do dopasowania. Zakresy portów w zestawach ipset nie są " +"obsługiwane przez firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "zportu-doportu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "godzina" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Do użytku z dopasowanymi typami danych: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "list" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: Adres MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "adresmac|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (Pod)sieć" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "odrzucaj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekunda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Źródłowy ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Źródłowy adres IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Źródłowy adres MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Źródłowa (pod)sieć" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Źródłowy port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "to urządzenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ta nowa strefa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "nieograniczona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "nieokreślone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "do 65536 wpisów." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "prawidłowy znacznik zapory sieciowej" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Offloading oparty na oprogramowaniu dla trasowania/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Włącz translację adresów sieciowych i portów (NAT lub NAPT) dla ruchu " +#~ "wychodzącego w tej strefie. Jest to zazwyczaj włączone w strefie wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Przekazywane IPv4 %{proto?, protokół %{proto#%{next?, }%{item.name}}}%{mark?, znacznik %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Przychodzące IPv4%{proto?, protokół %{proto#%{next?, }%{item.types?%{item.name}ICMP z odmianami %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, znacznik %{mark.val}}%{helper?, pomocnik %{helper.inv?%{helper.val}" +#~ ":%{helper.val}}}" diff --git a/luci-app-firewall/po/pt/firewall.po b/luci-app-firewall/po/pt/firewall.po new file mode 100644 index 000000000..18c1cc1fb --- /dev/null +++ b/luci-app-firewall/po/pt/firewall.po @@ -0,0 +1,1680 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-09-21 03:42+0000\n" +"Last-Translator: Sergio Eustaquio \n" +"Language-Team: Portuguese \n" +"Language: pt\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 5.8-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 e " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP com tipos %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark." +"val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- adicionar IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- adicionar MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Aceitar %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Prevenir a reescrita da fonte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Encaminhar para %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Descartar %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Atribuir DSCP classificação %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Atribuir auxiliar conntrack " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} marca do firewall " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Reescrever automaticamente o IP de " +"origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Não rastreie %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rejeita %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Reescrever estaticamente para a origem " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Um IP reescrito deve ser especificado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Desativar reescrever endereços" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Ação" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argumentos brutos adicionais iptables para classificar o tráfego de " +"destino da zona, por exemplo, -p tcp -- dport 443 para " +"corresponder apenas ao tráfego https de saída." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argumentos adicionais brutos iptables para classificar o tráfego de " +"fonte de zona, por exemplo, -p tcp - sport 443 para " +"corresponder apenas ao tráfego HTTPS de entrada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Família de endereços, o endereço de IP interno deve corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Família de endereços, endereço de origem, endereço de destino, o endereço de " +"IP reescrito deve corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Configurações avançadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Permitir tráfego \"inválido\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permitir encaminhamento de zonas de origem:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permitir encaminhamento para zonas de destino:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Qualquer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Qualquer dia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Aplique um XOR bit a bit do valor dado e o valor da marca existente nas " +"ligações estabelecidas. Formato é valor[/máscara]. Se uma máscara for " +"especificada, os bits definidos na máscara são zerados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Aplique a classe ou valor de DSCP dado às conexões estabelecidas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Atribua o ajudante de rastreamento de conexão especificado para o tráfego " +"combinado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Atribuição automática de assistentes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Atribuir assistentes de conntrack automaticamente com base no protocolo de " +"tráfego e na porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Comentário" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Configurações do Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Assistentes do Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Os conteúdos foram gravados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contadores" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Aparelhos abrangidos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Redes abrangidas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Subredes abrangidas" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Regras Personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"As regras personalizadas permitem-lhe executar comandos arbitrários iptables " +"os quais não são possiveis de aplicar usando a framework da firewall. Os " +"comandos são executados a seguir ao reinicio da firewall, logo a seguir ao " +"conjunto de regras predefinidas serem carregadas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Classificação de DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marca de DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marca de DSCP necessária" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Endereço de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Porta de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nome do aparelho" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Não instalae regras adicionais para rejeitar tráfego encaminhado com estado " +"conntrack invalid. Isto pode ser necessário para configurações " +"complexas de rotas assimétricas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descartar pacotes inválidos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Ativar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Ativar NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Ativar a Proteção SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Ativar registo nesta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Ative o endereço de rede e a tradução da porta IPv4 (NAT4 ou NAPT4) para o " +"tráfego de saída nesta zona. Normalmente, isso é ativado na zona wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Ative o endereço de rede e a tradução da porta IPv6 (NAT6 ou NAPT6) para o " +"tráfego de saída nesta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Ativado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" +"Ativa o rastreamento da contagem dos pacotes e dos bytes para o conjunto." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Esperando: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Escolhe explicitamente os assistentes de rastreamento de conexão permitidos " +"para o tráfego da zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Endereço IP externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Porta externa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumentos adicionais" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argumentos adicionais de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argumentos adicionais do iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argumentos adicionais da fonte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Família" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Regras Personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - Regras de NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Encaminhamento de Portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Regras de Tráfego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Definições de Zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migração de configuração do Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Encaminhar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Encaminhado %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Sexta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Configurações gerais" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Conceder acesso à configuração do firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Descarga de fluxo em hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (intervalo)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Redes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Redes/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 e IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Apenas IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Mascaramento IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Apenas IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Aparelho de entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Incluir ficheiro" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Chegando %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"com tipos %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Tamanho inicial do hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Endereço IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Porta interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona Interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Reencaminhamento na zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marca de DSCP inválida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valor limite inválido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nome de conjunto inválido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Limite de burst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limitar registo de mensagens" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limitar a correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitar a correspondência de %{limit.num} pacotes por " +"%{limit.unit}%{limit.burst? estouro %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Mascaramento limitado ativado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limita o tráfego de acordo com a taxa especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP fonte de loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Reescreve automaticamente para o IP da interface de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Fixação de MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Mascaramento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Correspondência DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Correspondência do tipo de ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Aparelho de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Encaminha o tráfego que obteve correspondência para um determinado endereço " +"de IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Encaminha o tráfego que obteve correspondência para uma determinada porta de " +"destino ou uma faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Encaminha o tráfego que obteve correspondência deste IP ou uma faixa de IPs." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Encaminha o tráfego que obteve correspondência originado de uma determinada " +"porta de origem ou faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Auxiliar de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"O tráfego de entrada corresponde a uma dada porta de destino ou intervalo de " +"portas neste host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Corresponder o tráfego usando uma conexão definida pelo auxiliar de " +"rastreamento." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Corresponder uma marca de firewall especifica ou uma variedade de diferentes " +"marcas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Corresponda o tráfego encaminhado usando um aparelho de rede de saída " +"indicado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" +"Compara o tráfego correspondente que esteja carregando uma marca DSCP " +"específica." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Total de registos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Comprimento máximo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Quantidade inicial máxima de pacotes para comparar: este número é " +"recarregado por um cada vez que o limite especificado acima não é atingido, " +"até este número." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Segunda-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dias do mês" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Regras NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"As regras da NAT permitem o controle fino sobre o IP de origem para usar com " +"o tráfego de saída ou tráfego de encaminhamento." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Máscara de rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Não totalmente compatível com QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Só se tráfego de entrada corresponder ao endereço IP fornecido." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Só se o tráfego de entrada corresponder a um destes MACs." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Só se o tráfego de entrada corresponder a este IP ou intervalo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Só se o tráfego de entrada corresponder à porta de origem fornecida ou de um " +"intervalo de portas no host cliente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Aparelho de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Campo do pacote coincidente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Campos do pacote que correspondem.
Síntaxe: direction_datatype. por exemplo: src_port, dest_net.
Modo de preparo: " +"src, dst. Tipos de dados: ip, port, mac, net, set. " +"
Os prefixos de direção são opcionais.
*Nota: o tipo de dados " +"set não é suportado no fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Passa argumentos adicionais para o iptables. Usar com cuidado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Passar argumentos brutos do iptables para regras de classificação de tráfego " +"de origem e destino permite combinar pacotes baseados em outros critérios " +"além de interfaces ou sub-redes. Essas opções devem ser usadas com extremo " +"cuidado, pois valores inválidos podem tornar o conjunto de regras do " +"firewall quebrado, expondo completamente todos os serviços." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Caminho ao ficheiro de CIDRs, sub-redes, IPs de host, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Encaminhamento de Portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"O Encaminhamento de Portas permite que computadores remotos na internet se " +"liguem a um computador ou serviço especifico na rede privada (LAN)." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Faixa de portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocolo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Redirecionar a entrada de trafego correspondente à porta fornecida no host " +"interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Redirecionar o tráfego de entrada correspondente para o host interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Consulte o conjunto externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zonas de reflexão" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Requer suporte de hardware para NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restringir o Mascaramento às sub-redes de destino dadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restringir Mascaramento a sub-redes de origem fornecidas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restringir a família de endereços" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Reescrever o endereço IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Reescrever o tráfego compatível com o endereço IP de origem especificado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Reescrever tráfego compatível com a porta de origem especificado ou uma " +"faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Reescrever porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Descargar Roteamento/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Reescrever para um IP de origem ou uma porta específica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sábado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Definir marca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Defina o valor da marca dada nas ligações estabelecidas. o formato é valor[/" +"máscara]. Se uma máscara for especificada, então apenas os bits definidos na " +"máscara são modificados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Descarga de fluxo de software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Endereço IP de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Endereço MAC de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Endereço de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Porta de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Especifica se esta regra de tráfego deve ser ligada a um aparelho de rede " +"específico de entrada ou de saída." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Especifica se deve usar o endereço do IP externo ou interno para o tráfego " +"refletido." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Data de Início (aaaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Hora de início (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Data de Paragem (aaaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Tempo de Parada (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Método de armazenamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domingo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"A configuração de firewall existente precisa ser alterada para que o LuCI " +"funcione corretamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"A firewall cria zonas sobre as interfaces de rede para controlar o fluxo do " +"tráfego." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"As opções abaixo controlam as políticas de encaminhamento entre esta zona " +"(%s) e outras zonas. Zonas de destino cobrem tráfego encaminhado " +"originando de %q. Zonas de origem correspondem ao " +"tráfego encaminhado de outras zonas alvo em %q. A regra de " +"encaminhamento é unidirecional, por exemplo, um encaminhamento de " +"lan para wan não implica uma permissão para avançar de wan para lan " +"também." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Esta secção define propriedades comuns de %q. As opções input e " +"output definem as políticas padrão para entrada e saída de tráfego " +"nessa zona, enquanto a opção forward descreve a política para " +"tráfego encaminhado entre redes diferentes dentro da zona. Redes " +"abrangidas especifica quais das redes disponíveis são membros desta " +"zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Quinta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restrições de Tempo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tempo em UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Restrições de tempo estão ativadas para esta regra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Tempo limite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Para %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Para %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Auxiliar de rastreamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Regras de Tráfego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"As Regras de Tráfego definem políticas para os pacotes que viajam entre " +"diferentes zonas, por exemplo, para rejeitar trafego entre certos hosts ou " +"para abrir portas WAN no router." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Terça-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Incapaz de gravar conteúdos: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unidade: segundos. Padrão 0 significa que a entrada é " +"adicionada permanentemente ao conjunto.
Max: 2147483 segundos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Auxiliar conntrack desconhecido ou não instalado \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Encaminhamento sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regra sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Conjunto sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocolo desconhecido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Ao pressionar \"Continuar\", as seções \"redirecionar\" com o alvo \"SNAT\" " +"serão convertidas para seções \"nat\" e o firewall será reiniciado para " +"aplicar e atualizar as novas configurações." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Usar endereço IP externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Usar endereço IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Use o ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Use esta opção para classificar o tráfego da zona por aparelhos de rede " +"brutos, não geridos por uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou " +"destino em vez de redes ou aparelhos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Marca de firewall válida necessária" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Quarta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dias úteis" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marca de firewall XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marca XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "O seu aparelho não executa o firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "O seu aparelho executa o firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Encaminhamentos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonas das quais as regras de reflexão devem ser criadas. Se não for " +"definido, apenas a zona de destino é utilizada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "aceitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "qualquer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "qualquer zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "qualquer/todos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aplicar marca de firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "atribuir auxiliar conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automático" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap é ipv4 apenas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: endereço MAC de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (sub)rede de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Porta de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Destino ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "não reescrever" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "não rastrear" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "descartar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 oferece suporte a referência e criação de conjuntos de IPs para " +"simplificar a correspondência de grandes listas de endereços sem a " +"necessidade de criar uma regra que coincida com cada item. Os intervalos das " +"portas em ipsets não são compatíveis com o firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "deporta-paraporta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "hora" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Endereço IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Para uso com tipos de dados que coincidam: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: endereço MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "rede: (sub)rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "porta: Porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rejeitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "segundo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Origem do ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Origem do endereço MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Origem (sub)rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Porta de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "este aparelho" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "esta nova zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "ilimitado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "não especificado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "até 65536 entradas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marca de firewall válida" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Descarga baseada em software para roteamento/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Ativar a conversão de endereços e portas de rede (NAT ou NAPT) para o " +#~ "tráfego de saída nessa zona. Isto é normalmente ativado na zona wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +#~ "%{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/pt_BR/firewall.po b/luci-app-firewall/po/pt_BR/firewall.po new file mode 100644 index 000000000..a56ed3924 --- /dev/null +++ b/luci-app-firewall/po/pt_BR/firewall.po @@ -0,0 +1,1675 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-17 07:32+0000\n" +"Last-Translator: Janderson Vieira Santos \n" +"Language-Team: Portuguese (Brazil) \n" +"Language: pt_BR\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 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 e " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP com tipos %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark." +"val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper." +"val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- Adicionar IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- Adicionar MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Aceite %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Prevenir a reescrita da fonte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Encaminhar para %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Derruba %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Atribuir DSCP classificação %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Atribuir auxiliar conntrack " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} marca do firewall " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Reescrever automaticamente o IP de " +"origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Não rastreie %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rejeita %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Reescrever estaticamente para a origem " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Um IP de reescrita deve ser especificado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACEITAR - Desativar a reescrita do endereço" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Ação" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Comandos iptables adicionais para classificar o tráfego de destino " +"da zona, por exemplo, -p tcp --dport 443 para corresponder " +"apenas ao tráfego HTTPS de saída." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Comandos iptables adicionais para classificar o tráfego de origem " +"da zona, por exemplo, -p tcp --sport 443 para corresponder " +"apenas ao tráfego HTTPS de entrada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Família de endereços, o endereço IP interno deve corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Família de endereços, endereço de origem, endereço de destino, a reescrita " +"do endereço IP deve corresponder" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Configurações avançadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Permitir tráfego \"inválido\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permite o encaminhamento da zona de origem:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permite o encaminhamento para a zona de destino:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Qualquer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Qualquer dia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Aplique um XOR bitwise do valor dado e o valor da marca existente nas " +"ligações estabelecidas. O formato é o valor[/mask]. Se uma máscara for " +"especificada, então os bits definidos na máscara são zerados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Aplique a classe ou valor DSCP dado às conexões estabelecidas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Atribua o auxiliar de rastreamento de conexão especificado para o tráfego " +"combinado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Atribuição automática de assistentes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Atribuir automaticamente ajudantes de conntrack com base no protocolo de " +"tráfego e na porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Comentário" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Configurações do Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Ajudantes do Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "O conteúdo foi salvo." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contadores" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Dispositivos cobertos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Redes cobertas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Sub-redes cobertas" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Regras Personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"As regras personalizadas permitem executar comandos iptables arbitrários não " +"cobertos por esta ferramenta. Os comandos serão executados após cada " +"reinício do firewall, logo após a carga do conjunto de regras padrão." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Classificação DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marca DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marca DSCP necessária" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Endereço de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Porta de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zona de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Nome do dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Não instale regras extras para rejeitar o tráfego encaminhado quando o " +"estado do conntrack for invalid. Isto pode ser necessário para " +"configurações complexas e de rotas assimétricas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descartar pacotes inválidos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Habilitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Habilite o Loopback do NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Habilite proteção contra SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Habilite o registro nesta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Ative o endereço de rede e a tradução da porta IPv4 (NAT4 ou NAPT4) para o " +"tráfego de saída nesta zona. Normalmente, isso é ativado na zona wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Ative o endereço de rede e a tradução da porta IPv6 (NAT6 ou NAPT6) para o " +"tráfego de saída nesta zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Ativado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" +"Ativa o rastreamento da contagem dos pacotes e dos bytes para o conjunto." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Esperando: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Escolhe explicitamente os assistentes de rastreamento de conexão permitidos " +"para o tráfego da zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Endereço IP externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Porta Externa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumentos extras" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argumentos extra de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argumentos extras para o iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argumentos extras da fonte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Família" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Regras personalizadas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - Regras NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Encaminhamento de Portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Regras de Tráfego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Firewall - Configurações de Zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migração de configuração do Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Encaminhar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Encaminhado %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Sexta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Configurações gerais" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Conceder acesso à configuração do firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Aceleração do fluxo dos dados via hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (intervalo)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Conjuntos de IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IPs/Redes" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IPs/Redes/MACs" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 e IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Apenas IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Mascaramento IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Apenas IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Dispositivo de entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Incluir arquivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Chegando %{ipv6?%{ipv4?IPv4 e IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"com tipos %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Tamanho inicial do hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Entrada" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Endereço IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Porta Interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zona interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Encaminhamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marca DSCP inválida" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valor limite inválido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Nome de conjunto inválido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Estouro limite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limita as mensagens de registro" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Limitar as correspondências" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitar a correspondência de %{limit.num} pacotes por " +"%{limit.unit}%{limit.burst? estouro %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Mascaramento limitado ativado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limita a correspondência de tráfego à taxa especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP da fonte de Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Reescreve automaticamente para o IP da interface de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Ajuste do MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Mascaramento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Correspondência DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Correspondência de tipo ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Dispositivo de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Encaminha o tráfego que obteve correspondência para um determinado endereço " +"de IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Encaminha o tráfego que obteve correspondência para uma determinada porta de " +"destino ou uma faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Encaminha o tráfego que obteve correspondência deste IP ou uma faixa de IPs." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Encaminha o tráfego que obteve correspondência originado de uma determinada " +"porta de origem ou faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Auxiliar de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Correspondência de tráfego de entrada direcionado à porta de destino ou " +"intervalo de portas especificado neste host" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca de correspondência" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Corresponder o tráfego usando uma conexão definida pelo auxiliar de " +"rastreamento." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Corresponder uma marca de firewall especifica ou uma variedade de diferentes " +"marcas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Corresponda o tráfego encaminhado usando um dispositivo de rede de saída " +"indicado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Corresponde ao tráfego que carrega a marcação DSCP especificada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Total de registros" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Comprimento máximo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Número inicial máximo de pacotes para combinar: este número é recarregado " +"por um cada vez que o limite especificado acima não é atingido, até este " +"número." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Segunda-Feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dias do mês" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Regras NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"As regras da NAT permitem o controle fino sobre o IP de origem para usar com " +"o tráfego de saída ou tráfego de encaminhamento." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Máscara de rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" +"Ela não é totalmente compatível com QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Somente case o tráfego entrante direcionado para o endereço IP fornecido." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Somente case o tráfego entrante destes endereços MAC." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Somente case o tráfego entrante desta faixa de endereços IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Somente case o tráfego entrante vindo da porta de origem fornecida ou " +"intervalo de portas no equipamento cliente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Dispositivo de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona de saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Saída" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Campo do pacote coincidente" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Campos do pacote que correspondem.
Sintaxe: direction_datatype. por exemplo: src_port, dest_net.
Modo de preparo: " +"src, dst. Tipos de dados: ip, port, mac, net, set. " +"
Os prefixos de direção são opcionais.
*Nota: o tipo de dados " +"set não é suportado no fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Passa argumentos adicionais para o iptables. Use com cuidado!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Passar comandos diretos ao iptables para regras de classificação de tráfego " +"de origem e destino, permite combinar pacotes baseados em outros critérios " +"que não sejam interfaces ou sub-redes. Estas opções devem ser usadas com " +"extremo cuidado, pois valores inválidos podem quebrar todo o conjunto de " +"regras do firewall expondo todos os serviços completamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Caminho para o arquivo de CIDRs, sub-redes, IPs de host, etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Encaminhamentos de Porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"O encaminhamento de portas permite que computadores remotos na Internet " +"conectem a um computador ou serviço específico dentro da rede local privada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Faixa de portas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocolo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Redireciona tráfego entrante para a porta especificada no computador interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Redireciona tráfego entrante para o computador interno especificado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Consulte o conjunto externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zonas de reflexão" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Requer suporte de NAT em hardware." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restringe o mascaramento para uma subrede de destino específica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restringe o mascaramento para uma subrede de origem específica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restringe à uma família de endereços" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Reescreva o endereço IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" +"Reescreva o tráfego compatível com o endereço IP de origem especificado." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Reescrever tráfego compatível com a porta de origem especificado ou uma " +"faixa de portas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Reescrever porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Aceleração do roteamento/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Reescrever para um IP de origem ou uma porta específica" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sábado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Definir marca" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Defina o valor da marca dada nas ligações estabelecidas. o formato é valor[/" +"mask]. Se uma máscara for especificada, então apenas os bits definidos na " +"máscara são modificados." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Aceleração do fluxo dos dados via software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Endereço IP de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Endereço MAC de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Endereço de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Porta de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Especifica se esta regra de tráfego deve ser ligada a um dispositivo de rede " +"específico de entrada ou de saída." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Especifica se deve usar o endereço de IP externo ou interno para o tráfego " +"refletido." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Dia inicial (aaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Hora de Início (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Dia final (aaaa-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Hora de Parada (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Método de armazenamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Domingo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"A configuração de firewall existente precisa ser alterada para que o LuCI " +"funcione corretamente." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"O firewall cria zonas sobre as interfaces de rede para controlar o fluxo do " +"tráfego de rede." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"As opções abaixo controlam as políticas de encaminhamento entre esta zona " +"(%s) e outras zonas. Zonas de destino incluem tráfego encaminhado " +"originado de %q. Zonas de origem casam com tráfego " +"encaminhado de outras zonas apontando para %q. A regra de " +"encaminhamento é unidirecional, ex: um encaminhamento da LAN para " +"WAN não implica na permissão de encaminhar da WAN para LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Esta seção define as propriedades comuns de %q. As opções de entrada e saída definem as políticas padrão para o tráfego entrando e " +"saindo desta zona, enquanto a opção de encaminhamento descreve a " +"política para encaminhar o tráfego entre diferentes redes dentro da zona. " +"Redes Cobertas especificam que redes disponíveis são membros desta " +"zona." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Quita-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restrições de tempo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Hora em UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "As restrições de tempo estão ativadas para esta regra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Tempo limite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Para %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Para %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Auxiliar de rastreamento" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Regras de tráfego" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Regras de tráfego definem políticas para a passagem de pacotes entre as " +"diferentes zonas. Por exemplo, rejeitar o tráfego entre certos equipamentos " +"ou abrir portas WAN no roteador." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Terça-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Não foi possível salvar os conteúdos: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unidade: segundos. Padrão 0 significa que a entrada é " +"adicionada permanentemente ao conjunto.
Max: 2147483 segundos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Auxiliar conntrack desconhecido ou não instalado \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Encaminhamento sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regra sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Conjunto sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona sem nome" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocolo desconhecido" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Ao pressionar \"Continue\", as seções \"redirecionar\" com o alvo \"SNAT\" " +"serão convertidas para seções \"nat\" e o firewall será reiniciado para " +"aplicar e atualizar as novas configurações." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Usar endereço IP externo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Usar endereço IP interno" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Use o ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Use esta opção para classificar o tráfego bruto da zona por dispositivos de " +"rede não gerenciados pelauci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou " +"destino em vez de redes ou dispositivos." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Marca de firewall válida necessária" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Quarta-feira" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dias da semana" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Marca de firewall XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marca XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "O seu dispositivo não roda o firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "O seu dispositivo roda o firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zona ⇒ Encaminhamentos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zonas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonas de onde devem ser criadas regras de reflexão. Se não for definido, " +"apenas a zona de destino é usada." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "aceitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "qualquer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "qualquer zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "qualquer/tudo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aplicar marca de firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "atribuir auxiliar conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automático" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap é ipv4 apenas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: endereço MAC de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: (sub)rede de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Porta de destino" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Destino ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "não reescrever" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "não rastrear" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "descartar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 oferece suporte a referência e criação de conjuntos de IPs para " +"simplificar a correspondência de grandes listas de endereços sem a " +"necessidade de criar uma regra que coincida com cada item. Os intervalos das " +"portas em ipsets não são compatíveis com o firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "deporta-paraporta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "hora" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Endereço IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Para uso com tipos de dados que coincidam: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "lista" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: endereço MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minuto" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "rede: (sub)rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "porta: Porta" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "rejeitar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "segundo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Origem do ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Origem do endereço MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Origem (sub)rede" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Porta de origem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "este dispositivo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "esta nova zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "ilimitado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "não especificado" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "até 65536 entradas." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marca de firewall válida" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Aceleração do roteamento/NAT via software" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Ative o endereço de rede e a conversão da porta (NAT ou NAPT) para o " +#~ "tráfego de saída nesta zona. Normalmente, isso é ativado na zona wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper " +#~ "%{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/ro/firewall.po b/luci-app-firewall/po/ro/firewall.po new file mode 100644 index 000000000..85c9416d3 --- /dev/null +++ b/luci-app-firewall/po/ro/firewall.po @@ -0,0 +1,1673 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2023-09-18 15:45+0000\n" +"Last-Translator: David Rapaň \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\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 5.0.2\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 și " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP cu tipuri %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- adăugați IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- adăugați MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Acceptă %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Preveniți rescrierea sursei" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Forward la %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Picătură %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Assign DSCP clasificare %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Assign conntrack ajutător " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} marcaj firewall " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automat rescrieți automat sursa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nu urmăriți %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Rejectare %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statically rewrite la sursă %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Trebuie specificat un IP de rescriere!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Dezactivează rescrierea adreselor" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Acțiune" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Argumente brute suplimentare iptables pentru a clasifica traficul " +"de destinație al zonei, de exemplu, -p tcp --dport 443 pentru a " +"se potrivi numai cu traficul HTTPS de ieșire." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Argumente brute suplimentare iptables pentru a clasifica traficul " +"sursă din zonă, de exemplu, -p tcp --sport 443 pentru a se " +"potrivi numai cu traficul HTTPS de intrare." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Familia de adrese, adresa IP internă trebuie să corespundă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "Familia de adrese, adresa IP internă trebuie să corespundă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Setări avansate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Permiteți traficul \"invalid\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Permite trecerea din zonele sursa:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Permite trecerea catre zonele sursa:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Oricare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Orice zi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Aplică un XOR în sensul biometric al valorii date și al valorii mărcii " +"existente pe conexiunile stabilite. Formatul este value[/mask]. Dacă se " +"specifică o mască, atunci acei biți setați în mască sunt eliminați." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Aplică clasa sau valoarea DSCP dată la conexiunile stabilite." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Alocarea ajutorului de urmărire a conexiunilor specificat pentru traficul " +"corespunzător." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Atribuirea automată a ajutorului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Atribuiți automat ajutoare de conntrack pe baza protocolului și portului de " +"trafic" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Comentariu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Setări Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Ajutoarele Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Conţinutul a fost salvat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Continuați" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Contoare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Dispozitive acoperite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Retele acoperite" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Subrețele acoperite" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Reguli suplimentare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Regulile personalizate vă permit să executați comenzi iptables arbitrare " +"care nu sunt altfel acoperite de cadrul firewall. Comenzile sunt executate " +"după fiecare repornire a firewall-ului, imediat după ce setul de reguli " +"implicite a fost încărcat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Clasificarea DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Marcaj DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Marcaj DSCP necesar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Adresa de destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Portul de destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Zonă de destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Numele dispozitivului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Nu instalați reguli suplimentare pentru a respinge traficul redirecționat cu " +"starea conntrack invalid. Acest lucru poate fi necesar pentru " +"configurații complexe de rute asimetrice." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Descarcă pachetele invalide" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Activează" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Activează loopback NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Activează protecţia SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Activeaza log in aceasta zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Activați adresa de rețea și traducerea portului IPv4 (NAT4 sau NAPT4) pentru " +"traficul de ieșire din această zonă. Acest lucru este de obicei activat pe " +"wan zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Activați adresa de rețea și traducerea porturilor IPv6 (NAT6 sau NAPT6) " +"pentru traficul de ieșire din această zonă." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "activat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Activează urmărirea numărului de pachete și de octeți pentru set." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Se așteaptă: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Alege în mod explicit ajutoarele de urmărire a conexiunilor permise pentru " +"traficul din zonă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Adresă IP externă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Port extern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumente suplimentare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Argumente suplimentare pentru destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Argumente suplimentare pentru iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Argumente sursă suplimentare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Familie" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Firewall - Reguli particularizate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Firewall - Seturi IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Firewall - Reguli NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Firewall - Port-uri forwardate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Firewall - Reguli ale traficului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Setari zona la firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migrarea configurației firewall-ului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "redirecționare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Redirecționate %{ipv6?%{ipv4?IPv4 și IPv6:IPv6}:IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}" +"}}%{mark?, mark %{mark.val}" +"}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Vineri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"De la %{src}%{src_dispozitiv?, interfață %{src_dispozitiv}}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}" +"}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"De la %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"De la %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Setări generale" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Acordarea accesului la configurația firewall-ului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Descărcarea fluxului hardware" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (interval)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Seturi IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP-uri/Rețele" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP-uri/Rețele/MAC-uri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 și IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Doar IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Mascare IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Doar IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Dispozitiv de intrare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Includere fișier" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Intrări %{ipv6?%{ipv4?IPv4 și IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Dimensiunea inițială a hash-ului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Intrare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Adresa IP interna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Port intern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Zonă internă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Marcaj DSCP invalid" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Valoare limită invalidă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Limitați explozia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Limitează mesaje în log" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Potrivirea limitelor" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Limitați potrivirea la %{limit.num} pachete pe %{limit.unit}" +"%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Activarea limitată a mascării" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Limitează potrivirea traficului la rata specificată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP sursă Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Rescrierea automată către IP-ul interfeței de ieșire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Ajustare MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Translatare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Potrivire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Potrivire DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Potriveste pe tipul de ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Dispozitiv de potrivire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Potrivește traficul redirecționat către adresa IP dată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Potrivește traficul redirecționat către portul de destinație sau intervalul " +"de porturi dat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Potrivește traficul redirecționat de la acest IP sau interval." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Potrivește traficul redirecționat care provine din portul sursă sau din " +"intervalul de porturi dat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Ajutor de potrivire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Potrivește traficul de intrare direcționat către portul de destinație sau " +"intervalul de porturi dat pe această gazdă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Marca de meci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Potrivește traficul care utilizează ajutorul de urmărire a conexiunilor " +"specificat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Se potrivește cu o anumită marcă de firewall sau cu o serie de mărci " +"diferite." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Potrivește traficul redirecționat utilizând dispozitivul de rețea de ieșire " +"specificat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Potrivește traficul care poartă marcajul DSCP specificat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Intrări max" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Lungime maximă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Numărul maxim inițial de pachete care trebuie să se potrivească: acest număr " +"se reîncarcă cu unu de fiecare dată când limita specificată mai sus nu este " +"atinsă, până la acest număr." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Luni" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Luna Zile" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Reguli NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Regulile NAT permit un control fin asupra IP-ului sursă care va fi utilizat " +"pentru traficul de ieșire sau de redirecționare." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Mască de rețea" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Nu este complet compatibiă cu QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Se potrivește numai cu traficul de intrare direcționat către adresa IP dată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Potriviți numai traficul de intrare de la aceste MAC-uri." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Se potrivește numai cu traficul de intrare de la acest IP sau interval." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Se potrivește numai cu traficul de intrare care provine din portul sursă dat " +"sau din intervalul de porturi de pe gazda clientului" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Dispozitiv de ieșire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Zona de ieșire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Ieşire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Potrivire câmp pachete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Câmpurile pachetului care se potrivesc.
Sintaxa: " +"direction_datatype. de exemplu: src_port, dest_net." +"
Direcții: src, dst. Tipuri de date: ip, port, mac, " +"net, set.
. Prefixele de direcție sunt opționale.
*Nota: " +"tipul de date set nu este acceptat în fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Transmite argumente suplimentare către iptables. Folosiți cu grijă!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Transmiterea argumentelor iptables brute către regulile de clasificare a " +"traficului la sursă și la destinație permite potrivirea pachetelor pe baza " +"altor criterii decât interfețele sau subrețelele. Aceste opțiuni trebuie " +"utilizate cu mare atenție, deoarece valorile invalide ar putea face ca setul " +"de reguli de firewall să fie rupt, expunând complet toate serviciile." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"Calea de acces la fișierul cu CIDR-uri, subrețele, IP-uri gazdă etc.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Redirecționări" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Redirecționarea porturilor permite computerelor de la distanță de pe " +"internet să se conecteze la un anumit computer sau serviciu din cadrul unei " +"rețele locale private." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "interval de porturi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protocol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Redirecționează traficul de intrare corespunzător către portul dat pe gazda " +"internă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" +"Redirecționează traficul de intrare corespunzător către gazda internă " +"specificată" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Consultați Setul extern" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Zone de reflexie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Necesită suport hardware NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Restrângerea masquerading-ului la anumite subrețele de destinație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Restrângerea masquerading-ului la anumite subrețele sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Restricționarea la adresa familiei" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Rescrieți adresa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Răspândește traficul potrivit la adresa IP sursă specificată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Rescrie traficul potrivit către portul sursă sau intervalul de porturi " +"specificat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Port de rescriere" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Rutarea/încărcarea NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Rescrierea către un anumit IP sau port sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sâmbătă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Marca de setare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Stabilește valoarea dată a marcajului la conexiunile stabilite. Formatul " +"este value[/mask]. Dacă este specificată o mască, atunci sunt modificați " +"numai acei biți setați în mască." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Descărcarea fluxului de software" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Sursă adresă IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Sursă adresă MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adresă sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Port sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zona sursa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Specifică dacă se leagă această regulă de trafic de un anumit dispozitiv de " +"intrare sau de ieșire din rețea." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Specifică dacă se utilizează adresa IP externă sau internă pentru traficul " +"reflectat." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Data de începere (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Ora de începere (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Data de oprire (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Timp de oprire (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Metoda de stocare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Duminică" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Configurația existentă a firewall-ului trebuie să fie modificată pentru ca " +"LuCI să funcționeze corect." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Firewall-ul creează zone peste interfețele de rețea pentru a controla fluxul " +"de trafic de rețea." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Opțiunile de mai jos controlează politicile de redirecționare între această " +"zonă (%s) și alte zone. Zonele de destinație acoperă traficul " +"redirecționat provenit din %q. Zonele sursă se " +"potrivesc cu traficul redirecționat din alte zone destinate la %q. Regula de redirecționare este unidirecțională, de exemplu, " +"o redirecționare de la lan la wan nu implicăo permisiune de " +"redirecționare de la wan la lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Această secțiune definește proprietățile comune ale lui %q. Opțiunile " +"input și output stabilesc politicile implicite pentru " +"traficul care intră și iese din această zonă, în timp ce opțiunea " +"forward descrie politica pentru traficul redirecționat între " +"diferite rețele din cadrul zonei. Rețele acoperite specifică ce " +"rețele disponibile sunt membre ale acestei zone." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Joi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Restricţii de timp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Timp în UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Restricțiile de timp sunt activate pentru această regulă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Pauză" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Pentru %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Pentru %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Către %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Ajutor pentru urmărire" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Reguli de circulație" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Regulile de trafic definesc politicile pentru pachetele care călătoresc " +"între diferite zone, de exemplu pentru a respinge traficul între anumite " +"gazde sau pentru a deschide porturile WAN pe router." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Marţi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nu se poate salva conținutul: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Unitate: secunde. Implicit 0 înseamnă că intrarea este adăugată " +"permanent la set.
Max: 2147483 secunde." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Ajutor conntrack necunoscut sau neinstalat \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Fără nume NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Înainte fără nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regula fără nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Set fără nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zona fără nume" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Protocol nerecunoscut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"La apăsarea butonului \"Continue\", secțiunile \"redirect\" cu țintă " +"\"SNAT\" vor fi convertite în secțiuni \"nat\", iar firewall-ul va fi " +"repornit pentru a aplica configurația actualizată." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Utilizați adresa IP externă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Utilizați adresa IP internă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Utilizați ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Utilizați această opțiune pentru a clasifica traficul de zonă prin " +"dispozitive de rețea brute, neuci gestionate." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Utilizați această opțiune pentru a clasifica traficul din zonă în funcție de " +"subnetul sursă sau destinație în loc de rețele sau dispozitive." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Este necesară o marcă de firewall validă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Miercuri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Zilele săptămânii" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR marca firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Marcajul XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Dispozitivul nu rulează firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Dispozitivul rulează firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zonă ⇒ Redirecționări" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Zonele din care se creează reguli de reflecție. Dacă nu este setată, se " +"utilizează numai zona de destinație." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "acceptă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "oricare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "orice zona" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "orice/toate" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "aplică marcajul firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "atribuirea ajutorului conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "automat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap este doar ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "zi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP-ul destinației" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Destinație adresa MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Destinație (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port:Destinatie port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Destinație ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "nu rescrieți" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nu urmăriți" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "picătură" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 acceptă corelarea și crearea de seturi IP pentru a simplifica " +"potrivirea listelor de adrese mari, fără a fi nevoie să creați o regulă " +"pentru fiecare element pentru a se potrivi. Intervalele de porturi din " +"ipsets nu sunt acceptate de firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "de la port la port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "oră" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Adresă IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "IP[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Pentru utilizare cu tipurile de date Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "listă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: Adresă MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "respingeți" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "secundă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset *" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Sursa ipset *" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Adresă MAC sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (sub)rețea sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Port sursă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "acest dispozitiv" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "această nouă zonă" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "nelimitat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "nespecificat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "până la 65536 intrări." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "marca de firewall validă" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Descărcarea bazată pe software pentru rutare/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Activați traducerea adreselor de rețea și a porturilor (NAT sau NAPT) " +#~ "pentru traficul de ieșire din această zonă. Acest lucru este activat de " +#~ "obicei pe wan zonă." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Redirecționat IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Intrând IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" diff --git a/luci-app-firewall/po/ru/firewall.po b/luci-app-firewall/po/ru/firewall.po new file mode 100644 index 000000000..b5330629f --- /dev/null +++ b/luci-app-firewall/po/ru/firewall.po @@ -0,0 +1,1678 @@ +msgid "" +msgstr "" +"Project-Id-Version: LuCI: firewall\n" +"POT-Creation-Date: 2013-09-05 16:02+0200\n" +"PO-Revision-Date: 2024-10-30 02:45+0000\n" +"Last-Translator: sergio \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\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 5.8.2-dev\n" +"Project-Info: Это технический перевод, не дословный. Главное-удобный русский " +"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Перенаправление:Входящий}:Исходящий} %{ipv6?%{ipv4?IPv4 и IPv6:IPv6}:IPv4}%{proto?, протокол " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP с типами %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, метка " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:" +"%{dscp.val}}}%{helper?, помощник %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- добавить IP-адрес --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- добавить MAC-адрес --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Разрешить %{src?%{dest?перенаправляемый:" +"входящий}:исходящий} трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Предотвращать перезапись источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Перенаправлять на %{dest}%{dest_ip? IP-" +"адрес %{dest_ip}}%{dest_port? порт %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Отбрасывать %{src?%{dest?перенаправляемый:" +"входящий}:исходящий} трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Назначить DSCP классификатор " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Назначить помощника отслеживания " +"соединений %{set_helper}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Назначить метку:XOR метки} " +"брандмауэра %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Автоматически перезаписывать IP-адрес " +"источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Не отслеживать %{src?%{dest?" +"перенаправляемый:входящий}:исходящий} трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Отклонять %{src?%{dest?перенаправляемый:" +"входящий}:исходящий} трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Статически переписывать %{snat_ip?IP-адрес " +"источника на %{snat_ip}} %{snat_port?порт источника на " +"%{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "IP-адрес для перезаписи должен быть указан!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT — отключить перезапись адреса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Действие" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Дополнительные аргументы iptables для классификации трафика зоны " +"назначения, например -p tcp --dport 443 для соответствия только " +"исходящему HTTPS-трафику." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Дополнительные аргументы iptables для классификации трафика зоны " +"источника, например -p tcp --sport 443 для соответствия только " +"входящему HTTPS-трафику." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Внутренний IP-адрес должен соответствовать выбранной версии IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "Адреса источника, назначения и перезаписи должны быть одной версии IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Расширеные настройки" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Разрешить «недействительный» трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Разрешить перенаправление из 'зон источников':" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Разрешить перенаправление в 'зоны назначения':" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Любой" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Любой день" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Применить побитовую операцию XOR заданного значения и существующего значения " +"метки для уже установленных соединений. Формат — значение[/маска]. Если " +"задана маска, то биты, заданные в маске, обнуляются." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"Применить заданный класс DSCP или значение к установленным соединениям." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Назначить указанного помощника отслеживания соединений для соответствующего " +"трафика." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Автоматическое назначение помощников" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Автоматическое назначение помощников отслеживания соединений (conntrack) на " +"основе протокола и порта трафика" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Комментарий" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Отслеживание соединений (conntrack)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Помощники отслеживания соединений" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Содержимое сохранено." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Продолжить" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Счетчики" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Охватываемые устройства" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Охватываемые сети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Охватываемые подсети" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Пользовательские правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Пользовательские правила позволяют выполнять произвольные команды iptables, " +"которые не охвачены рамками межсетевого экрана. Команды выполняются после " +"каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил " +"по умолчанию." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP классификация" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP метка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Требуется DSCP метка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Адрес назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Порт назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Зона назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Имя устройства" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Не устанавливать дополнительные правила для отклонения перенаправляемого " +"трафика с состоянием недействительный (invalid). Это может " +"потребоваться для сложных настроек асимметричной маршрутизации." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Отбрасывать некорректные пакеты" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Включить" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Включить NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Включить защиту от SYN-flood атак" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Включить журналирование в этой зоне" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Включите трансляцию сетевых адресов и портов IPv4 (NAT4 или NAPT4) для " +"исходящего трафика в этой зоне. Обычно это включается в зоне wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Включите трансляцию сетевых адресов и портов IPv6 (NAT6 или NAPT6) для " +"исходящего трафика в этой зоне." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Включен" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Включает отслеживание количества пакетов и байтов для набора." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Ожидание: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Явно определяет допустимые варианты помощников (helpers) отслеживания " +"соединений (connection tracking) трафика в зоне" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Внешний IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Внешний порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Дополнительные аргументы" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Дополнительные аргументы для назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Дополнительные аргументы iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Дополнительные аргументы для источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Семейство" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Межсетевой экран" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Межсетевой экран - Пользовательские правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Брандмауэр - наборы IP-адресов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Межсетевой экран - Правила NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Межсетевой экран - Перенаправление портов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Межсетевой экран - Правила для трафика" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Межсетевой экран - Настройка зон" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Миграция конфигурации межсетевого экрана" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "Тип разгрузки потока" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Перенаправление" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Перенаправление %{ipv6?%{ipv4?IPv4 и IPv6:IPv6}:IPv4}%{proto?, протокол %{proto#%{next?, }%{item.name}" +"}}%{mark?, пометка %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Пятница" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Из %{src}%{src_device?, интерфейс %{src_device}}%{src_ip?, IP-" +"адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Из %{src}%{src_device?, интерфейс %{src_device}}%{src_ip?, IP-" +"адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адрес " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Из %{src}%{src_ip?, IP-адрес %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адрес %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Основные Настройки" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Разрешить конфигурировать брандмауер" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "Аппаратная разгрузка для маршрутизации с/без NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Аппаратная разгрузка потока" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (диапазон)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Наборы IP-адресов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP-адреса/сети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP-адреса/сети/MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 и IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Только IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "Маскарадинг IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Только IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Входящее устройство" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Файл включения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Входящий %{ipv6?%{ipv4?IPv4 и IPv6:IPv6}:" +"IPv4}%{proto?, протокол %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"с типами %{item.types#%{next?, }%{item}}:%{item." +"name}}}}%{mark?, пометка %{mark.val}}%{helper?, помощник %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Начальный размер хэша" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Входящий трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Внутренний IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Внутренний порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Внутренняя зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Внутризональная пересылка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Неверная DSCP метка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Неверное значение ограничения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Недопустимое имя набора" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Ограничение барста (burst)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Ограничить журнал сообщений" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Соответствие по ограничениям" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Ограничение до %{limit.num} пакетов в %{limit.unit}%{limit.burst? барст (burst) %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Включены ограничения маскарадинга" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Ограничивает сопоставление трафика указанной скорости." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP-адрес источника петли (Loopback)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE — автоматически переписывать на IP-адрес исходящего интерфейса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Ограничение MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Маскарадинг" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Соответствие" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Соответствие DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Соответствие ICMP типу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Соответствие устройству" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Соответствие перенаправляемого трафика, направленного на заданный IP-адрес." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Соответствие перенаправляемого трафика, направленного на заданный порт " +"назначения или диапазон портов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" +"Соответствие перенаправляемого трафика от данного IP-адреса или диапазона." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Соответствие перенаправляемого трафика, исходящего от заданного порта " +"источника или диапазона портов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Соответствие помощнику" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Порт или диапазон портов, входящие подключения на который будут " +"перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Соответствие метки" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Сопоставление трафика с помощью указанного помощника отслеживания соединений." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Соответствие определённой метке брандмауэра или диапазона различных меток." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Соответствие перенаправляемого трафика, использующего указанное исходящее " +"сетевое устройство." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Сопоставляет трафик с указанной DSCP-маркировкой." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Максимальное количество записей" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Максимальная длина" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Максимальное начальное количество совпадающих пакетов: это число будет " +"пополняться на один каждый раз, когда лимит, указанный выше, не будет " +"достигнут, вплоть до этого числа." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Понедельник" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Дни месяца" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Правила NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Правила NAT позволяют точно контролировать IP-адрес источника в исходящем " +"или перенаправляемом трафике." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Название" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Маска сети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "Отсутствует" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Не полностью совместим с QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" +"Применять правило только для входящих подключений на указанный IP-адрес." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Применять правило только для входящего трафика от этих MAC-адресов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Применять правило только для входящего трафика от этого IP-адреса или " +"диапазона адресов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Применять правило только для входящего трафика от указанного порта или " +"диапазона портов клиентского хоста" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Исходящее устройство" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Исходящая зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Исходящий трафик" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Соответствие поля пакета" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Поля пакета для сопоставления.
Синтаксис: direction_datatype. " +"например: src_port, dest_net.
Направления: src, dst. Типы данных: ip, port, mac, net, set.
Префиксы " +"направления необязательны.
*Примечание: тип данных set не " +"поддерживается в fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Передаёт дополнительные аргументы таблице iptables. Используйте с " +"осторожностью!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Передача аргументов iptables в правилах классификации входящего и исходящего " +"трафика позволяет сопоставлять пакеты, основанные на других критериях, " +"нежели чем интерфейсы или подсети. Эти опции следует использовать с особой " +"осторожностью, так как неверные значения могут привести к нарушению работы " +"правил межсетевого экрана, полностью открывая доступ ко всем службам системы." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Путь к файлу с CIDR, подсетями, IP-адресами хостов и т.д.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Перенаправление портов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Перенаправленные портов позволяет удалённым компьютерам из Интернета " +"соединяться с компьютером или службой внутри частной локальной сети." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Диапазон портов" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-" +"адреса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Перенаправлять трафик на указанный IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Обращение к внешнему набору" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Зоны отражения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Требуется аппаратная поддержка NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Использовать маскарадинг только для указанных подсетей-получателей" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Использовать маскарадинг только для указанных подсетей-отправителей" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Использовать протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP-адрес для перезаписи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Перезаписать соответствующий трафик на указанный IP-адрес источника." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Перезаписать соответствующий трафик на указанный порт источника или диапазон " +"портов." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Порт для перезаписи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Маршрутизация/NAT offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT — перезаписать на указанный IP-адрес источника или порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Суббота" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Установить метку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Значение метки для уже установленных соединений. Формат — значение[/маска]. " +"Если указана маска, то изменяются только те биты, которые установлены в " +"маске." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "Программная разгрузка для маршрутизации/NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Программный flow offloading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "IP-адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "MAC-адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Порт источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Зона источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Определяет, привязывать ли это правило трафика к конкретному входящему или " +"исходящему сетевому устройству." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Определяет, использовать внешний или внутренний IP-адрес для отраженного " +"трафика." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Дата начала (год-мес-день)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Время начала (чч:мм:сс)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Дата окончания (год-мес-день)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Время окончания (чч:мм:сс)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Метод хранения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Воскресенье" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Для правильной работы LuCI необходимо изменить существующую конфигурацию " +"межсетевого экрана." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "Межсетевой экран создает зоны в вашей сети для контроля трафика." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Данные настройки управляют политиками перенаправления трафика между этой " +"(%s) и другими зонами. Трафиком 'зон-назначения' является " +"перенаправленный трафик 'исходящий из %q'. Трафиком " +"'зон-источников' является трафик 'направленый в %q'. Перенаправление является 'однонаправленным', то есть " +"перенаправление из lan в wan 'не' допускает перенаправление трафика " +"из wan в lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Страница содержит общие свойства %q. Режимы 'Входящий трафик' и " +"'Исходящий трафик' устанавливают политики по умолчанию для трафика, " +"поступающего и покидающего эту зону, в то время как режим " +"'Перенаправление' описывает политику перенаправления трафика между " +"различными сетями внутри зоны. 'Использовать сети' указывает, какие " +"доступные сети являются членами этой зоны." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Четверг" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Временные ограничения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Время UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Для правила включены временные ограничения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Тайм-аут" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"В %{dest}%{dest_device?, интерфейс %{dest_device}}%{dest_ip?, IP-" +"адрес %{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, порт " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"В %{dest}%{dest_device?, через интерфейс %{dest_device}}%{dest_ip?, IP-адрес %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"В %{dest}%{dest_ip?, IP-адрес %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Помощник отслеживания" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Правила для трафика" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Правила для трафика определяют политику прохождения пакетов между разными " +"зонами, например, запрет трафика между некоторыми хостами или открытие WAN-" +"портов маршрутизатора." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Вторник" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Невозможно сохранить содержимое: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Единица измерения: секунды. По умолчанию 0 означает, что запись " +"постоянно добавляется в набор.
Максимум: 2147483 секунд." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Неизвестный или не установленный помощник «‎%s»" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT без имени" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Перенаправление без имени" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Правило без имени" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Безымянный набор" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Зона без имени" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Нераспознанный протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"После нажатия кнопки «Продолжить», разделы правил перенаправления «redirect» " +"типа «SNAT» будут сконвертированы в разделы «nat» и межсетевой экран будет " +"перезапущен для применения и обновления конфигурации." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Использовать внешний IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Использовать внутренний IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Использовать ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Используйте эту опцию для классификации трафика зоны по сетевым устройствам, " +"управляемым не через uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Используйте эту опцию для классификации трафика зоны по источнику или " +"подсети назначения вместо сети или устройств." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Требуется верная метка брандмауэра" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Среда" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Дни недели" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR метка брандмауэра" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR метка" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "firewall4 не запущен на вашем устройстве." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "firewall4 запущен на вашем устройстве." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Зона ⇒ Перенаправления" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Зоны" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Зоны, из которых будут создаваться правила отражения. Если значение не " +"задано, то используется только зона назначения." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "принимать" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "любой" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "любая зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "любой/все" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "применить метку брандмауэра" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "назначить помощника отслеживания соединений" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "автоматически" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "битовая карта" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "Битовая карта только для IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "день" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP-адрес назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: MAC-адрес назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Сеть назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Порт назначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: ipset назначения*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "не перезаписывать" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "не отслеживать" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "не обрабатывать" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 поддерживает ссылки и создание наборов IP-адресов для упрощения " +"согласования больших списков адресов без необходимости создавать по одному " +"правилу на каждый элемент для согласования. Диапазоны портов в наборах " +"ипсетов не поддерживаются firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "портисточника-портназначения" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "хэш" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "час" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Для использования с типами данных Match: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "список" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC-адрес" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "минута" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: Сеть" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "порт: Порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "отклонить" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "секунда" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "набор: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Исходный ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP-адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: MAC-адрес источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: (Под)сеть источника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Исходный порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "это устройство" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "эта новая зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "без ограничений" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "не определено" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "до 65536 записей." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "верная метка брандмауэра" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Программная реализация offloading для маршрутизации/NAT" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Транслировать сетевые адреса и порты (NAT или NAPT) для исходящего из " +#~ "этой зоны трафика. Обычно это включено для зоны wan." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Перенаправление IPv4%{proto?, протокол %{proto#%{next?, }%{item.name}" +#~ "}}%{mark?, метка %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Входящий IPv4%{proto?, протокол %{proto#%{next?, }%{item.types?%{item.name}ICMP с типами %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, метка %{mark.val}}%{helper?, помощник %{helper.inv?%{helper.val}:" +#~ "%{helper.val}}}" diff --git a/luci-app-firewall/po/si/firewall.po b/luci-app-firewall/po/si/firewall.po new file mode 100644 index 000000000..091093c60 --- /dev/null +++ b/luci-app-firewall/po/si/firewall.po @@ -0,0 +1,1431 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2021-03-01 07:55+0000\n" +"Last-Translator: HelaBasa \n" +"Language-Team: Sinhala \n" +"Language: si\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.5\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "ඉරිදා" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "බ්‍රහස්පතින්දා" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "අඟහරුවාදා" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "නම් නොකළ නීතිය" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "බදාදා" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "සතියේ දින" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "ඕනෑම" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "විනාඩිය" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "තත්පරය" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "මෙම උපාංගය" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "නිශ්චිතව දක්වා නැත" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/sk/firewall.po b/luci-app-firewall/po/sk/firewall.po new file mode 100644 index 000000000..120d52c17 --- /dev/null +++ b/luci-app-firewall/po/sk/firewall.po @@ -0,0 +1,1472 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2023-07-10 15:50+0000\n" +"Last-Translator: MaycoH \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\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 5.0-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 a " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP s typmi %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP " +"%{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- pridať IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- pridať MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Prijať %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Zabrániť prepísaniu zdroja" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Presmerovať na %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Vynechať %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Priradiť klasifikáciu DSCP %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Priradiť súhlas pomocníka " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} značka brány " +"firewall %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Automaticky prepisovať zdrojovú " +"adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Nesledovať %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Odmietnuť %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Musí byť určená adresa IP na prepísanie!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Zakázať prepis adresy" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Akcia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Rodina adries, Interná IP adresa sa musia zhodovať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Rodina adries, zdrojová adresa, cieľová adresa, prepísaná IP adresa sa musia " +"zhodovať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Pokročilé nastavenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Umožniť „neplatný“ prenos" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Umožniť presmerovanie zo zdrojových zón:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Umožniť presmerovanie do cieľových zón:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Nezáleží" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Akýkoľvek deň" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Obsah bol uložený." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Pokračovať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Pokryté zariadenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Pokryté siete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Pokryté podsiete" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Vlastné pravidlá" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Klasifikácia DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Vyžaduje sa značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Cieľová adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Cieľový port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Cieľová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Názov zariadenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Zahodiť neplatné pakety" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Povoliť" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Povoliť slučku NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Povoliť ochranu pred útokom SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Povoliť zaznamenávanie tejto zóny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Očakáva sa: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Vonkajšia adresa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Vonkajší port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Argumenty navyše" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Brána Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Brána Firewall - Vlastné pravidlá" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Brána Firewall - Pravidlá NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Brána Firewall - Presmerovanie portov" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Brána Firewall - Pravidlá prenosu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Brána Firewall - Nastavenia zón" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Migrácia konfigurácie brány Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Presmerovanie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Piatok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Všeobecné nastavenia" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Udeliť prístup ku konfigurácii brány firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Hardvérové odľahčenie toku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (rozsah)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP sety" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP/siete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP/siete/MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 a IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Iba IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Iba IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Prichádzajúce zariadenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Vstup" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Vnútorná adresa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Vnútorný port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Vnútorná zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Neplatná značka DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Neplatná hodnota obmedzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Obmedziť správy záznamu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Obmedzenie prenosu podľa určenej frekvencie." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Zdrojová adresa IP slučky" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maškaráda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Zhoda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Zhoda zariadenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Pondelok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dni v mesiaci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Pravidlá NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Názov" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Nie je plne kompatibilná so službami QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Odchádzajúce zariadenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Výstup" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Presmerovania portov" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Presmerovanie portov (port forwarding) umožňuje vzdialeným počítačom na " +"internete pripojenie k určitému počítaču alebo službe v rámci súkromnej " +"siete LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Vyžaduje hardvérovú podporu NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Obmedziť maškarádu na zadané cieľové podsiete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Obmedziť maškarádu na zadané zdrojové podsiete" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Obmedziť na rodinu adries" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Prepísať adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Prepísanie zhodného prenosu do určenej zdrojovej adresy IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Prepísanie zhodného prenosu do určeného zdrojového portu alebo rozsahu " +"portov." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Prepísať port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Odľahčenie smerovania/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Prepísanie do určenej zdrojovej adresy IP alebo portu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Sobota" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Softvérové odľahčenie toku" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Zdrojová adresa IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Zdrojová adresa MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Zdrojová adresa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Zdrojový port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Zdrojová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Dátum spustenia (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Čas spustenia (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Dátum zastavenia (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Čas zastavenia (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Nedeľa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Existujúca konfigurácia brány firewall musí byť zmenená, aby mohlo rozhranie " +"LuCI fungovať správne." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Brána firewall vytvorí zóny medzi vašimi sieťovými rozhraniami na ovládanie " +"toku sieťového prenosu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Štvrtok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Časové obmedzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Čas v UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Pravidlá prenosu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Utorok" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Nie je možné uložiť obsah: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "Nepomenované NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Nepomenované presmerovanie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Nepomenované pravidlo" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Nepomenovaná zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Nerozpoznaný protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Použiť vonkajšiu adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Použiť vnútornú adresu IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Streda" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Dni v týždni" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Značka XOR brány firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Značka XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zóna ⇒ Presmerovania" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zóny" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "prijať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "nezáleží" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "akákoľvek zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "deň" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "neprepísať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "nesledovať" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "zahodiť" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "hodinu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minútu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "zamietnuť" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekundu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "toto zariadenie" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "táto nová zóna" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "bez obmedzenia" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "neurčené" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Softvérové odľahčenie smerovania/NAT" diff --git a/luci-app-firewall/po/sr/firewall.po b/luci-app-firewall/po/sr/firewall.po new file mode 100644 index 000000000..bedc9f0f4 --- /dev/null +++ b/luci-app-firewall/po/sr/firewall.po @@ -0,0 +1,1431 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2023-11-30 14:34+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: sr\n" +"MIME-Version: 1.0\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 5.3-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/sv/firewall.po b/luci-app-firewall/po/sv/firewall.po new file mode 100644 index 000000000..36c2ffbf7 --- /dev/null +++ b/luci-app-firewall/po/sv/firewall.po @@ -0,0 +1,1487 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-10-23 12:34+0000\n" +"Last-Translator: Kristoffer Grundström \n" +"Language-Team: Swedish \n" +"Language: sv\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 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- lägg till IP-adress --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- lägg till MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Acceptera %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Förhindra omskrivning av källan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Vidarebefordra till %{dest}%{dest_ip? IP-" +"adress %{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Släpp %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Tilldela DSCP classification " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Tilldela conntrack-hjälpare " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Skriv om källans IP-adress automatiskt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Spåra inte %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Neka %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "En IP som kan skrivas om måste specifieras!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Inaktivera adressomskrivning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Åtgärd" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Ytterligare oformaterade iptables-argument för att klassifiera " +"destinationszonens trafik, t.ex. -p tcp --dport 443 för att " +"bara matcha utgående HTTP-trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Ytterligare oformaterade iptables-argument för att klassifiera " +"källzonens trafik, t.ex. -p tcp --dport 443 för att bara matcha " +"inkommande HTTP-trafik." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adressfamilj, intern IP-adress måste överensstämma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adressfamilj, källadress, destinationsadress, omskrivnings IP-adress måste " +"överensstämma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Avancerade inställningar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Tillåt \"ogiltig\" trafik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Tillåt vidarebefordring från källzonerna:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Till vidarebefordring till destinationszonerna::" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Något" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Vilken dag som helst" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" +"Applicera den givna DSCP-klassificeringen eller värde till etablerade " +"anslutningar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Applicera automatiskt conntrack-hjälpare baserat på trafikprotokoll och port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Kommentar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Inställningar för Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack-hjälpare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Innehållet har sparats." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Fortsätt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Täckta enheter" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Nätverk som omfattas" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Subnät som omfattas" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Anpassade regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Skräddarsydda regler tillåter dig att exekvera arbiträra iptables-kommandon " +"som annars inte täcks av brandväggsramverket. Kommandona är exekverade efter " +"varje omstart av brandväggen, direkt efter när standardreglerna har laddats." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP-klassificering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP-märkning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP-märkning obligatorisk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Destinationens adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Destinationsport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Destinationens zon" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Enhetens namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Installera inte extra regler för att blockerade vidarebefordrad trafik med " +"conntrack-tillståndet invalid. Detta kan behövas för komplexa, " +"asymmetriska ruttuppsättningar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Släpp ogiltiga paket" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Aktivera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Aktivera NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Aktivera loggning i den här zonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Aktivera IPv4 nätverksadress och portöversättning (NAT4 eller NAPT4) för " +"utåtgående trafik på denna zon. Detta är vanligtvist aktiverat på wan-zonen." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Aktivera IPv6 nätverksadress och portöversättning (NAT6 eller NAPT6) för " +"utåtgående trafik på denna zon." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Aktiverat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Förväntade: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Extern IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Extern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Extra argument" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Brandvägg" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Brandvägg - Anpassade regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Brandvägg - NAT-regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Brandvägg - Vidarebefordring av port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Brandvägg - Trafikregler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Brandvägg - Zoninställningar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Vidarebefordra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Fredag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Från %{src}%{src_device?, gränssnitt %{src_device}}%{src_ip?, IP-" +"adress %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Generella inställningar" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Tillåt åtkomst till brandväggskonfigurationen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 och IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Endast IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Endast IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Inmatning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Intern IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Intern port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Intern zon" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Ogiltigt gränsvärde" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Begränsa loggmeddelanden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maskering" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Matcha" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Matcha DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Matchar ICMP-typ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Matcha enhet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Matcha inkommande trafik dirigerad till den angivna destinationsporten eller " +"portens räckvidd på den här värden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Måndag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Dagar i månaden" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT-regler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Inte fullt kompatibel med QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Matcha endast inkommande trafik från de här MAC-adresserna." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" +"Matcha endast inkommande trafik från den här IP-adressen eller räckvidden." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Utmatning" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Vidarebefordringar av port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokoll" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Kräver hårdvarustöd för NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Begränsa till adressfamilj" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Skriv om IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Skriv om port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Skriv om till specifik IP-källa eller port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Lördag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "IP-adress för källa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "MAC-adress för källa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Adress för källkod" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Käll-port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Startdatum (åååå-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Starttid (tt.mm.ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Stopptid (åååå-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Stopptid (tt.mm.ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Söndag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Den befintliga brandväggskonfigurationen behöver ändras för att LuCi ska " +"fungera som det ska." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Torsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Tidsbegränsningar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Tid enligt UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Trafikregler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Tisdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT utan namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Regel utan namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Zon utan namn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Använd en extern IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Använd en intern IP-adress" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Onsdag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Veckodagar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Zon ⇒ Vidarebefordringar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Zoner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "acceptera" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "något" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "alla zoner" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "tilldela conntrack-hjälpare" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "dag" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "skriv inte om" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "spåra inte" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "släpp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "timme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "minut" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "neka" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "sekund" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "den här enheten" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "den här nya zonen" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "obegränsad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "ospecificerad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Vidarebefordrade IPv4%{proto?, protocol %{proto#%{next?, }%{item." +#~ "name}}}%{mark?, mark %{mark.val}}" diff --git a/luci-app-firewall/po/templates/firewall.pot b/luci-app-firewall/po/templates/firewall.pot new file mode 100644 index 000000000..756e81ffd --- /dev/null +++ b/luci-app-firewall/po/templates/firewall.pot @@ -0,0 +1,1418 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/tr/firewall.po b/luci-app-firewall/po/tr/firewall.po new file mode 100644 index 000000000..a29a38ec7 --- /dev/null +++ b/luci-app-firewall/po/tr/firewall.po @@ -0,0 +1,1661 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2024-03-31 19:53+0000\n" +"Last-Translator: Oğuz Han \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.5-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Yönlendirilen:Gelen}:Giden} %{ipv6?%{ipv4?IPv4 ve " +"IPv6:IPv6}:IPv4}%{proto?, protokol " +"%{proto#%{next?, }%{item.types?%{item." +"name}Türlerle ICMP %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp." +"val}:%{dscp.val}}}%{helper?, yardımcı %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "IP ekle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "MAC ekle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"KABUL ET %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" +"Kaynağın yeniden yazılmasını engelle" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Yönlendir to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Reddet %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"DSCP tanımla classification %{set_dscp}" +"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Bağlantı atama yardımcı " +"%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Ata:XOR} güvenlik duvarı işareti " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Kaynak IP'siniOtomatik olarak yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Takip etme %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"REDDET %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Statik olarak yeniden yaz kaynağa " +"%{snat_ip?IP %{snat_ip}} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Yeniden yazmak için bir IP belirtilmek zorunda!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "KABUL ET - Adres yeniden yazmayı devre dışı bırak" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Eylem" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Bölge hedef trafiğini sınıflandırmak için ek ham iptables bağımsız " +"değişkenleri, ör. Yalnızca giden HTTPS trafiğini eşleştirmek için -p " +"tcp --dport 443." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Bölge kaynak trafiğini sınıflandırmak için ek ham iptables bağımsız " +"değişkenleri, ör. Yalnızca gelen HTTPS trafiğini eşleştirmek için -p " +"tcp --sport 443." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Adres ailesi, Dahili IP adresi eşleşmelidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" +"Adres ailesi, kaynak adresi, hedef adresi, yeniden yazılan IP adresi " +"eşleşmelidir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Gelişmiş Ayarlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "\"Geçersiz\" trafiğe izin ver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Kaynak bölgelerden gelen yönlendirmeye izin ver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr " Hedef bölgelerden gelen yönlendirmeye izin ver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Herhangi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Herhangi bir gün" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Verilen değerin bitsel XOR değerini ve kurulan bağlantılarda mevcut işaret " +"değerini uygulayın. Biçim değerdir [/mask]. Bir maske belirtilirse, maskede " +"ayarlanan bu bitler sıfırlanır." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Verilen DSCP sınıfını veya değerini kurulan bağlantılara uygulayın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Belirtilen bağlantı izleme yardımcısını eşleşen trafiğe atayın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Otomatik yardımcı atama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Trafik protokolü ve bağlantı noktasına göre bağlantı yardımcılarını otomatik " +"olarak atayın" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Yorum" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack Ayarları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack yardımcıları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "İçerik kaydedildi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Devam et" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Sayaçlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Kapsanan cihazlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Kapsanan ağlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Kapsanan alt ağlar" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Özel Ayarlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Özel kurallar, güvenlik duvarı çerçevesi tarafından başka şekilde " +"kapsanmayan keyfi iptables komutlarını yürütmenize olanak tanır. Komutlar, " +"her güvenlik duvarı yeniden başlatıldıktan sonra, varsayılan kural seti " +"yüklendikten hemen sonra yürütülür." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP sınıflandırması" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP işareti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP işareti gerekli" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Hedef adres" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Hedef bağlantı noktası" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Hedef bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Cihaz adı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Bağlantı durumu invalid olan iletilen trafiği reddetmek için " +"fazladan kurallar yüklemeyin. Bu, karmaşık asimetrik yol kurulumları için " +"gerekli olabilir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Geçersiz paketleri düşür" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Etkinleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "NAT Döngü sınamasını etkinleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "SYN-flood korumasını etkinleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Bu bölgede günlük kaydetmeyi etkinleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Bu bölgedeki giden trafik için ağ adresini ve bağlantı noktası çevirisi " +"IPv4'ü (NAT4 veya NAPT4) etkinleştirin. Bu genellikle wan " +"bölgesinde etkinleştirilir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Bu bölgedeki giden trafik için ağ adresini ve bağlantı noktası çevirisi " +"IPv6'yı (NAT6 veya NAPT6) etkinleştir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Etkinleştirildi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Küme için paket ve bayt sayısı takibini etkinleştirir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Beklenen: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Bölge trafiği için izin verilen bağlantı izleme yardımcılarını açıkça seçer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Harici IP adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Harici port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Ekstra argümanlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Ekstra hedef argümanlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Ekstra iptables argümanları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Ekstra kaynak argümanlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Aile" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Güvenlik Duvarı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Güvenlik duvarı - Özel Kurallar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Güvenlik Duvarı - IP setleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Güvenlik duvarı - NAT Kuralları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Güvelik duvarı - Port Yönlendirme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Güvenlik duvarı - Trafik Kuralları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Güvenlik duvarı - Bölge Ayarları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Güvenlik duvarı yapılandırma geçişi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Yönlendir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"İletilen %{ipv6?%{ipv4?IPv4 ve IPv6:IPv6}:" +"IPv4}%{proto? , protokol %{proto#%{sonraki?, >%{item.name}}%{mark?, mark %{mark.val}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Cuma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Nereden %{src}%{src_device?, arayüz %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Nereden %{src}%{src_device?, arayüz %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Nereden %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Genel Ayarlar" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Güvenlik duvarı yapılandırmasına erişim ver" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Donanım akış boşaltma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (aralık)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP Setleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP'ler/Ağlar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP'ler/Ağlar/MAC'ler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 ve IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Yalnızca IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 Maskeleme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Yalnızca IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Gelen cihaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Dosyayı İçer" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Gelen %{ipv6?%{ipv4?IPv4 ve IPv6:IPv6}:" +"IPv4}%{proto? , protokol %{proto#%{sonraki?, }%{item.types?%{item.name>% " +"türleriyle ICMP {item.types#%{sonraki?, >%{item:" +"%{item.name}}}%{ mark?, mark %{mark.val}%{helper?, " +"helper %{helper.inv?%{helper.val dışındaki herhangi bir yardımcıyla eşleştir:%{helper.val} }}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "İlk Hash Boyutu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Giriş" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Dahili IP adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "İç bağlantı noktası" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "İç bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "Bölge içi ileri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Geçersiz DSCP işareti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Geçersiz sınır değeri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Geçersiz küme adı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Sınır patlaması" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Günlük mesajlarını sınırla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Eşlemeyi sınırla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Eşleşmeyi bununla sınırla %{limit.num} packets per %{limit." +"unit}%{limit.burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Sınırlı maskeleme etkin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Belirtilen oranla eşleşen trafiği sınırlar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Geri döngü kaynak IP'si" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Giden arayüz IP'sine otomatik olarak yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS bağlama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Maskeleme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "DSCP ile eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "ICMP tipiyle eşleş" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Cihazı eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Verilen IP adresine yönlendirilen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Verilen hedef, bağlantı noktası veya bağlantı noktası aralığına " +"yönlendirilen iletilen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Bu IP veya aralıktan yönlendirilen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Verilen kaynak bağlantı noktasından veya bağlantı noktası aralığından gelen " +"iletilen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Yardımcıyı eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Bu ana bilgisayardaki belirli hedef bağlantı noktasına veya bağlantı noktası " +"aralığına yönlendirilen gelen trafiği eşleştirin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "İşaretleri eşleştir" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Belirtilen bağlantı izleme yardımcısını kullanarak trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Belirli bir güvenlik duvarı işaretiyle veya bir dizi farklı işaretle eşleşir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "Belirtilen giden ağ cihazını kullanarak iletilen trafiği eşleştirir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Belirtilen DSCP işaretini taşıyan trafikle eşleşir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Maks Girişler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Azami Uzunluk" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Eşleşecek maksimum ilk paket sayısı: Bu sayı, bu sayıya kadar yukarıda " +"belirtilen sınıra her ulaşılmadığında bir kez yeniden doldurulur." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Pazartesi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Ayın Günleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT Kuralları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"NAT kuralları, giden veya iletilen trafik için kullanmak üzere kaynak IP " +"üzerinde ayrıntılı denetime izin verir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Ad" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmask" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "QoS/SQM ile tam uyumlu değildir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Yalnızca verilen IP adresine yönlendirilen gelen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Yalnızca bu MAC'lardan gelen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Yalnızca bu IP veya aralıktan gelen trafiği eşleştirin." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Yalnızca istemci ana bilgisayardaki belirli kaynak bağlantı noktasından veya " +"bağlantı noktası aralığından gelen trafiği eşleştirin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Giden cihaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Giden bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Çıkış" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Paket Alan Eşleşmesi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Eşleşecek paket alanları.
Sözdizimi: direction_datatype. " +"örneğin: src_port, dest_net.
Yol tarifleri: src, " +"dst. Veri türleri: ip, port, mac, net, set.
Yön " +"önekleri isteğe bağlıdır.
*Not: set veri türü fw4'te " +"desteklenmez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "İptables'a ek argümanlar iletir. Dikkatli kullanın!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Ham iptables argümanlarını kaynak ve hedef trafik sınıflandırma kurallarına " +"geçirmek, paketleri arayüzler veya alt ağlar dışında başka kriterlere göre " +"eşleştirmeye izin verir. Geçersiz değerler güvenlik duvarı kural setini " +"bozabileceğinden ve tüm hizmetleri tamamen açığa çıkarabileceğinden, bu " +"seçenekler son derece dikkatli kullanılmalıdır." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" +"CIDR'lerin, alt ağların, ana bilgisayar IP'lerinin vb. dosyasının yolu.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Port Yönlendirmeleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Bağlantı noktası yönlendirme, İnternet üzerindeki uzak bilgisayarların özel " +"LAN içindeki belirli bir bilgisayara veya hizmete bağlanmasına izin verir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Bağlantı noktası aralığı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Gelen trafiği dahili ana bilgisayardaki belirli bağlantı noktasına " +"yönlendirin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Gelen trafiği belirtilen dahili ana bilgisayara yönlendirin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Harici Sete Bakın" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "Yansıma bölgeleri" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Donanımsal NAT desteği gerektirir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Maskelendirmeyi verilen hedef alt ağlarla sınırla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Maskelemeyi verilen kaynak alt ağlarla kısıtla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Adres ailesiyle sınırla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP adresini yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Eşleşen trafiği belirtilen kaynak IP adresine yeniden yazın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Eşleşen trafiği belirtilen kaynak bağlantı noktasına veya bağlantı noktası " +"aralığına yeniden yazın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Bağlantı noktasını yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Yönlendirme / NAT Aktarımı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Belirli bir kaynak IP'sine veya bağlantı noktasına yeniden yaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Cumartesi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "İşaret ayarla" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Kurulan bağlantılarda verilen işaret değerini ayarlayın. Biçim değerdir [/" +"mask]. Bir maske belirtilirse, sadece maskede ayarlanan bitler değiştirilir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Yazılım tabanlı akış boşaltma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Kaynak IP Adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Kaynak MAC adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Kaynak adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Kaynak portu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Kaynak bölgesi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Bu trafik kuralının belirli bir gelen veya giden ağ cihazına bağlanıp " +"bağlanmayacağını belirtir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Yansıtılan trafik için harici veya dahili IP adresinin kullanılıp " +"kullanılmayacağını belirtir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Başlangıç Tarihi (yyyy-aa-gg)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Başlangıç Zamanı (sa.dd.sn)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Bitiş Tarihi (yyyy-aa-gg)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Durdurma Zamanı (sa.dd.sn)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Depolama Yöntemi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Pazar" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"LuCI'nin düzgün çalışması için mevcut güvenlik duvarı yapılandırmasının " +"değiştirilmesi gerekir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Güvenlik duvarı, ağ trafiği akışını kontrol etmek için ağ arayüzleriniz " +"üzerinde bölgeler oluşturur." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Aşağıdaki seçenekler, bu bölge (%s) ile diğer bölgeler arasındaki " +"yönlendirme politikalarını kontrol eder. Hedef bölgeler " +"yönlendirilen trafiği eşleştirin hedeflenen %q. Kaynak " +"bölgeler diğer bölgelerden gelen trafiği eşleştirin hedeflenen " +"%q. İletim kuralı tek yönlüdür,Örneğin. lan'dan wan'a " +"yönlendirme, wan'dan lan'a yönlendirme izni anlamına gelmez." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Bu bölüm,% q öğesinin ortak özelliklerini tanımlar. giriş ve " +"çıkış seçenekleri, bu bölgeye giren ve çıkan trafik için varsayılan " +"politikaları ayarlarken, yönlendir seçeneği farklı ağlar arasında " +"yönlendirilen trafik için politikayı açıklar bölge içinde. Kapsanan ağla " +", hangi kullanılabilir ağların bu bölgenin üyesi olduğunu belirtir." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Perşembe" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Zaman Kısıtlamaları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC Zamanı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Bu kural için zaman kısıtlamaları etkinleştirildi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Zaman aşımı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Buraya %{dest}%{dest_device?, arayüz %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Buraya %{dest}%{dest_device?, arayüz aracılığıyla %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Buraya %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "İzleme yardımcısı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Trafik kuralları" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Trafik kuralları, örneğin belirli ana bilgisayarlar arasındaki trafiği " +"reddetmek veya yönlendiricide WAN bağlantı noktalarını açmak gibi farklı " +"bölgeler arasında seyahat eden paketler için politikalar tanımlar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Salı" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "İçerik kaydedilemiyor: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Birim: saniye. Varsayılan 0, girişin sete kalıcı olarak " +"eklendiği anlamına gelir.
Maks: 2147483 saniye." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Bilinmeyen veya yüklenmemiş bağlantı yolu yardımcısı \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "İsimsiz NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "İsimsiz yönlendirme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "İsimsiz kural" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Adsız küme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "İsimsiz bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Bilinmeyen protokol" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"\"Devam\" düğmesine basıldığında, \"SNAT\" hedefli \"yeniden yönlendirme\" " +"bölümleri \"nat\" bölümlerine dönüştürülecek ve güncellenmiş yapılandırmayı " +"uygulamak için güvenlik duvarı yeniden başlatılacaktır." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Harici bir IP adresi kullan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Dahili bir IP adresi kullan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "ipset'i kullan" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Bölge trafiğini ham, uci yönetilmeyen ağ cihazlarına göre " +"sınıflandırmak için bu seçeneği kullanın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Bölge trafiğini ağlar veya cihazlar yerine kaynak veya hedef alt ağa göre " +"sınıflandırmak için bu seçeneği kullanın." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Geçerli güvenlik duvarı işareti gerekli" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Çarşamba" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Hafta içi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR güvenlik duvarı işareti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR işareti" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Cihazınız firewall4'ü çalıştırmıyor." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Cihazınız firewall4'ü çalıştırıyor." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Bölge ⇒ Yönlendirmeler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Bölgeler" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" +"Yansıma kurallarının oluşturulacağı bölgeler. Ayarlanmadığı takdirde " +"yalnızca hedef bölge kullanılır." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "kabul et" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "herhangi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "herhangi bir bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "herhangi biri/hepsi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "güvenlik duvarı işaretini uygula" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "bağlantı yardımcısı atama" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "otomatik" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap yalnızca ipv4'tür" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "gün" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: Hedef IP'si" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Hedef MAC adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Hedef (alt)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Hedef Bağlantı Noktası" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: Hedef ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "yeniden yazma" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "izleme" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "düşür" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"Firewall4, eşleşecek öğe başına bir kural oluşturmaya gerek kalmadan büyük " +"adres listelerinin eşleştirilmesini kolaylaştırmak için IP kümelerine " +"referans vermeyi ve oluşturmayı destekler. ipset'lerdeki bağlantı noktası " +"aralıkları güvenlik duvarı4 tarafından desteklenmez.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "hash" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "saat" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Eşleştirme veri türleriyle kullanım için: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "liste" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "dakika" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (alt)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "reddet" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "ikinci" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: Kaynak ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: Kaynak IP'si" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Kaynak MAC adresi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Kaynak (alt)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Kaynak Bağlantı Noktası" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "bu cihaz" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "bu yeni bölge" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "sınırsız" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "belirtilmemiş" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "65536 girişe kadar." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "geçerli güvenlik duvarı işareti" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Yazılım tabanlı boşaltma, yönlendirme/NAT için" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "Bu bölgede giden trafik için ağ adresi ve bağlantı noktası çevirisini " +#~ "(NAT veya NAPT) etkinleştir. Bu genellikle wan bölgesinde " +#~ "etkinleştirilir." + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Yönlendirilen IPv4 %{proto?, protocol %{proto#%{next?, }%{item.name}" +#~ "}}%{mark?, işaretle %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Gelen IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}Türlerle ICMP %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, yardımcı %{helper.inv?%{helper." +#~ "val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/uk/firewall.po b/luci-app-firewall/po/uk/firewall.po new file mode 100644 index 000000000..fd83e1770 --- /dev/null +++ b/luci-app-firewall/po/uk/firewall.po @@ -0,0 +1,1631 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"PO-Revision-Date: 2024-10-17 17:10+0000\n" +"Last-Translator: Andrew \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\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 5.8-rc\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Переспрямовування:Вхідний}:Вихідний} %{ipv6?%{ipv4?IPv4 та IPv6:IPv6}:IPv4}%{proto?, протокол " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP із типами %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, позначка " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}}}%{helper?, помічник %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- додати IP-адресу --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- додати MAC-адресу --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Приймати %{src?%{dest?переспрямований:" +"вхідний}:вихідний} трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Запобігати перезапису джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Переспрямовувати на %{dest}%{dest_ip? IP-" +"адресу %{dest_ip}}%{dest_port? порт %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Відхиляти %{src?%{dest?переспрямований:" +"вхідний}:вихідний} трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Призначити DSCP класифікатор " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Призначити помічника відслідковування " +"з'єднань %{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Призначити мітку:XOR мітки} " +"брандмауера %{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" +"Автоматично перезаписувати IP-адресу " +"джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Не відслідковувати %{src?%{dest?" +"переспрямований:вхідний}:вихідний} трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Відхиляти %{src?%{dest?переспрямований:" +"вхідний}:вихідний} трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Статично перезаписувати %{snat_ip?IP-адресу " +"джерела на %{snat_ip}} %{snat_port?порт джерела на " +"%{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Потрібно вказати IP-адресу для перезапису!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT — Вимкнути перезапис адреси" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Дія" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Додаткові аргументи raw iptables для класифікації трафіку " +"призначення зони, наприклад, -p tcp --dport 443, щоб зіставляти " +"лише вихідний трафік HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Додаткові аргументи raw iptables для класифікації трафіку джерела " +"зони, наприклад, -p tcp --sport 443, щоб зіставляти лише " +"вхідний трафік HTTPS." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Розширені налаштування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Дозволити \"неправильний\" трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Дозволити переспрямовування від зон джерела:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Дозволити переспрямовування до зон призначення:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Будь-який" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Будь-який день" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Застосувати побітове XOR заданого та наявного значень мітки для вже " +"встановлених з'єднань. Формат — значення[/маска]. Якщо маску вказано, то " +"біти, встановлені в масці, обнуляються." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Застосувати заданий клас або значення DSCP до встановлених з'єднань." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" +"Призначити вказаного помічника відслідковування з'єднань для відповідного " +"трафіку." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Автоматичне призначення помічника" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Автоматично призначати помічників відслідковування з'єднань (Conntrack) на підставі протоколу та " +"порту трафіку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" +"Параметри відслідковування з'єднань (Conntrack)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" +"Помічники відслідковування з'єднань (Conntrack)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Вміст збережено." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Продовжити" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Охоплені пристрої" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Охоплені мережі" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Охоплені підмережі" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Настроювані правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Настроювані правила дозволяють виконувати довільні команди iptables, які в іншому випадку не охоплено в межах брандмауера. Команди " +"виконуються після кожного перезавантаження брандмауера, відразу після " +"завантаження типового набору правил." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "класифікація DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Позначка DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Потрібна позначка DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Адреса призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Порт призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Зона призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Назва пристрою" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Не встановлювати додаткові правила для відхилення переспрямованого трафіку " +"зі станом відслідковування з'єднань invalid. Це може знадобитися " +"для складних налаштувань асиметричного маршруту." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Відхиляти помилкові пакети" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Увімкнути" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Увімкнути NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Увімкнути захист від SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Увімкнути реєстрування у цій зоні" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Увімкнено" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Очікується: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"В явному вигляді дозволені помічники відслідковування з'єднань для трафіку " +"зони" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Зовнішня IP-адреса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "Зовнішній порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Додаткові аргументи" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Додаткові аргументи для призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Додаткові аргументи iptables" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Додаткові аргументи для джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Брандмауер" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Брандмауер — Настроювані правила" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Брандмауер — Правила NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Брандмауер — Переспрямовування портів" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Брандмауер — Правила трафіку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Брандмауер — Параметри зон" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Переміщення конфігурації брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Переспрямовування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "П'ятниця" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Із %{src}%{src_device?, інтерфейс %{src_device}}%{src_ip?, IP-" +"адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Із %{src}%{src_device?, інтерфейс %{src_device}}%{src_ip?, IP-" +"адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адреса " +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Із %{src}%{src_ip?, IP-адреса %{src_ip#%{next?, }%{item.ival}}}%{src_port?, порт %{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC-адреса %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Загальні налаштування" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Надати доступ до конфігурування брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Апаратні засоби розвантаження потоку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 та IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Лише IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Лише IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Вхідний пристрій" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Вхідний трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Внутрішня IP-адреса" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Внутрішній порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Внутрішня зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Неприпустима позначка DHCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Неприпустиме значення обмеження" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Обмеження блоку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Обмеження повідомлень журналу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Обмеження зіставляння" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Обмеження зіставляння до %{limit.num} пакетів на %{limit." +"unit}%{limit.burst? блок %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Увімкнено обмежене маскування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Обмеження зіставляння трафіку із вказаною швидкістю." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "IP-адреса джерела зворотної петлі" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" +"MASQUERADE - Автоматично переписувати на IP-адресу вихідного інтерфейсу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "Обмежування MSS" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Підміна" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Зіставляти" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Зіставляти DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Зіставляти ICMP типу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Зіставляти пристрою" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" +"Зіставляння переспрямованого трафіку, спрямованого на вказану IP-адресу." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Зіставляння переспрямованого трафіку, спрямованого на вказаний порт " +"призначення або діапазон портів." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Зіставляння переспрямованого трафіку від цієї IP-адреси або діапазону." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Зіставляння переспрямованого трафіку, що походить із заданого порту джерела " +"або діапазону портів." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Зіставляти помічнику" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Зіставляти вхідний трафік, спрямований на заданий порт призначення або " +"діапазон портів цього вузла" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Зіставляти позначці" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" +"Зіставляти трафік за допомогою вказаного помічника відслідковування з'єднань." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" +"Зіставляти вказаній позначці брандмауера або діапазону різних позначок." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" +"Зіставляння переспрямованого трафіку за допомогою вказаного вихідного " +"мережевого пристрою." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Зіставляти трафік із вказаною позначкою DSCP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Максимальна початкова кількість пакетів, що зіставляються: це число " +"збільшується на одиницю щоразу, коли вказане вище обмеження не досягнуто, аж " +"до цього числа." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Понеділок" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Дні місяця" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Правила NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Правила NAT дозволяють тонко контролювати IP-адресу джерела, що " +"використовується для вихідного чи переспрямованого трафіку." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Назва" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Не повністю сумісно з QoS / SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Зіставляти тільки вхідний трафік, спрямований на вказану IP-адресу." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Зіставляти тільки вхідний трафік від цих MAC-адрес." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Зіставляти тільки вхідний трафік від цього IP чи діапазону." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Зіставляти тільки вхідний трафік, що виникає на заданому порту джерела або " +"діапазоні портів вузла клієнта" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Вихідний пристрій" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Вихідна зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Вихідний трафік" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" +"Передавання додаткових аргументів для IPTables. Використовуйте з обережністю!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Передавання аргументів raw iptables до правил класифікації вихідного трафіку " +"та трафіку призначення дозволяє зіставляти пакети на підставі інших " +"критеріїв, ніж інтерфейси чи підмережі. Ці параметри слід використовувати з " +"особливою обережністю, оскільки невірні значення можуть призвести до " +"порушення набору правил брандмауера, повністю відкриваючи всі служби." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Переспрямовування портів" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Переспрямовування портів дозволяє віддаленим комп'ютерам з Інтернету " +"підключатися до певного комп'ютера або служби у приватній мережі." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" +"Переспрямувати відповідний вхідний трафік на заданий порт внутрішнього вузла" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Переспрямувати відповідний вхідний трафік на заданий внутрішній вузол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Необхідна апаратна підтримка NAT." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Обмежити підміну заданими підмережами призначення" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Обмежити підміну заданими підмережами джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Обмежити сімейство протоколів" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "IP-адреса для перезапису" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Перезаписати відповідний трафік на вказану IP-адресу джерела." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" +"Перезаписати відповідний трафік на вказаний порт джерела або діапазон портів." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Порт для перезапису" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Розвантаження маршрутизації/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Перезаписати на вказану IP-адресу джерела або порт" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Субота" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Установити позначку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Встановіть задане значення позначки для встановлених з'єднаннях. Формат — " +"значення[/маска]. Якщо вказано маску, то змінюються лише ті біти, які " +"встановлені в масці." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Програмне розвантаження потоку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "IP-адреса джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "MAC-адреса джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Адреса джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Порт джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Зона джерела" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Визначає, чи слід прив'язувати це правило трафіку до певного вхідного або " +"вихідного мережевого пристрою." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Визначає, чи використовувати зовнішню або внутрішню IP-адресу для відбитого " +"трафіку." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Дата початку (рррр-мм-дд)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Час початку (гг:хх:сс)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Дата зупинки (рррр-мм-дд)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Час зупинки (гг:хх:сс)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Неділя" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Для належного функціонування LuCI потрібно змінити існуючу конфігурацію " +"брандмауера." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"Брандмауер створює зони поверх ваших мережевих інтерфейсів для управління " +"потоком мережевого трафіку." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Опції, наведені нижче, керують політиками переспрямовування між цією (%s) та " +"іншими зонами. Зони призначення покриваються переспрямованим " +"трафіком, що виходить з %q. Зони джерела " +"покриваються трафіком з інших зон, переспрямованим на %q. " +"Правило переспрямовування є односпрямованим, тобто, спрямовування " +"від LAN до WAN не означає, що є також дозвіл спрямовувати від WAN " +"до LAN." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Цей розділ визначає загальні властивості %q. Параметри вхідний і " +"вихідний задають типову політику для трафіку на вході й виході з " +"цієї зони, а параметр переспрямовування описує політику " +"спрямовування трафіку між різними мережами в межах зони. Пункт Покриті " +"мережі визначає, які доступні мережі є членами цієї зони." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Четвер" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Часові обмеження" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Час в UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Для цього правила ввімкнено обмеження часу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Часове обмеження" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"До %{dest}%{dest_device?, інтерфейс %{dest_device}}%{dest_ip?, IP-" +"адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"До %{dest}%{dest_device?, через інтерфейс %{dest_device}}%{dest_ip?, IP-адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"До %{dest}%{dest_ip?, IP-адреса %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, порт %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Помічник відслідковування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Правила трафіку" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Правила трафіку визначають політику для пакетів, що пересилаються між " +"різними зонами, наприклад, відхиляти трафік між певними вузлами або відкрити " +"порти WAN на маршрутизаторі." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Вівторок" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Не вдалося зберегти вміст: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" +"Невідомий або не інстальований помічник відслідковування з'єднань \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT без назви" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Переспрямовування без назви" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Правило без назви" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Зона без назви" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Нерозпізнаний протокол" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Після натискання кнопки \"Продовжити\" розділи \"redirect\" з цільовою " +"\"SNAT\" буде перетворено на розділи \"nat\", і брандмауер буде перезапущено " +"для застосування оновленої конфігурації." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Використовувати зовнішню IP-адресу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Використовувати внутрішню IP-адресу" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Використовуйте цей параметр для класифікації трафіку зон за мережевими " +"пристроями raw, які не управляються через uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Використовуйте цей параметр для класифікації трафіку зон за підмережею " +"джерела чи призначення замість мереж або пристроїв." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Потрібна дійсна позначка брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Середа" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Дні тижня" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "XOR позначки брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "XOR позначки" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Зона ⇒ Переспрямовування" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Зони" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "приймати" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "будь-який" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "будь-якої зони" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "застосувати позначку брандмауера" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "призначити помічника відслідковування з'єднань" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "день" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "не переписувати" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "не відстежувати" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "опускати" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "година" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "хвилина" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "відхиляти" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "секунду" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "цього пристрою" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "ця нова зона" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "необмежено" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "невизначено" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "дійсна позначка брандмауера" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Програмне розвантаження для маршрутизації/NAT" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "Переспрямовування IPv4%{proto?, протокол %{proto#%{next?, }%{item." +#~ "name}}}%{mark?, позначка %{mark.val}}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "Вхідний IPv4%{proto?, протокол %{proto#%{next?, }%{item.types?%{item.name}ICMP із типами %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, позначка %{mark.val}}%{helper?, помічник %{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/ur/firewall.po b/luci-app-firewall/po/ur/firewall.po new file mode 100644 index 000000000..96451deb5 --- /dev/null +++ b/luci-app-firewall/po/ur/firewall.po @@ -0,0 +1,1430 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2021-01-07 17:03+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ur\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.4.1-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/vi/firewall.po b/luci-app-firewall/po/vi/firewall.po new file mode 100644 index 000000000..58c63f472 --- /dev/null +++ b/luci-app-firewall/po/vi/firewall.po @@ -0,0 +1,1594 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-07-13 20:44+0000\n" +"Last-Translator: phannhanhn201 \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?Được chuyển tiếp:Đến}:Ra} %{ipv6?%{ipv4?IPv4 và " +"IPv6:IPv6}:IPv4}%{proto?, giao thức " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP với các loại %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp.val}:%{dscp.val}" +"}}%{helper?, helper %{helper.inv?%{helper.val}:" +"%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- thêm IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- thêm MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"Chấp nhận %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "Ngăn chặn viết lại nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"Chuyển hướng to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? cổng%{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"Bỏ %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"Gắn DSCP phân loại %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"Gán conntrack trợ giúp%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Gán:XOR} đánh dấu trường " +"lửa%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "Tự động viết lại IP nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"Không theo dõi %{src?%{dest?forward:" +"input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"Từ chối %{src?%{dest?tiến về:đầu vào}:đầu " +"ra}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"Viết lại tĩnh thành nguồn %{snat_ip?IP " +"%{snat_ip}} %{snat_port?cổng %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "Phải chỉ định địa chỉ IP viết lại!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "ACCEPT - Vô hiệu hóa viết lại địa chỉ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "Hành động" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"Các đối số thô iptables bổ sung để phân loại lưu lượng đích vùng, " +"ví dụ: -p tcp --dport 443 để chỉ khớp lưu lượng HTTPS đi ra." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"Các đối số thô iptables bổ sung để phân loại lưu lượng nguồn vùng, " +"ví dụ: -p tcp --sport 443 để chỉ khớp lưu lượng HTTPS đến." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "Họ địa chỉ, địa chỉ IP nội bộ phải khớp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "Họ địa chỉ, địa chỉ nguồn, địa chỉ đích, địa chỉ IP viết lại phải khớp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "Cài đặt Nâng cao" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "Cho phép lưu lượng \"không hợp lệ\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "Cho phép tiến về từ vùng nguồn:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "Cho phép tiến về đến vùng đích:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "Bất kỳ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "Bất kỳ ngày nào" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"Áp dụng phép XOR bit cho giá trị đã cho và giá trị đánh dấu hiện có trên các " +"kết nối đã thiết lập. Định dạng là value[/mask]. Nếu có mặt nạ được chỉ " +"định, thì các bit được thiết lập trong mặt nạ sẽ bị gán giá trị 0." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "Áp dụng lớp hoặc giá trị DSCP đã cho cho các kết nối đã thiết lập." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "Gán trình theo dõi kết nối đã chỉ định cho lưu lượng khớp." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "Gán tự động trình theo dõi kết nối" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" +"Tự động gán trình theo dõi kết nối dựa trên giao thức và cổng lưu lượng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "Bình luận" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Cài đặt Conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Trình theo dõi kết nối" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "Nội dung đã được lưu." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "Tiếp tục" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "Bộ đếm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "Thiết bị được bao phủ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "Mạng được bao phủ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "Mạng con được bao phủ" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "Quy tắc Tùy chỉnh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"Quy tắc tùy chỉnh cho phép bạn thực thi các lệnh iptables tùy ý mà không " +"được bao phủ bởi khung tường lửa. Các lệnh được thực thi sau mỗi lần khởi " +"động lại tường lửa, ngay sau khi tập luật mặc định đã được tải." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "Phân loại DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "Đánh dấu DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "Đánh dấu DSCP bắt buộc" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "Địa chỉ đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "Cổng đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "Vùng điểm đến" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "Tên thiết bị" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"Không cài đặt các quy tắc bổ sung để từ chối giao thông chuyển tiếp có trạng " +"thái conntrack invalid. Điều này có thể cần thiết cho các thiết lập " +"tuyến đường không đối xứng phức tạp." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "Bỏ qua nhưng gói không hợp lý" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "Bật lên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "Bật NAT Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "Kích hoạt bảo vệ SYN-flood" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "Bật ghi nhật ký trên vùng này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"Bật chuyển đổi địa chỉ mạng và cổng IPv4 (NAT4 hoặc NAPT4) cho giao thông ra " +"ngoài trên vùng này. Thông thường, điều này được kích hoạt trên vùng " +"wan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" +"Bật chuyển đổi địa chỉ mạng và cổng IPv6 (NAT6 hoặc NAPT6) cho giao thông ra " +"ngoài trên vùng này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "Kích Hoạt" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "Bật theo dõi số gói tin và số byte cho bộ sưu tập." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "Đang chờ: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" +"Chọn rõ ràng các trình hỗ trợ theo dõi kết nối được phép cho giao thông vùng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "Địa chỉ IP bên ngoài" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "External port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "Các tham số bổ sung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "Các tham số đích bổ sung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "Các tham số iptables bổ sung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "Các tham số nguồn bổ sung" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "Gia đình" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "Firewall" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "Tường lửa - Quy tắc Tùy chỉnh" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "Tường lửa - Bộ IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "Tường lửa - Quy tắc NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "Tường lửa - Chuyển tiếp Cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "Tường lửa - Quy tắc Giao thông" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "Tường lửa - Cài đặt Vùng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "Di cư cấu hình tường lửa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "Forward" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Chuyển tiếp %{ipv6?%{ipv4?IPv4IPv6:IPv6}:IPv4}%{proto?, giao thức %{proto#%{next?, }%{item.name}" +"}}%{mark?, đánh dấu %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "Thứ 6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"Từ %{src}%{src_device?, giao diện %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, cổng %{src_port#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"Từ %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"Từ %{src}%{src_ip?, Địa chỉ IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, cổng %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "Các cài đặt chung" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "Cấp quyền truy cập vào cấu hình tường lửa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "Xả luồng phần cứng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (phạm vi)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "Các bộ IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP/Mạng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP/Mạng/MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 và IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "Chỉ IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "Chỉ IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "Thiết bị đầu vào" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "Bao gồm Tệp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Đầu vào %{ipv6?%{ipv4?IPv4IPv6:IPv6}:" +"IPv4}%{proto?, giao thức %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"với các loại %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, đánh dấu %{mark.val}}%{helper?, trợ giúp " +"%{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "Kích thước băm Ban đầu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "Input" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "Địa chỉ IP nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "Cổng nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "Vùng nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "Đánh dấu DSCP không hợp lệ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "Giá trị giới hạn không hợp lệ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "Tên thiết lập không hợp lệ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "Số lượng tắt đột ngột" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "Giới hạn tin nhắn nhật ký" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "Khớp giới hạn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"Giới hạn khớp %{limit.num} gói tin mỗi %{limit.unit}%{limit.burst? với cú pháp %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "Bật masquerading có giới hạn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "Giới hạn khớp lưu lượng với tốc độ được chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "Địa chỉ IP nguồn Loopback" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - Tự động viết lại thành địa chỉ IP giao diện ra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS Clamping" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "Masquerading" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "Khớp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "Khớp DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "Khớp loại ICMP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "Khớp thiết bị" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "Khớp lưu lượng chuyển tiếp được chỉ định đến địa chỉ IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" +"Khớp lưu lượng chuyển tiếp được chỉ định đến cổng đích hoặc khoảng cổng." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "Khớp lưu lượng chuyển tiếp từ địa chỉ IP này hoặc khoảng IP." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" +"Khớp lưu lượng chuyển tiếp xuất phát từ cổng nguồn hoặc khoảng cổng được chỉ " +"định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "Khớp trợ giúp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" +"Khớp lưu lượng đến đích được chỉ định đến cổng đích hoặc khoảng cổng trên " +"máy chủ này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "Khớp nhãn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "Khớp lưu lượng sử dụng trình hỗ trợ theo dõi kết nối đã chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "Khớp nhãn tường lửa cụ thể hoặc một dải nhãn khác nhau." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "Khớp lưu lượng chuyển tiếp sử dụng thiết bị mạng đầu cuối đã chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "Khớp lưu lượng mang nhãn DSCP đã chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "Số lượng tối đa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "Độ dài tối đa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"Số lượng gói ban đầu tối đa để khớp: số này sẽ được nạp lại một lần mỗi khi " +"không đạt đến giới hạn được chỉ định ở trên, lên tới số này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "Thứ 2" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "Tháng Ngày" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "Quy tắc NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" +"Các quy tắc NAT cho phép kiểm soát chi tiết địa chỉ IP nguồn được sử dụng " +"cho lưu lượng đi ra hoặc chuyển tiếp." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "Tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "Netmask" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "Không hoàn toàn tương thích với QoS/SQM." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "Chỉ khớp lưu lượng đến địa chỉ IP cụ thể." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "Chỉ khớp lưu lượng đến từ các địa chỉ MAC này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "Chỉ khớp lưu lượng đến từ địa chỉ IP hoặc dải cụ thể này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" +"Chỉ khớp lưu lượng đến từ cổng nguồn hoặc dải cổng cụ thể trên máy khách" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "Thiết bị đầu cuối ra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "Vùng đầu cuối ra" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "Output" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "Khớp trường gói tin" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"Các trường gói tin để khớp.
Cú pháp: hướng_loạitruong. Ví dụ: " +"src_port, dest_net.
Hướng: src, dst. Loại dữ " +"liệu: ip, port, mac, net, set.
Tiền tố hướng là tùy chọn." +"
*Ghi chú: loại dữ liệu set không được hỗ trợ trong fw4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "Truyền các đối số bổ sung cho iptables. Sử dụng cẩn thận!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"Việc truyền các đối số iptables nguyên thủy vào các quy tắc phân loại lưu " +"lượng nguồn và đích cho phép khớp các gói dựa trên các tiêu chí khác với " +"giao diện hoặc mạng con. Các tùy chọn này nên được sử dụng cẩn thận vì các " +"giá trị không hợp lệ có thể làm hỏng tập luật tường lửa, hoàn toàn tiết lộ " +"tất cả các dịch vụ." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "Đường dẫn đến tệp chứa CIDR, mạng con, IP máy chủ, v.v.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "Chuyển tiếp cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" +"Chuyển tiếp cổng cho phép các máy tính từ xa trên Internet kết nối tới một " +"máy tính cụ thể hoặc dịch vụ trong mạng LAN riêng." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "Dải cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "Giao thức" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "Chuyển hướng lưu lượng đến cổng được chỉ định trên máy chủ nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "Chuyển hướng lưu lượng đến máy chủ nội bộ được chỉ định" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "Tham chiếu tới tập hợp ngoại vi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "Yêu cầu hỗ trợ NAT phần cứng." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "Hạn chế Masquerading cho các mạng con đích được chỉ định" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "Hạn chế Masquerading cho các mạng con nguồn được chỉ định" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "Giới hạn địa chỉ gia đình" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "Ghi đè địa chỉ IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "Ghi đè lưu lượng khớp với địa chỉ IP nguồn được chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "Ghi đè lưu lượng khớp với cổng nguồn hoặc dải cổng được chỉ định." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "Ghi đè cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "Bật tính năng Offloading cho định tuyến/NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - Ghi đè lên địa chỉ IP hoặc cổng nguồn cụ thể" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "Thứ 7" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "Đặt đánh dấu" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"Đặt giá trị đánh dấu được chỉ định cho các kết nối đã thiết lập. Định dạng " +"là value[/mask]. Nếu có chỉ định mặt nạ, chỉ những bit được đặt trong mặt nạ " +"mới được thay đổi." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "Xả luồng dựa trên phần mềm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "Đỉa chỉ MAC nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "Địa chỉ MAC nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "Đỉa chỉ nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "Source port" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "Source zone" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" +"Xác định xem có liên kết luật lưu lượng này với thiết bị mạng đầu vào hoặc " +"đầu ra cụ thể hay không." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" +"Xác định xem có sử dụng địa chỉ IP ngoại vi hoặc nội bộ cho lưu lượng phản " +"chiếu hay không." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "Ngày bắt đầu (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "Thời gian bắt đầu (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "Ngày kết thúc (yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "Thời gian kết thúc (hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "Phương pháp lưu trữ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "Chủ Nhật" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" +"Cấu hình tường lửa hiện có cần được thay đổi để LuCI hoạt động đúng cách." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" +"The firewall tạo zones trên giao diện mạng lưới để điều triển sự dòng lưu " +"thông của mạng." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"Các tùy chọn dưới đây kiểm soát chính sách chuyển tiếp giữa vùng này (%s) và " +"các vùng khác. Vùng đích áp dụng cho lưu lượng được chuyển tiếp " +"xuất phát từ %q. Vùng nguồn khớp lưu lượng được " +"chuyển tiếp từ các vùng khác đích đến %q. Quy tắc chuyển " +"tiếp là một chiều, ví dụ: một chuyển tiếp từ lan đến wan không bao gồm quyền chuyển tiếp từ wan đến lan." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"Phần này xác định các thuộc tính chung của %q. Các tùy chọn input " +"và output đặt chính sách mặc định cho lưu lượng nhập và xuất khỏi " +"vùng này trong khi tùy chọn forward mô tả chính sách cho lưu lượng " +"chuyển tiếp giữa các mạng khác nhau trong vùng. Mạng bao gồm chỉ " +"định các mạng có sẵn là thành viên của vùng này." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "Thứ 5" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "Hạn chế Thời gian" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "Thời gian theo UTC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "Hạn chế thời gian được bật cho quy tắc này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "Quá thời gian" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}
}}" +msgstr "" +"Đến %{dest}%{dest_device?, giao diện %{dest_device}}%{dest_ip?, " +"IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, cổng %{dest_port#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Đến %{dest}%{dest_device?, qua giao diện %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, cổng " +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"Đến %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, cổng %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "Bộ trợ giúp theo dõi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "Quy tắc Lưu lượng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"Quy tắc giao thông xác định các chính sách cho các gói tin đi giữa các vùng " +"khác nhau, ví dụ như từ chối giao thông giữa các máy chủ nhất định hoặc mở " +"cổng WAN trên bộ định tuyến." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "Thứ 3" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "Không thể lưu nội dung: %s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"Đơn vị: giây. Mặc định 0 có nghĩa là mục được thêm vào bộ vĩnh " +"viễn.
Tối đa: 2147483 giây." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "Trợ giúp conntrack không xác định hoặc chưa cài đặt \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "NAT không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "Chuyển tiếp không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "Quy tắc không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "Bộ không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "Vùng không có tên" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "Giao thức không được nhận dạng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"Khi nhấn \"Tiếp tục\", các phần \"chuyển hướng\" với mục tiêu \"SNAT\" sẽ " +"được chuyển đổi thành các phần \"nat\" và tường lửa sẽ được khởi động lại để " +"áp dụng cấu hình đã cập nhật." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "Sử dụng địa chỉ IP bên ngoài" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "Sử dụng địa chỉ IP nội bộ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "Sử dụng ipset" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" +"Sử dụng tùy chọn này để phân loại lưu lượng vùng theo thiết bị mạng thô, " +"không được quản lý bởi uci." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" +"Sử dụng tùy chọn này để phân loại lưu lượng vùng theo mạng con nguồn hoặc " +"đích thay vì mạng hoặc thiết bị." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "Yêu cầu dấu tường lửa hợp lệ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "Thứ 4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "Ngày trong tuần" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "Dấu tường lửa XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "Dấu XOR" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "Thiết bị của bạn không chạy firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "Thiết bị của bạn chạy firewall4." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "Vùng ⇒ Chuyển tiếp" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "Các vùng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "chấp nhận" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "Bất kì" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "bất kỳ vùng nào" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "bất kỳ/tất cả" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "áp dụng dấu tường lửa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "gán trợ giúp conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "Tự động hóa" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bản đồ bit" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bản đồ bit chỉ dành cho ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "ngày" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: IP đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: Địa chỉ MAC đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: Mạng (con) đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: Cổng đích" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "*dest_set: ipset đích*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "không viết lại" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "không theo dõi" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "drop" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 hỗ trợ tham chiếu và tạo các bộ IP để đơn giản hóa việc khớp các " +"danh sách địa chỉ lớn mà không cần tạo một quy tắc cho mỗi mục để khớp. Phạm " +"vi cổng trong ipsets không được hỗ trợ bởi firewall4.
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "từ cổng đến cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "băm" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "giờ" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: Địa chỉ IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" +"ip[/cidr]
Để sử dụng với các kiểu dữ liệu Khớp: *_ip." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "danh sách" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: Địa chỉ MAC" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "*macaddr|ip[/cidr]*
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "*phút*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (sub)net" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: Cổng" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "Không chấp nhận" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "giây" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ipset*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: ipset nguồn*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: IP nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: Địa chỉ MAC nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: Mạng (con) nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: Cổng nguồn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "thiết bị này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "vùng mới này" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "không giới hạn" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "không xác định" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "lên đến 65536 mục." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "dấu tường lửa hợp lệ" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "Bật tính năng Offloading dựa trên phần mềm cho định tuyến/NAT" diff --git a/luci-app-firewall/po/yua/firewall.po b/luci-app-firewall/po/yua/firewall.po new file mode 100644 index 000000000..1dc338868 --- /dev/null +++ b/luci-app-firewall/po/yua/firewall.po @@ -0,0 +1,1430 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-30 17:00+0200\n" +"PO-Revision-Date: 2024-08-26 11:25+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: yua\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 5.7.1-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "" diff --git a/luci-app-firewall/po/zh_Hans/firewall.po b/luci-app-firewall/po/zh_Hans/firewall.po new file mode 100644 index 000000000..f7b5a5cb3 --- /dev/null +++ b/luci-app-firewall/po/zh_Hans/firewall.po @@ -0,0 +1,1583 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"PO-Revision-Date: 2024-10-26 14:12+0000\n" +"Last-Translator: try496 \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.8.2-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?转发:入站}:出站} %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:IPv4}%{proto?, 协议 " +"%{proto#%{next?, }%{item.types?%{item." +"name}具有类型 %{item.types#%{next?, }%{item}" +"} 的 ICMP:%{item.name}}}}%{mark?, 标记 " +"%{mark.val}}%{dscp?, DSCP %{dscp.inv?%{dscp." +"val}:%{dscp.val}}}%{helper?, 助手 %{helper.inv?%{helper.val}" +":%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- 添加 IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- 添加 MAC --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "接受 %{src?%{dest?转发:入站}:出站}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "防止重写源" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"转发 至 %{dest}%{dest_ip? IP %{dest_ip}" +"}%{dest_port? 端口 %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "丢弃 %{src?%{dest?转发:入站}:出站}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "分配 DSCP 分类 %{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"分配 conntrack 助手 %{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?分配:异或} 防火墙标记 " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "自动重写 源 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"不跟踪 %{src?%{dest?转发:入站}:出站}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "拒绝 %{src?%{dest?转发:入站}:出站}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"静态重写 到源 %{snat_ip?IP %{snat_ip}} %{snat_port?端口 %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +msgid "A rewrite IP must be specified!" +msgstr "必须指定重写 IP!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +msgid "ACCEPT - Disable address rewriting" +msgstr "接受 - 禁用地址重写" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +msgid "Action" +msgstr "操作" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"用于对区域目标流量进行分类的额外 iptables 参数。如:-p tcp --" +"dport 443 表示仅匹配出站 HTTPS 流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"用于对区域源流量进行分类的额外 iptables 参数。如:-p tcp --" +"sport 443 表示仅匹配入站 HTTPS 流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "地址族、内部 IP 族必须相匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "地址族、源地址、目标地址、重写 IP 地址必须相匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +msgid "Advanced Settings" +msgstr "高级设置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "允许“无效”流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "允许来自源区域的转发:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "允许转发到目标区域:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "任何" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +msgid "Any day" +msgstr "每天" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"在已建立的连接上对给定值和现有标记值进行按位异或。格式为 值[/掩码]。如果指定" +"了掩码,则掩码中设置的位将归零。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "将给定的 DSCP 类或值应用于已建立的连接。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "将指定的连接跟踪助手分配给匹配的流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "自动助手分配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "根据流量协议和端口自动分配连接跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +msgid "Comment" +msgstr "注释" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "连接跟踪设置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "连接跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "内容已保存。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "继续" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Counters" +msgstr "计数器" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "涵盖的设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "涵盖的网络" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "涵盖的子网" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "自定义规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"自定义规则允许您执行不属于防火墙框架的任意 iptables 命令。每次重启防火墙时," +"这些命令在默认的规则运行后立即执行。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +msgid "DSCP classification" +msgstr "DSCP 类别" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP 标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "需要 DSCP 标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Destination address" +msgstr "目标地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "Destination port" +msgstr "目标端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +msgid "Destination zone" +msgstr "目标区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "Device name" +msgstr "设备名" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"不安装额外的规则以拒绝连接跟踪状态为无效的转发流量。对复杂的非对称路" +"由这可能是必需的设置。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "丢弃无效数据包" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +msgid "Enable" +msgstr "启用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +msgid "Enable NAT Loopback" +msgstr "启用 NAT 环回" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "启用 SYN-flood 防御" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "启用此区域的日志记录" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"为此区域的出站流量开启网络地址和端口转换 IPv4 (NAT4 或 NAPT4)。 wan区域通常开启此功能。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "为此区域出站流量开启网络地址和端口转换 IPv6 (NAT6 或 NAPT6)。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +msgid "Enabled" +msgstr "已启用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +msgid "Enables packet and byte count tracking for the set." +msgstr "为该集合开启数据包和字节计数追踪。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "请输入:%s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "为区域流量明确选择允许的连接跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "External IP address" +msgstr "外部 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "External port" +msgstr "外部端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Extra arguments" +msgstr "额外参数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "额外的目标参数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "额外的 iptables 参数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "额外的源参数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "Family" +msgstr "族" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "防火墙" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "防火墙 - 自定义规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "防火墙 - IP 集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "防火墙 - NAT 规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "防火墙 - 端口转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "防火墙 - 通信规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "防火墙 - 区域设置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "防火墙配置迁移" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "流量卸载类型" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Friday" +msgstr "星期五" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"来自 %{src}%{src_device?, 接口 %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 %{src_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"来自 %{src}%{src_device?, 接口 %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"来自 %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, 端口 " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +msgid "General Settings" +msgstr "常规设置" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "授予访问防火墙配置的权限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "基于硬件的路由卸载,支持或不支持NAT。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "硬件流量卸载" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "IP (range)" +msgstr "IP (范围)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP 集" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "IPs/Networks" +msgstr "IP/网络" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "IPs/Networks/MACs" +msgstr "IP/网络/MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +msgid "IPv4 and IPv6" +msgstr "IPv4 和 IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +msgid "IPv4 only" +msgstr "仅 IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "IPv6 伪装" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +msgid "IPv6 only" +msgstr "仅 IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +msgid "Inbound device" +msgstr "入站设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Include File" +msgstr "包括文件" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +msgid "Initial Hash Size" +msgstr "初始哈希大小" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "入站数据" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Internal IP address" +msgstr "内部 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "Internal port" +msgstr "内部端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +msgid "Internal zone" +msgstr "内部区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "区域内转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "无效的 DSCP 标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "无效的限制值" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +msgid "Invalid set name" +msgstr "无效的集合名" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "限制突发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "限制日志信息" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "限制匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"限制匹配到 %{limit.num} 包每 %{limit.unit}%{limit." +"burst? 突发 %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "已启用有限伪装" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "将流量匹配限制为指定的速率。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "Loopback source IP" +msgstr "环回源 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE - 自动重写源地址为出站接口 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS 钳制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "IP 动态伪装" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +msgid "Match" +msgstr "匹配规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "匹配 DSCP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +msgid "Match ICMP type" +msgstr "匹配 ICMP 类型" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +msgid "Match device" +msgstr "匹配设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "匹配指向给定 IP 地址的转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "匹配指向给定目标端口或端口范围的转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +msgid "Match forwarded traffic from this IP or range." +msgstr "匹配来自此 IP 或范围的转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "匹配来自给定源端口或端口范围的转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match helper" +msgstr "匹配助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "匹配标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +msgid "Match traffic using the specified connection tracking helper." +msgstr "使用指定的连接跟踪助手匹配流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "匹配特定的防火墙标记或防火墙标记范围。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "匹配使用指定的出站网络设备转发的流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "匹配带有指定 DSCP 标记的流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +msgid "Max Entries" +msgstr "最大条目数" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "Max Length" +msgstr "最大长度" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "要匹配的最大初始数据包数:未达到上述指定限制时,每次加一直到达到此数。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Monday" +msgstr "星期一" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +msgid "Month Days" +msgstr "日期" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT 规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "NAT 规则允许对源 IP 进行精细控制,以用于出站或转发流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +msgid "Name" +msgstr "名称" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +msgid "Netmask" +msgstr "网络掩码" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "无" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "与 QoS/SQM 不完全兼容。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "仅匹配指定目的 IP 地址的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +msgid "Only match incoming traffic from these MACs." +msgstr "仅匹配来自这些 MAC 的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +msgid "Only match incoming traffic from this IP or range." +msgstr "仅匹配来自此 IP 或 IP 范围的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "仅匹配源自客户端主机上给定源端口或源端口范围的入站流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Outbound device" +msgstr "出站设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +msgid "Outbound zone" +msgstr "出站区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "出站数据" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "Packet Field Match" +msgstr "数据包字段匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"要进行匹配的数据包字段。
语法:direction_datatype。如:" +"src_port, dest_net
方向:src, dst。数据类" +"型:ip, port, mac, net, set
方向前缀可选。
*注意:" +"datatypeset在 fw4 中不受支持。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "传递到 iptables 的额外参数。小心使用!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"通过将 iptables 参数传递给源和目标流量的分类规则,可以根据接口或子网以外的其" +"他条件来匹配数据包。使用这些选项应格外小心,因为无效值可能会破坏防火墙规则集" +"而对外暴露所有服务。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "CIDRs、subnets、host IP 等文件的路径。
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "端口转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "端口转发允许互联网上的远程计算机连接到内部网络中的特定计算机或服务。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "Port range" +msgstr "端口范围" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +msgid "Protocol" +msgstr "协议" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "重定向匹配的入站流量到内部主机的端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "重定向匹配的入站流量到指定的内部主机" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +msgid "Refer To External Set" +msgstr "参考外部集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "Reflection zones" +msgstr "反射区" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "需要硬件 NAT 支持。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "要限制 IP 动态伪装的目标子网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "要限制 IP 动态伪装的源子网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +msgid "Restrict to address family" +msgstr "地址族限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite IP address" +msgstr "重写 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "将匹配的流量重写到指定的源 IP 地址。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "将匹配的流量重写到指定的源端口或端口范围。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite port" +msgstr "重写端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "路由/NAT 卸载" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - 重写为特定的源 IP 或端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +msgid "Saturday" +msgstr "星期六" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "设置标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"在已建立的连接上设置给定的标记值。格式为:值[/掩码]。如果指定了掩码,则仅修改" +"掩码中设置的位。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "基于软件的路由/NAT卸载。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "软件流量卸载" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Source IP address" +msgstr "源 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +msgid "Source MAC address" +msgstr "源 MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Source address" +msgstr "源地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "Source port" +msgstr "源端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +msgid "Source zone" +msgstr "源区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "指定是否将此流量规则绑定到特定的入站或出站网络设备。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "指定反射流量使用外部或内部 IP 地址。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +msgid "Start Date (yyyy-mm-dd)" +msgstr "开始日期(yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +msgid "Start Time (hh:mm:ss)" +msgstr "开始时间(hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "停止日期(yyyy-mm-dd)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +msgid "Stop Time (hh:mm:ss)" +msgstr "停止时间(hh:mm:ss)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "Storage Method" +msgstr "存储方式" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Sunday" +msgstr "星期日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "需要更改现有的防火墙配置,以使 LuCI 正常运行。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "防火墙通过在网络接口上创建区域来控制网络流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"以下选项控制此区域(%s)和其它区域间的转发策略。目标区域接收" +"源自 %q 的转发流量。源区域匹配的转发流量来自目标为 " +"%q 的其它区域。转发规则的作用是单向的,例如:转发从 lan 到 " +"wan 的流量并意味着允许反向转发从 wan 到 lan 的流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"本节定义 %q 的通用属性。入站数据出站数据选项用于设置此区" +"域入站和出站流量的默认策略,转发选项描述该区域内不同网络之间的流量转" +"发策略。涵盖的网络指定从属于这个区域的网络。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Thursday" +msgstr "星期四" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +msgid "Time Restrictions" +msgstr "时间限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +msgid "Time in UTC" +msgstr "UTC 时间" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +msgid "Time restrictions are enabled for this rule" +msgstr "对该规则启用了时间限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "Timeout" +msgstr "超时" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"到 %{dest}%{dest_device?, 接口 %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端口 %{dest_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"到 %{dest}%{dest_device?, 通过接口 %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端口 %{dest_port#%{next?, }" +"%{item." +"ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"到 %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, 端口 %{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +msgid "Tracking helper" +msgstr "跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "通信规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "" +"通信规则定义了不同区域间的数据包传输策略,例如:拒绝一些主机之间的通信、开放" +"路由器 WAN 上的端口。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Tuesday" +msgstr "星期二" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "无法保存内容:%s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"单位:秒。默认值0表示该条目被永久添加到该集合。
最大值:" +"2147483 秒。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "未知或未安装的连接跟踪助手 \"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +msgid "Unnamed NAT" +msgstr "未命名 NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +msgid "Unnamed forward" +msgstr "未命名转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +msgid "Unnamed rule" +msgstr "未命名规则" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +msgid "Unnamed set" +msgstr "未命名的集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "未命名区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "无法识别的协议" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"按下“继续”后,目标“SNAT”的“redirect”部分将转换为“nat”部分,防火墙将重新启动以" +"应用更新的配置。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +msgid "Use external IP address" +msgstr "使用外部 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use internal IP address" +msgstr "使用内部 IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +msgid "Use ipset" +msgstr "使用 ip 集" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "此选项可对原始的、非 uci 托管的网络设备进行区域流量分类。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "此选项可对源或目标子网而非网络或设备进行区域流量分类。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "需要有效的防火墙标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Wednesday" +msgstr "星期三" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +msgid "Week Days" +msgstr "星期" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "XOR firewall mark" +msgstr "异或防火墙标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "异或标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "你的设备不运行 firewall4。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "你的设备运行 firewall4。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "区域 ⇒ 转发" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "应创建反射规则的区域。如果未设置,则仅使用目标区域。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +msgid "accept" +msgstr "接受" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +msgid "any" +msgstr "任意" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "所有区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +msgid "any/all" +msgstr "任意/全部" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "apply firewall mark" +msgstr "应用防火墙标记" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "assign conntrack helper" +msgstr "分配连接跟踪助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +msgid "automatic" +msgstr "自动" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +msgid "bitmap is ipv4 only" +msgstr "bitmap 仅支持 ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: 目标 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: 目标 MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: 目标 (子)网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_port: Destination Port" +msgstr "dest_port: 目标端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: 目标 ip集*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +msgid "do not rewrite" +msgstr "不重写" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "don't track" +msgstr "不跟踪" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +msgid "drop" +msgstr "丢弃" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4 支持引用和创建 IP 集合,这样就无需为每个条目创建一条规则进行匹配," +"达到简化大型地址列表匹配的目的。firewall4 不支持 IP 集合中的 端口范围。
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "hash" +msgstr "哈希" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "小时" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "ip: IP addr" +msgstr "ip: IP 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
用于 Match 数据类型: *_ip。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +msgid "list" +msgstr "列表" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "mac: MAC addr" +msgstr "mac: MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "分钟" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +msgid "net: (sub)net" +msgstr "net: (子)网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "port: Port" +msgstr "port: 端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +msgid "reject" +msgstr "拒绝" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "秒" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "set: ipset*" +msgstr "set: ip集*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "src_Set: Source ipset*" +msgstr "src_Set: 源 ip集*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_ip: Source IP" +msgstr "src_ip: 源 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: 源 MAC 地址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +msgid "src_net: Source (sub)net" +msgstr "src_net: 源(子)网" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_port: Source Port" +msgstr "src_port: 源端口" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "此设备" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "此新区域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "无限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "unspecified" +msgstr "未指定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +msgid "up to 65536 entries." +msgstr "最多 65536 个条目。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "有效的防火墙标记" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "基于软件的 路由/NAT 分载" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "为此区域上的出站流量开启网络地址和端口翻译(NAT 或 NAPT)。该选项在" +#~ "wan区域上通常处于开启状态。" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "转发的 IPv4%{proto?, 协议 %{proto#%{next?, }%{item.name}}}%{mark?, 标记 %{mark.val}" +#~ "}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "入站 IPv4%{proto?, 协议 %{proto#%{next?, }%{item.types?%{item.name}具有类型 " +#~ "%{item.types#%{next?, }%{item}} 的 ICMP:" +#~ "%{item.name}}}}%{mark?, 标记 %{mark.val}}%{helper?, 助手 %{helper.inv?%{helper.val}:%{helper.val}}}" diff --git a/luci-app-firewall/po/zh_Hant/firewall.po b/luci-app-firewall/po/zh_Hant/firewall.po new file mode 100644 index 000000000..824c3825a --- /dev/null +++ b/luci-app-firewall/po/zh_Hant/firewall.po @@ -0,0 +1,1826 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2024-11-29 19:50+0000\n" +"Last-Translator: Yuan Lau \n" +"Language-Team: Chinese (Traditional Han script) \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 5.9-dev\n" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48 +msgid "" +"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?IPv4 and " +"IPv6:IPv6}:IPv4}%{proto?, protocol " +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP with types %{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?, mark " +"%{mark.val}}%{dscp?, DSCP %{dscp." +"inv?%{dscp.val}:%{dscp.val}}}%{helper?, helper " +"%{helper.inv?%{helper.val}:%{helper." +"val}}}" +msgstr "" +"%{src?%{dest?已轉發:傳入}:傳出}%{ipv6?%{ipv4?IPv4IPv6:IPv6}:IPv4}%{proto?,協定:" +"%{proto#%{next?, }%{item.types?%{item." +"name}ICMP包含型別:%{item.types#%{next?, }" +"%{item}}:%{item.name}}}}%{mark?,標記:" +"%{mark.val}}%{dscp?,DSCP:%{dscp.inv?" +"%{dscp.val}:%{dscp.val}}}%{helper?,幫手:%{helper." +"inv?%{helper.val}:%{helper.val}" +"}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +msgid "-- add IP --" +msgstr "-- 新增 IP --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:521 +msgid "-- add MAC --" +msgstr "-- 新增 MAC 位置 --" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:199 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:198 +msgid "0" +msgstr "0" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:181 +msgid "1024" +msgstr "1024" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118 +msgid "" +"Accept %{src?%{dest?forward:input}:output}" +msgstr "" +"接受 %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93 +msgid "Prevent source rewrite" +msgstr "避免來源重置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85 +msgid "" +"Forward to %{dest}%{dest_ip? IP " +"%{dest_ip}}%{dest_port? port %{dest_port}}" +msgstr "" +"轉發 到 %{dest}%{dest_ip? IP %{dest_ip}" +"}%{dest_port? port %{dest_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115 +msgid "" +"Drop %{src?%{dest?forward:input}:output}" +msgstr "" +"丟棄 %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133 +msgid "" +"Assign DSCP classification %{set_dscp}" +"" +msgstr "" +"指定DSCP(區別服務代碼點)分類 " +"%{set_dscp}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127 +msgid "" +"Assign conntrack helper " +"%{set_helper}" +msgstr "" +"指定連線追蹤助手%{set_helper}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130 +msgid "" +"%{set_mark?Assign:XOR} firewall mark " +"%{set_mark?:%{set_xmark}}" +msgstr "" +"%{set_mark?Assign:XOR} 防火牆標記 " +"%{set_mark?:%{set_xmark}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90 +msgid "Automatically rewrite source IP" +msgstr "自動重置 來源IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124 +msgid "" +"Do not track %{src?%{dest?forward:input}:" +"output}" +msgstr "" +"勿追蹤 %{src?%{dest?forward:input}:" +"output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121 +msgid "" +"Reject %{src?%{dest?forward:input}:output}" +msgstr "" +"拒絕 %{src?%{dest?forward:input}:output}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87 +msgid "" +"Statically rewrite to source %{snat_ip?IP " +"%{snat_ip}} %{snat_port?port %{snat_port}}" +msgstr "" +"靜態重寫 到來源 %{snat_ip?IP %{snat_ip}" +"} %{snat_port?port %{snat_port}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:306 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:305 +msgid "A rewrite IP must be specified!" +msgstr "必須指定重置IP!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +msgid "ACCEPT - Disable address rewriting" +msgstr "接受 - 禁用位址重置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:225 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:411 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:287 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:410 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:203 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:286 +msgid "Action" +msgstr "操作" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "" +"Additional raw iptables arguments to classify zone destination " +"traffic, e.g. -p tcp --dport 443 to only match outbound HTTPS " +"traffic." +msgstr "" +"允許原生 iptables 對區域目標流量進行分類的參數, 譬如... -p " +"tcp --dport 443 只針對相符輸出的HTTPS流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "" +"Additional raw iptables arguments to classify zone source traffic, " +"e.g. -p tcp --sport 443 to only match inbound HTTPS traffic." +msgstr "" +"允許原生 iptables 參數對區域來源流量進行分類, 譬如... -p tcp " +"--sport 443 只針對相符輸入的HTTPS流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:107 +msgid "Address family, Internal IP address must match" +msgstr "族" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135 +msgid "" +"Address family, source address, destination address, rewrite IP address must " +"match" +msgstr "位址族、來源位址、目的位址、重寫IP位址必須匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +msgid "Advanced Settings" +msgstr "進階設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "Allow \"invalid\" traffic" +msgstr "允許「無效」流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:385 +msgid "Allow forward from source zones:" +msgstr "允許從來源區域轉發:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:344 +msgid "Allow forward to destination zones:" +msgstr "允許轉發到目標區:" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551 +msgid "Any" +msgstr "任何" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:495 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:478 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:494 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:351 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367 +msgid "Any day" +msgstr "任一天" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317 +msgid "" +"Apply a bitwise XOR of the given value and the existing mark value on " +"established connections. Format is value[/mask]. If a mask is specified then " +"those bits set in the mask are zeroed out." +msgstr "" +"在給定的連接上對給定值和現有標記值進行按位XOR。格式為value [/mask]。如果指定" +"了遮罩,則將遮罩中設置的那些位元清零。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Apply the given DSCP class or value to established connections." +msgstr "啟用付予的DSCP(區別服務代碼點)來建立連線." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438 +msgid "Assign the specified connection tracking helper to matched traffic." +msgstr "指定特定的連線追蹤幫手來匹配流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "Automatic helper assignment" +msgstr "自動分派助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:286 +msgid "" +"Automatically assign conntrack helpers based on traffic protocol and port" +msgstr "根據流量和埠號自動分派conntrack" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:61 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:60 +msgid "Comment" +msgstr "註解" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115 +msgid "Conntrack Settings" +msgstr "Conntrack設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Conntrack helpers" +msgstr "Conntrack助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16 +msgid "Contents have been saved." +msgstr "內容已儲存。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:700 +msgid "Continue" +msgstr "繼續" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:203 +msgid "Counters" +msgstr "計數器" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "Covered devices" +msgstr "已涵蓋裝置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:183 +msgid "Covered networks" +msgstr "已涵蓋網路" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "Covered subnets" +msgstr "已涵蓋子網路" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:62 +msgid "Custom Rules" +msgstr "自訂規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26 +msgid "" +"Custom rules allow you to execute arbitrary iptables commands which are not " +"otherwise covered by the firewall framework. The commands are executed after " +"each firewall restart, right after the default ruleset has been loaded." +msgstr "" +"自訂規則允許您執行不屬於防火牆框架的任意 iptables 指令。每次重啟防火牆時,在" +"預設的規則執行後這些指令將立即執行。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +msgid "DSCP classification" +msgstr "DSCP(區別服務代碼點)分類" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "DSCP mark" +msgstr "DSCP(區別服務代碼點)標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297 +msgid "DSCP mark required" +msgstr "DSCP(區別服務代碼點)必須標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:402 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269 +msgid "Destination address" +msgstr "目標位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:403 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:277 +msgid "Destination port" +msgstr "目的通訊埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395 +msgid "Destination zone" +msgstr "目標區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268 +msgid "Device name" +msgstr "裝置名稱" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:283 +msgid "" +"Do not install extra rules to reject forwarded traffic with conntrack state " +"invalid. This may be required for complex asymmetric route setups." +msgstr "" +"不設定額外拒絕轉發conntrack狀態無效的流量規則。對於複雜的不對稱路由" +"設定可能是必需的。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:59 +msgid "Drop invalid packets" +msgstr "丟棄無效封包" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:209 +msgid "Enable" +msgstr "啟用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:305 +msgid "Enable NAT Loopback" +msgstr "啟用NAT環回" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45 +msgid "Enable SYN-flood protection" +msgstr "啟用SYN洪水保護" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:296 +msgid "Enable logging on this zone" +msgstr "啟用此區域的日誌記錄" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:168 +msgid "" +"Enable network address and port translation IPv4 (NAT4 or NAPT4) for " +"outbound traffic on this zone. This is typically enabled on the wan " +"zone." +msgstr "" +"為此區域的IPv4出站流量開啟網路位址和端口轉換(NAT4或NAPT4)。 wan區域" +"通常開啟此功能。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243 +msgid "" +"Enable network address and port translation IPv6 (NAT6 or NAPT6) for " +"outbound traffic on this zone." +msgstr "為此區域的IPv6出站流量開啟網路位址和端口轉換(NAT6或NAPT6)。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:211 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:210 +msgid "Enabled" +msgstr "啟用" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:205 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:204 +msgid "Enables packet and byte count tracking for the set." +msgstr "為該集合開啟封包和字節計數追蹤。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "Expecting: %s" +msgstr "請輸入:%s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290 +msgid "Explicitly choses allowed connection tracking helpers for zone traffic" +msgstr "針對區域流量明確選擇已允許的連接追蹤幫手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:273 +msgid "External IP address" +msgstr "外部IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278 +msgid "External port" +msgstr "外部埠號" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:348 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341 +msgid "Extra arguments" +msgstr "額外引數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:322 +msgid "Extra destination arguments" +msgstr "額外目標引數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116 +msgid "Extra iptables arguments" +msgstr "額外iptables引數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:312 +msgid "Extra source arguments" +msgstr "額外來源引數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:66 +msgid "Family" +msgstr "族" + +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3 +msgid "Firewall" +msgstr "防火牆" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25 +msgid "Firewall - Custom Rules" +msgstr "防火牆 - 自訂規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:20 +msgid "Firewall - IP sets" +msgstr "防火牆 - IP 集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172 +msgid "Firewall - NAT Rules" +msgstr "防火牆 - NAT規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152 +msgid "Firewall - Port Forwards" +msgstr "防火牆 - 通訊埠轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173 +msgid "Firewall - Traffic Rules" +msgstr "防火牆 - 流量規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38 +msgid "Firewall - Zone Settings" +msgstr "防火牆 - 區域設定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:693 +msgid "Firewall configuration migration" +msgstr "防火牆設定移轉" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82 +msgid "Flow offloading type" +msgstr "流量卸載類型" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:64 +msgid "Forward" +msgstr "轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:34 +msgid "" +"Forwarded %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}" +"}" +msgstr "" +"轉發 %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, 協定 %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark.val}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +msgid "Friday" +msgstr "星期五" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:45 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"來自:%{src}%{src_device?,介面:%{src_device}}%{src_ip?,IP:" +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?,埠:" +"%{src_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64 +msgid "" +"From %{src}%{src_device?, interface %{src_device}}%{src_ip?, IP " +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }" +"%{item." +"ival}}}%{src_mac?, MAC %{src_mac#%{next?, }%{item.ival}" +"}}" +msgstr "" +"來自:%{src}%{src_device?,介面:%{src_device}}%{src_ip?,IP:" +"%{src_ip#%{next?, }%{item.ival}}}%{src_port?,埠:port " +"%{src_port#%{next?, }%{item.ival}}}%{src_mac?,MAC:%{src_mac#%{next?, }" +"%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52 +msgid "" +"From %{src}%{src_ip?, IP %{src_ip#%{next?, }%{item.ival}}}%{src_port?, port %{src_port#%{next?, }%{item.ival}}}%{src_mac?, " +"MAC %{src_mac#%{next?, }%{item.ival}}}" +msgstr "" +"來自:%{src}%{src_ip?,IP:%{src_ip#%{next?, }%{item.ival}}}%{src_port?,埠:%{src_port#%{next?, }%{item.ival}}}%{src_mac?,MAC:" +"%{src_mac#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:113 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:160 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180 +msgid "General Settings" +msgstr "一般設定" + +#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3 +msgid "Grant access to firewall configuration" +msgstr "授予存取防火牆設定的權限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware based offloading for routing with/without NAT." +msgstr "基於硬體的路由卸載,有無NAT均可。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Hardware flow offloading" +msgstr "硬體流量卸載" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:143 +msgid "IP (range)" +msgstr "IP (範圍)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:32 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53 +msgid "IP Sets" +msgstr "IP 集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:151 +msgid "IPs/Networks" +msgstr "IP/網路" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:106 +msgid "IPs/Networks/MACs" +msgstr "IP/網路/MAC 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:67 +msgid "IPv4" +msgstr "IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:256 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:190 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:279 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218 +msgid "IPv4 and IPv6" +msgstr "IPv4和IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219 +msgid "IPv4 only" +msgstr "僅IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:68 +msgid "IPv6" +msgstr "IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:242 +msgid "IPv6 Masquerading" +msgstr "NAT6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:258 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:220 +msgid "IPv6 only" +msgstr "僅IPv6" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +msgid "Inbound device" +msgstr "輸入設備" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:186 +msgid "Include File" +msgstr "包括文件" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40 +msgid "" +"Incoming %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" +msgstr "" +"傳入 %{ipv6?%{ipv4?IPv4 and IPv6:IPv6}:" +"IPv4}%{proto?, 協定 %{proto#%{next?, }%{item.types?%{item.name}ICMP " +"with types %{item.types#%{next?, }%{item}}:" +"%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:180 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:179 +msgid "Initial Hash Size" +msgstr "初始雜湊大小" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151 +msgid "Input" +msgstr "入站資料" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:291 +msgid "Internal IP address" +msgstr "內部 IP 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:296 +msgid "Internal port" +msgstr "內部埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:287 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286 +msgid "Internal zone" +msgstr "內部區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153 +msgid "Intra zone forward" +msgstr "區內轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305 +msgid "Invalid DSCP mark" +msgstr "不正確的差異服務的程式碼點 DSCP標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:373 +msgid "Invalid limit value" +msgstr "不正確的限制值" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:47 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:46 +msgid "Invalid set name" +msgstr "集合名無效" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383 +msgid "Limit burst" +msgstr "限制爆潰" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:299 +msgid "Limit log messages" +msgstr "限制日誌資訊量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349 +msgid "Limit matching" +msgstr "限制相符" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:79 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:74 +msgid "" +"Limit matching to %{limit.num} packets per %{limit.unit}%{limit.burst? burst %{limit.burst}}" +msgstr "" +"限制相符到 %{limit.num} 封包數每 %{limit.unit}%{limit." +"burst? burst %{limit.burst}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:175 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:250 +msgid "Limited masquerading enabled" +msgstr "已啟用有限NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:350 +msgid "Limits traffic matching to the specified rate." +msgstr "限制流量相符到指定速率." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:310 +msgid "Loopback source IP" +msgstr "回送來源IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:291 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +msgid "MASQUERADE - Automatically rewrite to outbound interface IP" +msgstr "MASQUERADE偽裝 - 自動重置到輸出界面的IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:180 +msgid "MSS clamping" +msgstr "MSS 鉗制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:167 +msgid "Masquerading" +msgstr "NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:192 +msgid "Match" +msgstr "相符規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263 +msgid "Match DSCP" +msgstr "相符 DSCP(區別服務代碼點)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:292 +msgid "Match ICMP type" +msgstr "相符 ICMP 型別" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:249 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:248 +msgid "Match device" +msgstr "相符裝置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:271 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270 +msgid "Match forwarded traffic directed at the given IP address." +msgstr "相符轉發的流量指向給予的IP位址." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:278 +msgid "" +"Match forwarded traffic directed at the given destination port or port range." +msgstr "相符轉發的流量指向給予的目標埠或範圍埠." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +msgid "Match forwarded traffic from this IP or range." +msgstr "從這個IP或範圍相符轉發的流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +msgid "" +"Match forwarded traffic originating from the given source port or port range." +msgstr "相符轉發的流量源自給定的來源埠或範圍埠." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:325 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 +msgid "Match helper" +msgstr "相符助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:280 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279 +msgid "" +"Match incoming traffic directed at the given destination port or port range " +"on this host" +msgstr "相符指向此主機上指定目標埠或目標埠範圍的入站流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Match mark" +msgstr "相符標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:326 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:325 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445 +msgid "Match traffic using the specified connection tracking helper." +msgstr "相符流量使用特定的連線追蹤。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:319 +msgid "Matches a specific firewall mark or a range of different marks." +msgstr "相符特定的FW防火牆標記或者不同的範圍標記." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +msgid "Matches forwarded traffic using the specified outbound network device." +msgstr "相符正使用特定輸出網路設備的轉發流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:264 +msgid "Matches traffic carrying the specified DSCP marking." +msgstr "相符附帶特定之DSCP(區別服務代碼點)標記的流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:112 +msgid "Max Entries" +msgstr "最大條目數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:171 +msgid "Max Length" +msgstr "最大長度" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:384 +msgid "" +"Maximum initial number of packets to match: this number gets recharged by " +"one every time the limit specified above is not reached, up to this number." +msgstr "" +"相符的最大初始封包數量; 每次未達到上述指定的限制時,此數量將逐一地充實,直到此" +"數量為止." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +msgid "Monday" +msgstr "星期一" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:491 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:490 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363 +msgid "Month Days" +msgstr "每月天數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:175 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44 +msgid "NAT Rules" +msgstr "NAT規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173 +msgid "" +"NAT rules allow fine grained control over the source IP to use for outbound " +"or forwarded traffic." +msgstr "NAT規則允許對來源IP進行精細控制以便用於輸出或是轉發流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:42 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:52 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:41 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:51 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:209 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:188 +msgid "Name" +msgstr "名稱" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:166 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:165 +msgid "Netmask" +msgstr "網路遮罩" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83 +msgid "None" +msgstr "無" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Not fully compatible with QoS/SQM." +msgstr "與 QoS/SQM 不完全相容。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:274 +msgid "Only match incoming traffic directed at the given IP address." +msgstr "僅相符指定目的IP位址的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +msgid "Only match incoming traffic from these MACs." +msgstr "僅相符來自這些MAC的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +msgid "Only match incoming traffic from this IP or range." +msgstr "僅相符來自此IP或IP範圍的入站流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +msgid "" +"Only match incoming traffic originating from the given source port or port " +"range on the client host" +msgstr "僅相符源自客戶端主機上給定來源埠或來源埠範圍的入站流量" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330 +msgid "Outbound device" +msgstr "輸出設備" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:246 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:245 +msgid "Outbound zone" +msgstr "輸出區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:152 +msgid "Output" +msgstr "出站資料" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:74 +msgid "Packet Field Match" +msgstr "封包字段匹配" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:76 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:75 +msgid "" +"Packet fields to match upon.
Syntax: direction_datatype. e.g.: " +"src_port, dest_net.
Directions: src, dst. " +"Datatypes: ip, port, mac, net, set.
Direction prefixes are " +"optional.
*Note: datatype set is unsupported in fw4." +msgstr "" +"要進行匹配的封包字段。
語法:direction_datatype。如:" +"src_port, dest_net
方向:src, dst。數據類" +"型:ip, port, mac, net, set
方向首碼可選。
*注意:" +"datatype set 在fw4中不受支持。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:350 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:471 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:349 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342 +msgid "Passes additional arguments to iptables. Use with care!" +msgstr "傳遞附加引數到 iptables,小心使用!" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:309 +msgid "" +"Passing raw iptables arguments to source and destination traffic " +"classification rules allows to match packets based on other criteria than " +"interfaces or subnets. These options should be used with extreme care as " +"invalid values could render the firewall ruleset broken, completely exposing " +"all services." +msgstr "" +"透過將原始 iptables 參數傳遞給來源和目的流量分類規則,可以根據介面或子網路以" +"外的其他條件來相符封包. 這些選項應格外小心, 因為無效值可能會使防火牆規則集損" +"壞, 從而對外完全暴露所有服務." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:187 +msgid "Path to file of CIDRs, subnets, host IPs, etc.
" +msgstr "CIDRs、subnets、host IP 等文件的路徑。
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:155 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26 +msgid "Port Forwards" +msgstr "埠轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153 +msgid "" +"Port forwarding allows remote computers on the Internet to connect to a " +"specific computer or service within the private LAN." +msgstr "通訊埠轉發允許Internet上的遠端電腦連線到內部網路中的特定電腦或服務。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:157 +msgid "Port range" +msgstr "埠範圍" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:237 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:236 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:241 +msgid "Protocol" +msgstr "協定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:298 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297 +msgid "" +"Redirect matched incoming traffic to the given port on the internal host" +msgstr "重新導向相符的入站流量到內部主機給予的埠號" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:293 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:292 +msgid "Redirect matched incoming traffic to the specified internal host" +msgstr "重新導向相符的入站流量到指定的內部主機" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:122 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:121 +msgid "Refer To External Set" +msgstr "參考外部集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319 +msgid "Reflection zones" +msgstr "回應區" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85 +msgid "Requires hardware NAT support." +msgstr "需要硬體NAT支援。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:272 +msgid "Restrict Masquerading to given destination subnets" +msgstr "限制NAT的目標子網路" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261 +msgid "Restrict Masquerading to given source subnets" +msgstr "限制NAT的來源子網路" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:188 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:277 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:276 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215 +msgid "Restrict to address family" +msgstr "限制到位址群" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296 +msgid "Rewrite IP address" +msgstr "重置IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:298 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:297 +msgid "Rewrite matched traffic to the specified source IP address." +msgstr "重置已相符流量到特定的來源IP位址。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:312 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +msgid "Rewrite matched traffic to the specified source port or port range." +msgstr "重置已相符流量到特定的來源埠或範圍埠." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310 +msgid "Rewrite port" +msgstr "重置埠號" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76 +msgid "Routing/NAT Offloading" +msgstr "路由/NAT卸載" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:290 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:289 +msgid "SNAT - Rewrite to specific source IP or port" +msgstr "SNAT - 重置到特定的來源IP或埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:359 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:358 +msgid "Saturday" +msgstr "星期六" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "Set mark" +msgstr "設定標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318 +msgid "" +"Set the given mark value on established connections. Format is value[/mask]. " +"If a mask is specified then only those bits set in the mask are modified." +msgstr "" +"在建立的連接上設置給定的標記值. 格式為value [/ mask]. 如果指定了子網路遮罩," +"則僅修改子網路遮罩中設置的那些位元." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software based offloading for routing/NAT." +msgstr "基於軟體的路由/NAT卸載。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:84 +msgid "Software flow offloading" +msgstr "軟體式流量卸載" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259 +msgid "Source IP address" +msgstr "來源IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:254 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:385 +msgid "Source MAC address" +msgstr "來源MAC位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252 +msgid "Source address" +msgstr "來源位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:389 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:264 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260 +msgid "Source port" +msgstr "來源埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371 +msgid "Source zone" +msgstr "來源區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269 +msgid "" +"Specifies whether to tie this traffic rule to a specific inbound or outbound " +"network device." +msgstr "指定是否將此流量規則綁定到特定的輸入或輸出的網路設備." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:310 +msgid "" +"Specifies whether to use the external or the internal IP address for " +"reflected traffic." +msgstr "指定是使用外部IP地址還是內部IP地址來映射流量." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:510 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:383 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:509 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:382 +msgid "Start Date (yyyy-mm-dd)" +msgstr "開始日期(西元年-月-日)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:502 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:501 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:374 +msgid "Start Time (hh:mm:ss)" +msgstr "啟動時間 (小時.分鐘.秒)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:514 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:387 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:513 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:386 +msgid "Stop Date (yyyy-mm-dd)" +msgstr "停止日期(西元年-月-日)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:506 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:505 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:378 +msgid "Stop Time (hh:mm:ss)" +msgstr "停止時間 (小時.分鐘.秒)" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:129 +msgid "Storage Method" +msgstr "儲存方式" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:480 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:353 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:479 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352 +msgid "Sunday" +msgstr "星期日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:694 +msgid "" +"The existing firewall configuration needs to be changed for LuCI to function " +"properly." +msgstr "已存在的防火牆設定需要被變更以便 LuCI發揮正常功效." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39 +msgid "" +"The firewall creates zones over your network interfaces to control network " +"traffic flow." +msgstr "防火牆透過在網路介面上建立區域來控制網路流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:340 +msgid "" +"The options below control the forwarding policies between this zone (%s) and " +"other zones. Destination zones cover forwarded traffic " +"originating from %q. Source zones match forwarded " +"traffic from other zones targeted at %q. The forwarding " +"rule is unidirectional, e.g. a forward from lan to wan does " +"not imply a permission to forward from wan to lan as well." +msgstr "" +"以下選項可以控制區域(%s)和其它區域間的轉發規則;目標區域接收" +"源自%q 的轉發流量,來源區域相符來自其他區域的" +"目標為%q 的轉發流量。轉發規則的作用是單向的,例如:" +"一條允許從LAN到WAN的轉發規則並不隱含有允許相反方向從WAN到LAN的流量轉" +"發。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125 +msgid "" +"This section defines common properties of %q. The input and " +"output options set the default policies for traffic entering and " +"leaving this zone while the forward option describes the policy for " +"forwarded traffic between different networks within the zone. Covered " +"networks specifies which available networks are members of this zone." +msgstr "" +"本節定義%q的通用屬性,入站資料出站資料選項用於設定此區域" +"入站和出站流量的預設策略,轉發選項描述該區域內不同網路之間的流量轉發" +"策略。覆蓋網路指定從屬於這個區域的網路。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:357 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +msgid "Thursday" +msgstr "星期四" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:182 +msgid "Time Restrictions" +msgstr "時間限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:518 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:391 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:517 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:390 +msgid "Time in UTC" +msgstr "UTC 時間" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243 +msgid "Time restrictions are enabled for this rule" +msgstr "對該規則啟用了時間限制" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:195 +msgid "Timeout" +msgstr "逾時" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77 +msgid "" +"To %{dest}%{dest_device?, interface %{dest_device}}%{dest_ip?, IP " +"%{dest_ip#%{next?, }%{item.ival}
}}%{dest_port?, port %{dest_port#%{next?, }" +"%{item." +"ival}}}" +msgstr "" +"到:%{dest}%{dest_device?,介面:%{dest_device}}%{dest_ip?,IP:" +"%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?,埠:" +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55 +msgid "" +"To %{dest}%{dest_device?, via interface %{dest_device}}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port " +"%{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"到:%{dest}%{dest_device?,透過介面:%{dest_device}}%{dest_ip?," +"IP:%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?,埠:" +"%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61 +msgid "" +"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }%{item.ival}}}%{dest_port?, port %{dest_port#%{next?, }%{item.ival}}}" +msgstr "" +"到:%{dest}%{dest_ip?,IP:%{dest_ip#%{next?, }%{item.ival}}}%{dest_port?,埠:%{dest_port#%{next?, }%{item.ival}}}" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:439 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438 +msgid "Tracking helper" +msgstr "追蹤小幫手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176 +#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35 +msgid "Traffic Rules" +msgstr "流量規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets travelling between different " +"zones, for example to reject traffic between certain hosts or to open WAN " +"ports on the router." +msgstr "通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放" +"路由器WAN上的埠。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354 +msgid "Tuesday" +msgstr "星期二" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19 +msgid "Unable to save contents: %s" +msgstr "無法儲存內容:%s" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:197 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:196 +msgid "" +"Unit: seconds. Default 0 means the entry is added permanently " +"to the set.
Max: 2147483 seconds." +msgstr "" +"單位:秒。默認值0表示該條目被永久添加到該集合。
最大值:" +"2147483 秒。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:341 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460 +msgid "Unknown or not installed conntrack helper \"%s\"" +msgstr "未知或未安裝的連線跟蹤助手\"%s\"" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189 +msgid "Unnamed NAT" +msgstr "未命名NAT" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:169 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:184 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:168 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:183 +msgid "Unnamed forward" +msgstr "未命名轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:191 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:190 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210 +msgid "Unnamed rule" +msgstr "未命名規則" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:57 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:56 +msgid "Unnamed set" +msgstr "未命名集合" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130 +msgid "Unnamed zone" +msgstr "未命名區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:597 +msgid "Unrecognized protocol" +msgstr "無法識別的協定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:695 +msgid "" +"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will " +"be converted to \"nat\" sections and the firewall will be restarted to apply " +"the updated configuration." +msgstr "" +"一旦按下\"繼續\"後, 附帶目標為\" SNAT\"的\"重導向\"欄位將轉換為\" nat\"欄位," +"防火牆將重新啟動以套用更新的設定值." + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:315 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +msgid "Use external IP address" +msgstr "使用外部IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:314 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313 +msgid "Use internal IP address" +msgstr "使用內部IP位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:378 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:322 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:246 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321 +msgid "Use ipset" +msgstr "使用IP集" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:231 +msgid "" +"Use this option to classify zone traffic by raw, non-uci managed " +"network devices." +msgstr "使用此選項可以對原生、非uci管理的網路裝置分類區域流量。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236 +msgid "" +"Use this option to classify zone traffic by source or destination subnet " +"instead of networks or devices." +msgstr "使用此選項可以按來源或目的子網路(而不是網路或裝置)對區域流量進行分類。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:331 +msgid "Valid firewall mark required" +msgstr "需要有效的防火牆標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:483 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:482 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:355 +msgid "Wednesday" +msgstr "星期三" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:475 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:348 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:474 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347 +msgid "Week Days" +msgstr "每週日數" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:420 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +msgid "XOR firewall mark" +msgstr "按位元互斥XOR防火牆標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316 +msgid "XOR mark" +msgstr "按位元互斥XOR標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:28 +msgid "Your device does not run firewall4." +msgstr "你的設備沒有使用 firewall4。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:26 +msgid "Your device runs firewall4." +msgstr "你的設備使用firewall4。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143 +msgid "Zone ⇒ Forwardings" +msgstr "區域 ⇒ 轉發" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101 +msgid "Zones" +msgstr "區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:320 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319 +msgid "" +"Zones from which reflection rules shall be created. If unset, only the " +"destination zone is used." +msgstr "創建回應規則的區域。若未設置,將僅使用目標區域。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +msgid "accept" +msgstr "接受" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:268 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:463 +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:486 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:301 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:328 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:407 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:282 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:269 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:300 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:327 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:281 +msgid "any" +msgstr "任何" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:46 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "any zone" +msgstr "所有區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:298 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:297 +msgid "any/all" +msgstr "任意/全部" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +msgid "apply firewall mark" +msgstr "套用防火牆標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +msgid "assign conntrack helper" +msgstr "指定連線跟蹤助手" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221 +msgid "automatic" +msgstr "自動" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:130 +msgid "bitmap" +msgstr "bitmap" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:137 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:136 +msgid "bitmap is ipv4 only" +msgstr "bitmap僅支援 IPv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "day" +msgstr "日" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +msgid "dest_ip: Destination IP" +msgstr "dest_ip: 目標 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +msgid "dest_mac: Destination MAC addr" +msgstr "dest_mac: 目標 MAC 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:96 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:95 +msgid "dest_net: Destination (sub)net" +msgstr "dest_net: 目標(子)網" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:94 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:93 +msgid "dest_port: Destination Port" +msgstr "dest_port:目標埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:98 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:97 +msgid "dest_set: Destination ipset*" +msgstr "dest_set: 目標 ip集合*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:314 +msgid "do not rewrite" +msgstr "不重置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +msgid "don't track" +msgstr "不跟蹤" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:158 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413 +msgid "drop" +msgstr "丟棄" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:21 +msgid "" +"firewall4 supports referencing and creating IP sets to simplify matching of " +"large address lists without the need to create one rule per item to match. " +"Port ranges in ipsets are unsupported by firewall4.
" +msgstr "" +"firewall4支援引用和創建IP集,這樣無需為每個條目創建一條規則進行匹配,達到簡化" +"大型位址列表匹配的目的。firewall4不支援IP集中的埠範圍。
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:159 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:158 +msgid "fromport-toport" +msgstr "fromport-toport" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:131 +msgid "hash" +msgstr "雜湊" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "hour" +msgstr "小時" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:80 +msgid "ip: IP addr" +msgstr "ip: IP 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:153 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:152 +msgid "ip[/cidr]
" +msgstr "ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:145 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:144 +msgid "ip[/cidr]
For use with Match datatypes: *_ip." +msgstr "ip[/cidr]
用於匹配資料類型:*_ip。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:70 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:69 +msgid "ipv4" +msgstr "ipv4" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:133 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:132 +msgid "list" +msgstr "清單" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +msgid "mac: MAC addr" +msgstr "mac: MAC 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:108 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:107 +msgid "macaddr|ip[/cidr]
" +msgstr "macaddr|ip[/cidr]
" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "minute" +msgstr "分鐘" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:84 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:83 +msgid "net: (sub)net" +msgstr "net:(子)網" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:82 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:81 +msgid "port: Port" +msgstr "port: 埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:157 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:415 +msgid "reject" +msgstr "拒絕" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67 +msgid "second" +msgstr "秒" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:85 +msgid "set: ipset*" +msgstr "set: ip集合*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:92 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:91 +msgid "src_Set: Source ipset*" +msgstr "src_Set: 源 ip集合*" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:86 +msgid "src_ip: Source IP" +msgstr "src_ip: 源 IP" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +msgid "src_mac: Source MAC addr" +msgstr "src_mac: 源 MAC 位址" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:90 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:89 +msgid "src_net: Source (sub)net" +msgstr "src_net: 源(子)網" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:88 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:87 +msgid "src_port: Source Port" +msgstr "src_port: 源 埠" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:86 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:56 +msgid "this device" +msgstr "此裝置" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:339 +msgid "this new zone" +msgstr "新區域" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:354 +msgid "unlimited" +msgstr "無限" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:251 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:250 +msgid "unspecified" +msgstr "未規定" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:114 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:113 +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:172 +msgid "up to 65536 entries." +msgstr "最多 65536 個條目。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:339 +msgid "valid firewall mark" +msgstr "有效正確的防火牆標記" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77 +msgid "Experimental feature. Not fully compatible with QoS/SQM." +msgstr "實驗性功能。與QoS/SQM不完全相容。" + +#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174 +msgid "" +"Traffic rules define policies for packets traveling between different zones, " +"for example to reject traffic between certain hosts or to open WAN ports on " +"the router." +msgstr "通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放" +"路由器WAN上的埠。" + +#~ msgid "Software based offloading for routing/NAT" +#~ msgstr "軟體式的 路由/NAT 卸載" + +#~ msgid "" +#~ "Enable network address and port translation (NAT or NAPT) for outbound " +#~ "traffic on this zone. This is typically enabled on the wan zone." +#~ msgstr "" +#~ "為此區域上的出站流量啟用網路位址和連接埠轉換 (NAT 或 NAPT)。該選項在" +#~ "wan區域上通常處於啟用狀態。" + +#~ msgid "" +#~ "Forwarded IPv4%{proto?, protocol %{proto#%{next?, }%{item.name}}}%{mark?, mark %{mark." +#~ "val}}" +#~ msgstr "" +#~ "已轉發 IPv4%{proto?,協定:%{proto#%{next?, }%{item.name}}}%{mark?,標記:%{mark.val}" +#~ "}" + +#~ msgid "" +#~ "Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?%{item.name}ICMP with types %{item.types#%{next?, }%{item}}:%{item.name}}}}%{mark?, mark %{mark.val}}%{helper?, helper %{helper.inv?%{helper.val}:%{helper.val}" +#~ "}}" +#~ msgstr "" +#~ "傳入 IPv4%{proto?,協定:%{proto#%{next?, }%{item.types?%{item.name}ICMP 包含類" +#~ "型:%{item.types#%{next?, }%{item}}:%{item." +#~ "name}}}}%{mark?,標記:%{mark.val}}%{helper?,幫手:%{helper.inv?%{helper." +#~ "val}:%{helper.val}}}" diff --git a/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json b/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json new file mode 100644 index 000000000..f024dcfe2 --- /dev/null +++ b/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json @@ -0,0 +1,72 @@ +{ + "admin/network/firewall": { + "title": "Firewall", + "order": 60, + "action": { + "type": "alias", + "path": "admin/network/firewall/zones" + }, + "depends": { + "acl": [ "luci-app-firewall" ], + "fs": { "/sbin/fw3": "executable" }, + "uci": { "firewall": true } + } + }, + + "admin/network/firewall/zones": { + "title": "General Settings", + "order": 10, + "action": { + "type": "view", + "path": "firewall/zones" + } + }, + + "admin/network/firewall/forwards": { + "title": "Port Forwards", + "order": 20, + "action": { + "type": "view", + "path": "firewall/forwards" + } + }, + + "admin/network/firewall/rules": { + "title": "Traffic Rules", + "order": 30, + "action": { + "type": "view", + "path": "firewall/rules" + } + }, + + "admin/network/firewall/snats": { + "title": "NAT Rules", + "order": 40, + "action": { + "type": "view", + "path": "firewall/snats" + } + }, + + "admin/network/firewall/ipsets": { + "title": "IP Sets", + "order": 45, + "action": { + "type": "view", + "path": "firewall/ipsets" + } + }, + + "admin/network/firewall/custom": { + "title": "Custom Rules", + "order": 50, + "action": { + "type": "view", + "path": "firewall/custom" + }, + "depends": { + "fs": { "/usr/share/fw3/helpers.conf": "file" } + } + } +} diff --git a/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json b/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json new file mode 100644 index 000000000..17d1fbab1 --- /dev/null +++ b/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json @@ -0,0 +1,24 @@ +{ + "luci-app-firewall": { + "description": "Grant access to firewall configuration", + "read": { + "file": { + "/etc/firewall.user": [ "read" ] + }, + "ubus": { + "file": [ "read" ], + "luci": [ "getConntrackHelpers" ] + }, + "uci": [ "firewall" ] + }, + "write": { + "file": { + "/etc/firewall.user": [ "write" ] + }, + "ubus": { + "file": [ "write" ] + }, + "uci": [ "firewall" ] + } + } +} diff --git a/luci-app-firewall/root/usr/share/ucitrack/luci-app-firewall.json b/luci-app-firewall/root/usr/share/ucitrack/luci-app-firewall.json new file mode 100644 index 000000000..4d1d9f919 --- /dev/null +++ b/luci-app-firewall/root/usr/share/ucitrack/luci-app-firewall.json @@ -0,0 +1,9 @@ +{ + "config": "firewall", + "init": "firewall", + "affects": [ + "luci-splash", + "qos", + "miniupnpd" + ] +} From 679b730075989bc45db65da0cbb83c74cfcbbdcd Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 11 Dec 2024 16:54:21 +0100 Subject: [PATCH 079/199] Changes to luci-app-firewall --- luci-app-firewall/Makefile | 2 +- .../luci-static/resources/view/firewall/forwards.js | 3 +++ .../luci-static/resources/view/firewall/ipsets.js | 3 +++ .../luci-static/resources/view/firewall/rules.js | 3 ++- .../luci-static/resources/view/firewall/zones.js | 10 ++++++++++ 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/luci-app-firewall/Makefile b/luci-app-firewall/Makefile index 1ae78e16f..793e06468 100644 --- a/luci-app-firewall/Makefile +++ b/luci-app-firewall/Makefile @@ -12,6 +12,6 @@ LUCI_DEPENDS:=+luci-base +uci-firewall PKG_LICENSE:=Apache-2.0 PKG_MAINTAINER:=Jo-Philipp Wich -include ../../luci.mk +include $(TOPDIR)/feeds/luci/luci.mk # call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js index 34ab80425..c1dcdc566 100644 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js @@ -344,6 +344,9 @@ return view.extend({ fwtool.addMarkOption(s, false); fwtool.addLimitOption(s); fwtool.addLimitBurstOption(s); + + o = s.taboption('advanced', form.Flag, 'v2ray', _('Use V2Ray/XRay'), + _('Forward a port (not a range) from server using V2Ray/XRay proxy (if enabled) instead of VPN')); if (!L.hasSystemFeature('firewall4')) { o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js index cf3b8818d..0b3a0db1f 100644 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js @@ -35,6 +35,9 @@ return view.extend({ s.sortable = true; s.cloneable = true; s.nodescriptions = true; + s.filter = function(section_id) { + return (section_id.startsWith('bypass') == false && section_id.startsWith('omr_dst') == false && section_id.startsWith('omr_dscp') == false); + }; /* refer to: https://ipset.netfilter.org/ipset.man.html */ diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js index 25c7568a9..8103aa66f 100644 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js @@ -184,7 +184,8 @@ return view.extend({ s.tab('timed', _('Time Restrictions')); s.filter = function(section_id) { - return (uci.get('firewall', section_id, 'target') != 'SNAT'); + //return (uci.get('firewall', section_id, 'target') != 'SNAT'); + return (uci.get('firewall', section_id, 'target') != 'SNAT' && section_id.startsWith('omr_dst') == false && section_id.startsWith('omr_dscp') == false); }; s.sectiontitle = function(section_id) { diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js index bf2d6cf3c..80df278f3 100644 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js @@ -177,6 +177,16 @@ return view.extend({ return null; }; + /* + o = s.taboption('general', form.Flag, 'fullcone', _('Full Cone')); + o.editable = true; + o.depends('masq', '1'); + + o = s.taboption('general', form.Flag, 'fullcone6', _('Full Cone IPv6')); + o.editable = true; + o.depends('masq', '1'); + */ + o = s.taboption('general', form.Flag, 'mtu_fix', _('MSS clamping')); o.modalonly = true; From aebd8d3e1a3bdf88f43a2edacd2dc77be3b0d573 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 11 Dec 2024 17:29:22 +0100 Subject: [PATCH 080/199] Do not display v2ray/xray in table in luci-app-firewall --- .../htdocs/luci-static/resources/view/firewall/forwards.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js index c1dcdc566..5fc3245f5 100644 --- a/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js +++ b/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js @@ -344,9 +344,10 @@ return view.extend({ fwtool.addMarkOption(s, false); fwtool.addLimitOption(s); fwtool.addLimitBurstOption(s); - + o = s.taboption('advanced', form.Flag, 'v2ray', _('Use V2Ray/XRay'), _('Forward a port (not a range) from server using V2Ray/XRay proxy (if enabled) instead of VPN')); + o.modalonly = true; if (!L.hasSystemFeature('firewall4')) { o = s.taboption('advanced', form.Value, 'extra', _('Extra arguments'), From c5d7e934c6c49a8e45fc33cb3a195472f99b417a Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 13 Dec 2024 19:40:11 +0100 Subject: [PATCH 081/199] Fix default TCP Congestion text in MPTCP interface --- luci-app-mptcp/luasrc/model/cbi/mptcp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua index f89cf7d99..dea854e80 100644 --- a/luci-app-mptcp/luasrc/model/cbi/mptcp.lua +++ b/luci-app-mptcp/luasrc/model/cbi/mptcp.lua @@ -67,7 +67,7 @@ if uname.release:sub(1,4) ~= "5.15" and uname.release:sub(1,1) ~= "6" then o:value(1, translate("1")) o.default = 0 end -o = s:option(ListValue, "congestion", translate("Congestion Control"),translate("Default is cubic")) +o = s:option(ListValue, "congestion", translate("Congestion Control"),translate("Default is bbr")) local availablecong = sys.exec("sysctl -n net.ipv4.tcp_available_congestion_control | xargs -n1 | sort | xargs") for cong in string.gmatch(availablecong, "[^%s]+") do if cong == "bbr" and string.match(availablecong, "bbr1") then From be703c65add8acd3ae44364580939921ddbc7556 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 13 Dec 2024 19:41:11 +0100 Subject: [PATCH 082/199] Get previous device if device is not detected by OMR-Tracker --- omr-tracker/files/bin/omr-tracker | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/omr-tracker/files/bin/omr-tracker b/omr-tracker/files/bin/omr-tracker index 0bcec9785..26e3344f4 100755 --- a/omr-tracker/files/bin/omr-tracker +++ b/omr-tracker/files/bin/omr-tracker @@ -24,6 +24,7 @@ export OMR_TRACKER_STATUS export OMR_TRACKER_STATUS_MSG export OMR_TRACKER_PREV_STATUS export OMR_TRACKER_DEVICE +export OMR_TRACKER_PREV_DEVICE export OMR_TRACKER_DEVICE_IP export OMR_TRACKER_DEVICE_IP6 export OMR_TRACKER_PREV_DEVICE_IP @@ -306,6 +307,7 @@ while true; do } if [ -n "$OMR_TRACKER_DEVICE" ] && [ -d "/sys/class/net/$OMR_TRACKER_DEVICE" ]; then + OMR_TRACKER_PREV_DEVICE="$OMR_TRACKER_DEVICE" OMR_TRACKER_DEVICE_STATE=$(ip -j link show dev "$OMR_TRACKER_DEVICE" | jsonfilter -q -e '@[*].operstate' | tr -d '\n') if ([ "$(ifstatus $OMR_TRACKER_INTERFACE | jsonfilter -q -e '@.up')" == "true" ] && [ "$OMR_TRACKER_DEVICE_STATE" != "DOWN" ]) || [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ]; then # retrieve iface ip and gateway @@ -343,7 +345,7 @@ while true; do fi fi if [ -z "$OMR_TRACKER_DEVICE_GATEWAY" ]; then - OMR_TRACKER_DEVICE_ROUTE=$(ip -4 r list dev "$OMR_TRACKER_DEVICE" | grep via | grep -v default | grep -v metric | grep -v / | awk '{print $1; exit}' | tr -d "\n") + OMR_TRACKER_DEVICE_ROUTE=$(ip -4 r list dev "$OMR_TRACKER_DEVICE" | grep via | grep -v default | grep -v nexthop | grep -v metric | grep -v / | awk '{print $1; exit}' | tr -d "\n") fi if [ -z "$OMR_TRACKER_DEVICE_GATEWAY" ]; then OMR_TRACKER_DEVICE_GATEWAY=$(ip -4 r list dev "$OMR_TRACKER_DEVICE" | grep kernel | grep -v '.0/' | awk '/proto kernel/ {print $1;exit}' | tr -d "\n") @@ -354,6 +356,10 @@ while true; do if [ -z "$OMR_TRACKER_DEVICE_GATEWAY" ]; then OMR_TRACKER_DEVICE_GATEWAY=$(ip -4 r list dev "$OMR_TRACKER_DEVICE" | awk '/via/ {print $3;exit}' | tr -d "\n") fi + if [ -z "$OMR_TRACKER_DEVICE_GATEWAY" ] && [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] && [ "$(uci -q get openvpn.omr.enabled)" = "1" ]; then + OMR_TRACKER_DEVICE_GATEWAY="10.255.252.1" + fi + fi if { [ "$OMR_TRACKER_IPV6" = "1" ] || [ "$OMR_TRACKER_IPV6" = "auto" ]; } && { [ "$OMR_TRACKER_FAMILY" = "ipv6" ] || [ "$OMR_TRACKER_FAMILY" = "ipv4ipv6" ]; }; then #OMR_TRACKER_DEVICE_IP6=$(ip -6 -br addr ls dev "$OMR_TRACKER_DEVICE" | awk -F'[ /]+' '{print $3}') @@ -403,7 +409,7 @@ while true; do break elif [ "$OMR_TRACKER_TYPE" != "none" ]; then if ! $(exit $status); then - OMR_TRACKER_STATUS_MSG="gateway down" + OMR_TRACKER_STATUS_MSG="IPv4 gateway down" fi serverip_ping=false if [ "$OMR_TRACKER_TYPE" = "ping" ]; then @@ -472,7 +478,7 @@ while true; do fi [ "$OMR_TRACKER_STATUS" = "OK" ] && break elif ! $(exit $status); then - OMR_TRACKER_STATUS_MSG="gateway down" + OMR_TRACKER_STATUS_MSG="IPv4 gateway down" fi tries=$((tries - 1)) #_restart @@ -507,7 +513,7 @@ while true; do break elif [ "$OMR_TRACKER_TYPE" != "none" ]; then if ! $(exit $status); then - OMR_TRACKER_STATUS_MSG="gateway6 down" + OMR_TRACKER_STATUS_MSG="IPv6 gateway down" fi serverip_ping=false if [ "$OMR_TRACKER_TYPE" = "ping" ]; then @@ -577,7 +583,7 @@ while true; do fi [ "$OMR_TRACKER_STATUS" = "OK" ] && break elif ! $(exit $status); then - OMR_TRACKER_STATUS_MSG="gateway down" + OMR_TRACKER_STATUS_MSG="IPv6 gateway down" fi tries=$((tries - 1)) #_restart From b5313474319ed3d4d3bcfae20610350a49e1cce0 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 13 Dec 2024 19:43:42 +0100 Subject: [PATCH 083/199] Use previous device if current device is unknown in 002-error post-tracking script of omr-tracker --- omr-tracker/files/usr/share/omr/post-tracking.d/002-error | 2 ++ 1 file changed, 2 insertions(+) diff --git a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error index 66fdb45f1..6c0f109b4 100755 --- a/omr-tracker/files/usr/share/omr/post-tracking.d/002-error +++ b/omr-tracker/files/usr/share/omr/post-tracking.d/002-error @@ -126,6 +126,8 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || { [ "$OMR_TRACKER_INTERFACE" != "omrvp fi . /lib/functions/network.sh + [ -z "$OMR_TRACKER_DEVICE" ] && OMR_TRACKER_DEVICE="$OMR_TRACKER_PREV_DEVICE" + # Get the current multipath status multipath_status="off" # [ "$OMR_TRACKER_INTERFACE" = "omrvpn" ] && multipath $OMR_TRACKER_DEVICE off >/dev/null 2>&1 From 0db3dff44209ab434196d6ad7198b5a5a3b945f7 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Wed, 18 Dec 2024 16:55:47 +0100 Subject: [PATCH 084/199] Add OpenVPN multi process support --- .../luasrc/controller/openmptcprouter.lua | 95 ++++++++++-- .../luasrc/view/openmptcprouter/settings.htm | 10 ++ .../usr/share/omr/lib/common-post-tracking.sh | 20 +++ .../usr/share/omr/post-tracking.d/003-up | 13 +- .../files/etc/init.d/openmptcprouter-vps | 144 +++++++++++++----- .../files/etc/uci-defaults/2020-omr-vpn | 113 ++++++++------ 6 files changed, 291 insertions(+), 104 deletions(-) diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 31e803161..37e032e59 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -830,8 +830,15 @@ function wizard_add() ucic:set("xray","omrout","s_trojan_address",server_ip) ucic:set("xray","omrout","s_socks_address",server_ip) ucic:set("xray","omrout","s_shadowsocks_address",server_ip) - luci.sys.call("uci -q del openvpn.omr.remote") - luci.sys.call("uci -q add_list openvpn.omr.remote=" .. server_ip) + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + luci.sys.call("uci -q del openvpn." .. sectionname .. ".remote") + luci.sys.call("uci -q add_list openvpn." .. sectioname .. ".remote=" .. server_ip) + end + end) + --luci.sys.call("uci -q del openvpn.omr.remote") + --luci.sys.call("uci -q add_list openvpn.omr.remote=" .. server_ip) ucic:set("qos","serverin","srchost",server_ip) ucic:set("qos","serverout","dsthost",server_ip) local nbip = 0 @@ -882,8 +889,15 @@ function wizard_add() ucic:set("xray","omrout","s_trojan_address",server_ip) ucic:set("xray","omrout","s_socks_address",server_ip) ucic:set("xray","omrout","s_shadowsocks_address",server_ip) - luci.sys.call("uci -q del openvpn.omr.remote") - luci.sys.call("uci -q add_list openvpn.omr.remote=" .. server_ip) + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + luci.sys.call("uci -q del openvpn." .. sectionname .. ".remote") + luci.sys.call("uci -q add_list openvpn." .. sectionname .. ".remote=" .. server_ip) + end + end) + --luci.sys.call("uci -q del openvpn.omr.remote") + --luci.sys.call("uci -q add_list openvpn.omr.remote=" .. server_ip) ucic:set("qos","serverin","srchost",server_ip) ucic:set("qos","serverout","dsthost",server_ip) local nbip = 0 @@ -938,7 +952,13 @@ function wizard_add() ucic:set("shadowsocks-libev","sss1","method","none") ucic:set("shadowsocks-rust","sss0","method","none") ucic:set("shadowsocks-rust","sss1","method","none") - ucic:set("openvpn","omr","cipher","none") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"cipher","none") + end + end) + --ucic:set("openvpn","omr","cipher","none") ucic:set("mlvpn","general","cleartext_data","1") ucic:set("v2ray","omrout","s_vmess_user_security","none") ucic:set("v2ray","omrout","s_vless_user_security","none") @@ -957,7 +977,13 @@ function wizard_add() ucic:set("shadowsocks-libev","sss1","method","aes-256-gcm") ucic:set("glorytun","vpn","chacha20","0") ucic:set("glorytun-udp","vpn","chacha","0") - ucic:set("openvpn","omr","cipher","AES-256-GCM") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"cipher","AES-256-GCM") + end + end) + --ucic:set("openvpn","omr","cipher","AES-256-GCM") ucic:set("mlvpn","general","cleartext_data","0") ucic:set("v2ray","omrout","s_vmess_user_security","aes-128-gcm") ucic:set("v2ray","omrout","s_vless_user_security","aes-128-gcm") @@ -977,7 +1003,13 @@ function wizard_add() ucic:set("shadowsocks-libev","sss1","method","aes-256-cfb") ucic:set("glorytun","vpn","chacha20","0") ucic:set("glorytun-udp","vpn","chacha","0") - ucic:set("openvpn","omr","cipher","AES-256-CFB") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"cipher","AES-256-CFB") + end + end) + --ucic:set("openvpn","omr","cipher","AES-256-CFB") ucic:set("mlvpn","general","cleartext_data","0") ucic:set("v2ray","omrout","s_vmess_user_security","aes-128-gcm") ucic:set("v2ray","omrout","s_vless_user_security","aes-128-gcm") @@ -997,7 +1029,13 @@ function wizard_add() ucic:set("shadowsocks-libev","sss1","method","chacha20-ietf-poly1305") ucic:set("glorytun","vpn","chacha20","1") ucic:set("glorytun-udp","vpn","chacha","1") - ucic:set("openvpn","omr","cipher","chacha20-poly1305") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"cipher","chacha20-poly1305") + end + end) + --ucic:set("openvpn","omr","cipher","chacha20-poly1305") ucic:set("mlvpn","general","cleartext_data","0") ucic:set("v2ray","omrout","s_vmess_user_security","chacha20-poly1305") ucic:set("v2ray","omrout","s_vless_user_security","chacha20-poly1305") @@ -1224,10 +1262,34 @@ function wizard_add() ucic:commit("ubond") if default_vpn == "openvpn" and disablednb ~= serversnb then - ucic:set("openvpn","omr","enabled",1) - ucic:set("network","omrvpn","proto","none") + if ucic:get("openmptcprouter","settings","openvpn_lb") == "0" then + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"enabled",0) + ucic:set("network",sectioname,"proto","none") + end + end) + ucic:set("openvpn","omr","enabled",1) + else + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:set("openvpn",sectionname,"enabled",1) + ucic:set("network",sectioname,"proto","none") + end + end) + --ucic:set("openvpn","omr","enabled",1) + end + --ucic:set("network","omrvpn","proto","none") else - ucic:delete("openvpn","omr","enabled") + ucic:foreach("openvpn","openvpn", function(s) + local sectionname = s[".name"] + if sectionname:match("^omr.*") then + ucic:delete("openvpn",sectionname,"enabled") + end + end) + --ucic:delete("openvpn","omr","enabled") end ucic:save("openvpn") ucic:commit("openvpn") @@ -1362,6 +1424,17 @@ function settings_add() local externalcheck = luci.http.formvalue("externalcheck") or "1" ucic:set("openmptcprouter","settings","external_check",externalcheck) + -- Enable/disable OpenVPN multiple clients + local openvpnlb = luci.http.formvalue("openvpnlb") or "1" + if ucic:get("openmptcprouter","settings","openvpn_lb") ~= openvpnlb then + ucic:set("openmptcprouter","settings","openvpn_lb",openvpnlb) + ucic:foreach("openmptcprouter", "server", function(s) + local sectionname = s[".name"] + ucic:set("openmptcprouter",sectionname,"get_config","1") + end) + + end + -- Enable/disable restrict proxy to LAN local restricttolan = luci.http.formvalue("restricttolan") or "0" ucic:set("openmptcprouter","settings","restrict_to_lan",restricttolan) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index 5f2594c35..47fdb814b 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -364,6 +364,16 @@