--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-attendedsysupgrade/luasrc/controller/attendedsysupgrade.lua:4
+#: applications/luci-app-attendedsysupgrade/luasrc/view/attendedsysupgrade.htm:76
+msgid "Attended Sysupgrade"
+msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:89
+msgid "ASN Overview"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:90
+msgid "ASN Prefixes"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:91
+msgid "ASN/Country"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:137
+msgid "Additional trigger delay in seconds before banIP processing begins."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:21
+msgid "Advanced"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:24
+msgid "Automatic WAN Interface Detection"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:115
+msgid "Backup Directory"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:122
+msgid "Backup Mode"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:45
+msgid "Check the current available IPSets."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:11
+msgid ""
+"Configuration of the banIP package to block ip adresses/subnets via IPSet."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:92
+msgid "Country Resources"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:112
+msgid ""
+"Create compressed blocklist backups, they will be used in case of download "
+"errors or during startup in 'backup mode'."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:94
+msgid "DNS Chain"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:172
+msgid "DST Target IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:204
+msgid "DST Target IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:89
+msgid "Description"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:29
+msgid ""
+"Disable the automatic WAN detection and select your preferred interface(s) "
+"manually."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:123
+msgid ""
+"Do not automatically update blocklists during startup, use their backups "
+"instead."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:142
+msgid "Download Options"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:42
+msgid "Download Utility"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:105
+msgid "Download Utility (SSL Library)"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:22
+msgid "Edit Blacklist"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:24
+msgid "Edit Configuration"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:23
+msgid "Edit Whitelist"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:111
+msgid "Enable Blocklist Backup"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:20
+msgid "Enable banIP"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:101
+msgid "Enable verbose debug logging in case of any processing error."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:82
+msgid "Enter IP/CIDR/ASN/ISO"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:97
+msgid "Extra Options"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:12
+msgid ""
+"For further information <a href=\"%s\" target=\"_blank\">check the online "
+"documentation</a>"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:129
+msgid ""
+"For further performance improvements you can raise this value, e.g. '8' or "
+"'16' should be safe."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:88
+msgid "Geo Location"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:95
+msgid "IANA Information"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:60
+msgid "IP Blocklist Sources"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:91
+msgid "IP/ASN Mapping"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:111
+msgid "IPSet Information"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:18
+msgid "IPSet-Lookup"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:10
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:9
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:10
+msgid "Input file not found, please check your configuration."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:28
+msgid "Interface Selection"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:161
+msgid "LAN Forward Chain IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:193
+msgid "LAN Forward Chain IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:156
+msgid "LAN Input Chain IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:188
+msgid "LAN Input Chain IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:117
+msgid "Last Run"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:43
+msgid "List of supported and fully pre-configured download utilities."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:59
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:97
+msgid "Load"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:60
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:27
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:58
+msgid "Loading ..."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:104
+msgid "Low Priority Service"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:127
+msgid "Max. Download Queue"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:70
+msgid "No"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:34
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:65
+msgid "No response!"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:98
+msgid ""
+"Options for further tweaking in case the defaults are not suitable for you."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:17
+msgid "Overview"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:32
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:32
+msgid ""
+"Please add only one IPv4 or IPv6 address per line. IP ranges in CIDR "
+"notation and comments introduced with '#' are allowed."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:19
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:18
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:19
+msgid "Please edit this file directly in a terminal session."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:19
+msgid "RIPE-Lookup"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:16
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:126
+msgid "Reload"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:124
+msgid "Reload IPSets"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:91
+msgid "Runtime Information"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:166
+msgid "SRC Target IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:198
+msgid "SRC Target IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:82
+msgid "SRC/DST"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:63
+msgid "SSL req."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:27
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:26
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:27
+msgid "Save"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:105
+msgid ""
+"Set the nice level to 'low priority' and banIP background processing will "
+"take less resources from the system."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ipsetview.htm:51
+msgid "Show only set member with packet counter > 0"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:128
+msgid ""
+"Size of the download queue to handle downloads & IPset processing in "
+"parallel (default '4')."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:143
+msgid ""
+"Special options for the selected download utility, e.g. '--timeout=20 --no-"
+"check-certificate -O'."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:116
+msgid ""
+"Target directory for banIP backups. Please use preferably a non-volatile "
+"disk, e.g. an external usb stick."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:77
+msgid ""
+"The RIPEstat Data API is the public data interface provided by RIPE NCC, for "
+"details look <a href=\"https://stat.ripe.net/docs/data_api\" target=\"_blank"
+"\" rel=\"noopener noreferrer\">here</a>."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:18
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:17
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:18
+msgid "The file size is too large for online editing in LuCI (≥ 100 KB)."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/logview.htm:31
+msgid "The syslog output, pre-filtered for banIP related messages only."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:106
+msgid "This change requires a manual service stop/re-start to take effect."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:40
+msgid "This data call gives access to various data sources maintained by IANA."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:31
+msgid ""
+"This data call lists the Internet resources associated with a country, "
+"including ASNs, IPv4 ranges and IPv4/6 CIDR prefixes."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:25
+msgid "This data call returns all announced prefixes for a given ASN."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:19
+msgid ""
+"This data call returns geolocation information for the given IP space, or "
+"for announced IP prefixes in the case of ASNs."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:28
+msgid ""
+"This data call returns the containing prefix and announcing ASN of a given "
+"IP address."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:37
+msgid ""
+"This data call returns the recursive chain of DNS forward (A/AAAA/CNAME) and "
+"reverse (PTR) records starting form either a hostname or an IP address."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:34
+msgid ""
+"This data call returns whois information from the relevant Regional Internet "
+"Registry and Routing Registry."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:22
+msgid ""
+"This data call shows general informations about an ASN like its announcement "
+"status and the name of its holder according to the WHOIS service."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/blacklist_tab.lua:31
+msgid ""
+"This form allows you to modify the content of the banIP blacklist (%s).<br />"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/whitelist_tab.lua:31
+msgid ""
+"This form allows you to modify the content of the banIP whitelist (%s).<br />"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/configuration_tab.lua:30
+msgid ""
+"This form allows you to modify the content of the main banIP configuration "
+"file (/etc/config/banip)."
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:136
+msgid "Trigger Delay"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:100
+msgid "Verbose Debug Logging"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:20
+msgid "View Logfile"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:151
+msgid "WAN Forward Chain IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:183
+msgid "WAN Forward Chain IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:146
+msgid "WAN Input Chain IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:178
+msgid "WAN Input Chain IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/ripeview.htm:93
+msgid "Whois Information"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:68
+msgid "Yes"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/controller/banip.lua:16
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:10
+msgid "banIP"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:93
+msgid "banIP Status"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/view/banip/runtime.htm:99
+msgid "banIP Version"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:76
+msgid "enable IPv4"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:79
+msgid "enable IPv6"
+msgstr ""
+
+#: applications/luci-app-banip/luasrc/model/cbi/banip/overview_tab.lua:73
+msgid "n/a"
+msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-bmx7/root/www/luci-static/resources/bmx7/js/netjsongraph.js:510
+msgid "+ d.x +"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/www/luci-static/resources/bmx7/js/netjsongraph.js:173
+msgid "+ d3.event.translate +"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:33
+msgid "Announcements"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:27
+msgid "BMX7 revision"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:41
+msgid "Bandwith"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:3
+msgid "Bmx7 mesh nodes"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:44
+msgid "CPU usage"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:12
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:79
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:57
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:81
+msgid "Last Desc"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:14
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:82
+msgid "Last Ref"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:77
+msgid "Link key"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:61
+msgid "LinkLocal Ipv6"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:71
+msgid "Links"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:42
+msgid "Local net"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:60
+msgid "Max rate"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:45
+msgid "Memory usage"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:13
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:80
+msgid "Metric"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:7
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:75
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:76
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:38
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:40
+msgid "Neighbours"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:40
+msgid "Network"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:53
+msgid "Network interfaces"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:39
+msgid "Node"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:18
+msgid "Node configuration"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:25
+msgid "Node key"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:23
+msgid "Node name"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:35
+msgid "Node status"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:39
+msgid "Nodes seen"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:70
+msgid "Originators"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:43
+msgid "Path Metric"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:10
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:78
+msgid "Primary IPv6"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:24
+msgid "Primary IPv6 address"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:62
+msgid "RX BpP"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:80
+msgid "RX rate"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:45
+msgid "Rating"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:78
+msgid "Remote linklocal IPv6"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:82
+msgid "Routes"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:9
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:77
+msgid "S/s/T/t"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:26
+msgid "Short DHash"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:8
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:76
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:22
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:75
+msgid "Short ID"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:58
+msgid "State"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:37
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:63
+msgid "TX BpP"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:81
+msgid "TX rate"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm:44
+msgid "Tun Metric"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:42
+msgid "Tunnelled IPv4 address"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:41
+msgid "Tunnelled IPv6 address"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:46
+msgid "Tx queue"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:59
+msgid "Type"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm:43
+msgid "Uptime"
+msgstr ""
+
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm:11
+#: applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm:79
+msgid "Via Neighbour"
+msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:24
+msgid "Actions"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:72
+msgid "Capture URL"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:68
+msgid "Capture links"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:73
+msgid "Capture time"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:284
+msgid "Clear list"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/controller/cshark.lua:19
+#: applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua:17
+msgid "CloudShark"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua:27
+msgid "CloudShark API token"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua:26
+msgid "CloudShark URL"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:23
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:51
+msgid "Filter"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:21
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:28
+msgid "Interface"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:92
+msgid "Loading"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/model/cbi/admin_network/cshark.lua:22
+msgid "Options"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:54
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:196
+msgid "Start capture"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:17
+msgid "Start network capture"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:181
+msgid "Stop capture"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:93
+msgid "Waiting for capture to complete..."
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:93
+msgid "Waiting for upload to complete..."
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:39
+msgid "any"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:47
+msgid "bytes"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:46
+msgid "packets"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:45
+msgid "seconds"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:22
+msgid "seconds, packets, bytes"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:44
+msgid "timeout, bytes, seconds"
+msgstr ""
+
+#: applications/luci-app-cshark/luasrc/view/cshark.htm:151
+msgid "value for [seconds, packets, bytes] must be Integer"
+msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:123
+msgid "Absolute maximum range for position decoding"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:184
+msgid "Accuracy of receiver location in json metadata"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:112
+msgid "Allow forwarding of received mlat results to output ports"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:193
+msgid "Apply a 1Hz DC filter to input data"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:172
+msgid "Base directory for the internal HTTP server"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:148
+msgid "Collect/show range histogram"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:34
+msgid "Data file"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:165
+msgid "Debug mode flags"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:39
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:185
+msgid "Default"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:133
+msgid "Disable messages with broken CRC"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:130
+msgid "Disable single-bits error correction using CRC"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:142
+msgid "Display raw messages in Beast ascii mode"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:109
+msgid "Do not apply CRC corrections to messages we forward"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:27
+msgid "Enable automatic gain control"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:52
+msgid "Enable decoding of SSR Modes 3/A & 3/C"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:58
+msgid "Enable just networking, no RTL device or file used"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:50
+msgid "Enable networking"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:136
+msgid "Enable phase enhancement"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:127
+msgid "Enable single-bits error correction using CRC"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:10
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:89
+msgid "FlightAware TSV output port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:30
+msgid "Frequency"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:23
+msgid "Gain (-10 for auto-gain)"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:65
+msgid "HTTP server port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:61
+msgid "IP address to bind to"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:196
+msgid "Measure noise power"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:139
+msgid "More CPU for more messages"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:176
+msgid "Periodically write json output to a directory"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:145
+msgid "Print stats at exit"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:19
+msgid "RTL device index"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:115
+msgid "Reference/receiver latitude for surface posn"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:119
+msgid "Reference/receiver longitude for surface posn"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:16
+msgid "Respawn"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:38
+msgid "Sample format for data file"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:168
+msgid "Set receiver error in parts per million"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:151
+msgid "Show and reset stats every seconds"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:155
+msgid "Show only ICAO addresses"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:47
+msgid "Show only messages hex values"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:161
+msgid "Strip IQ file removing samples"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:77
+msgid "TCP BaseStation output listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:81
+msgid "TCP Beast input listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:85
+msgid "TCP Beast output listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:105
+msgid "TCP buffer size 64Kb * (2^n)"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:101
+msgid "TCP heartbeat rate in seconds"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:69
+msgid "TCP raw input listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:55
+msgid "TCP raw output in Beast binary format"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:73
+msgid "TCP raw output listen port"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:97
+msgid "TCP raw output memory flush rate in seconds"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:93
+msgid "TCP raw output minimum size"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:158
+msgid "Use metric units"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:190
+msgid "Use the 2.4MHz demodulator"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:44
+msgid "When reading from a file play back in realtime, not at max speed"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:180
+msgid "Write json output every t seconds"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/controller/dump1090.lua:11
+msgid "dump1090"
+msgstr ""
+
+#: applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua:4
+msgid ""
+"dump1090 is a Mode S decoder specifically designed for RTLSDR devices, here "
+"you can configure the settings."
+msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:80
+msgid "Access denied address"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:29
+msgid "Additional Settings"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:138
+msgid "Age before they should be ignored in seconds"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:94
+msgid "Banned flash replacement"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:85
+msgid "Banned image replacement"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:185
+msgid "Build bannedsitelist and bannedurllist cache files"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:73
+msgid "CSV-style format"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:142
+msgid "Cache for content (AV) scans as 'clean'"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:134
+msgid "Clean result caching for URLs"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:254
+msgid "Content scan exceptions"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:250
+msgid "Content scanner timeout"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:99
+msgid "Custom banned flash file"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:90
+msgid "Custom banned image file"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:72
+msgid "DansgGuardian format, space delimited"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:318
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:322
+msgid ""
+"Defines URL list IPC server directory and filename used to communicate with "
+"the URL cache process"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:231
+msgid "Delete file cache after user completes download"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:326
+msgid "Disable deamoning"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:331
+msgid "Disable logger"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:246
+msgid "Download manager"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/controller/e2guardian.lua:21
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:21
+msgid "E2Guardian"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:336
+msgid "Enable logging of ADs"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:341
+msgid "Enable logging of client user agent"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:346
+msgid "Enable soft restart"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:227
+msgid "File cache directory"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:147
+msgid "Filtering options"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:28
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:160
+msgid "Hex decoding options"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:223
+msgid "How long a persistent connection will wait for other requests"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:42
+msgid "IP address of the proxy"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:314
+msgid "IP list IPC server directory and filename"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:35
+msgid "IP that E2Guardian listens"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:265
+msgid ""
+"If on, it may help solve some problem sites that need to know the source ip."
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:236
+msgid "Initial Trickle delay"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:50
+msgid "Language dir"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:54
+msgid "Language to use"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:115
+msgid "List of IP exceptions"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:111
+msgid "List of banned IPs"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:107
+msgid "List of filter groups"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:65
+msgid "Log Exception Hits"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:71
+msgid "Log File Format"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:281
+msgid "Log child process handling"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:276
+msgid "Log debug info about log()ing and accept()ing"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:58
+msgid "Logging Settings"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:30
+msgid "Logs"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:154
+msgid "Lower caseing options"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:306
+msgid "Max age of child process"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:210
+msgid "Max content file cache scan size"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:200
+msgid "Max content filter size"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:205
+msgid "Max content ram cache scan size"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:310
+msgid "Max number of clinets allowed to connect"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:286
+msgid "Max number of processes to spawn"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:195
+msgid "Max upload size (in Kbytes)"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:294
+msgid "Min number of processes to keep ready"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:290
+msgid "Min number of processes to spawn"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:264
+msgid "Misc setting: forwardedfor"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:270
+msgid "Misc setting: usexforwardedfor"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:87
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:96
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:125
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:144
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:162
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:167
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:172
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:177
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:182
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:187
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:192
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:233
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:256
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:261
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:267
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:273
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:278
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:283
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:328
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:333
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:338
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:343
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:348
+msgid "No"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:103
+msgid "Number of filter groups"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:242
+msgid ""
+"Number of seconds a browser connection is left waiting before being sent "
+"more *something* to keep it alive"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:237
+msgid ""
+"Number of seconds a browser connection is left waiting before first being "
+"sent *something* to keep it alive"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:222
+msgid "Pconn timeout"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:119
+msgid "Per-Room blocking definition directory"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:180
+msgid "Perform reverse lookups on client IPs for successful requests"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:46
+msgid "Port of the proxy"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:38
+msgid "Port that E2Guardian listens"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:190
+msgid "Prefer cached list files"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:76
+msgid "Protex format"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:77
+msgid "Protex format with server field blanked"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:218
+msgid "Proxy header excahnge (20-300)"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:214
+msgid "Proxy timeout (5-100)"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:165
+msgid "Quick search"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:175
+msgid "Reverse lookups for banned and exception IP lists"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:170
+msgid "Reverse lookups for banned site and URLs"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:81
+msgid ""
+"Server to which the cgi e2guardian reporting script was copied. Reporting "
+"levels 1 and 2 only"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:298
+msgid "Sets minimum nuber of processes when it runs out"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:302
+msgid "Sets the maximum number of processes to have doing nothing"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:123
+msgid "Show weighted phrases found"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:74
+msgid "Squid Log File Format"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:75
+msgid "Tab delimited"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:201
+msgid ""
+"The value must not be higher than max content ram cache scan size or 0 to "
+"match it"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:271
+msgid "This is for when you have squid between the clients and E2Guardian"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:206
+msgid "This is the max size of file that DG will download and cache in RAM"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:241
+msgid "Trickle delay"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:128
+msgid "Weighted phrase mode"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:86
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:95
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:124
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:143
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:161
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:166
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:171
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:176
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:181
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:186
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:191
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:232
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:255
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:260
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:266
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:272
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:277
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:282
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:327
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:332
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:337
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:342
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:347
+msgid "Yes"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:62
+msgid "all requests"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:61
+msgid "all text based"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:150
+msgid "both raw and smart"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:197
+msgid "complete block"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:156
+msgid "don't change"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:259
+msgid "e-check replaced URLs"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:155
+msgid "force lower case"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:60
+msgid "just denied"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:68
+msgid "log and mark"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:67
+msgid "log, but don't mark as exceptions"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:151
+msgid "meta/title"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:66
+msgid "never"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:196
+msgid "no blocking"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:311
+msgid "no limit"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:59
+msgid "none"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:129
+msgid "off"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:130
+msgid "on, normal operation"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:131
+msgid "on, phrase found only counts once on a page"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:148
+msgid "raw"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:157
+msgid "scan fist in lower, then in original"
+msgstr ""
+
+#: applications/luci-app-e2guardian/luasrc/model/cbi/e2guardian.lua:149
+msgid "smart"
+msgstr ""
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;
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.nocreate = true;
o.allowany = true;
o.allowlocal = 'src';
- o.default = 'wan';
o = s.taboption('advanced', form.Value, 'src_mac', _('Source MAC address'));
o.modalonly = true;
o.depends('proto', 'tcp udp');
o.depends('proto', 'tcpudp');
- o = s.taboption('general', widgets.ZoneSelect, 'dest_local', _('Output zone'));
- o.modalonly = true;
- o.nocreate = true;
- o.allowany = true;
- o.alias = 'dest';
- o.default = 'wan';
- o.depends('src', '');
-
- o = s.taboption('general', widgets.ZoneSelect, 'dest_remote', _('Destination zone'));
+ o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Destination zone'));
o.modalonly = true;
o.nocreate = true;
o.allowany = true;
o.allowlocal = true;
- o.alias = 'dest';
- o.default = 'lan';
- o.depends({'src': '', '!reverse': true});
o = s.taboption('general', form.Value, 'dest_ip', _('Destination address'));
o.modalonly = true;
o.modalonly = true;
o.default = o.disabled;
- return m.render().catch(function(e) {
- console.debug('render fail')
- });
-
+ return m.render();
}
});
expect: { offload_support: false }
}),
+ callConntrackHelpers: rpc.declare({
+ object: 'luci',
+ method: 'conntrack_helpers',
+ expect: { helpers: [] }
+ }),
+
load: function() {
- return this.callOffloadSupport();
+ return Promise.all([
+ this.callOffloadSupport(),
+ this.callConntrackHelpers()
+ ]);
},
- render: function(hasOffloading) {
- var m, s, o, inp, out;
+ render: function(data) {
+ var hasOffloading = data[0],
+ ctHelpers = 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.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;
zone_networks[0].addNetwork(zone_networks[i].getName());
});
};
+ o.remove = function(section_id) {
+ return uci.set('firewall', section_id, 'network', ' ');
+ };
o = s.taboption('advanced', form.DummyValue, '_advancedinfo');
o.rawhtml = true;
.format(name);
};
+ o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Covered devices'), _('Use this option to classify zone traffic by raw, non-<em>uci</em> managed network devices.'));
+ o.modalonly = 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.placeholder = '0.0.0.0/0';
o.modalonly = true;
- o = s.taboption('advanced', form.Flag, 'conntrack', _('Force connection tracking'));
+ o = s.taboption('conntrack', form.Flag, 'conntrack', _('Force connection tracking'), _('Prevent the installation of <em>NOTRACK</em> rules which would bypass connection tracking.'));
+ 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 <em>invalid</em>. 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, '<span class="hide-close">%s (%s)</span><span class="hide-open">%s</span>'.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.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 <em>iptables</em> arguments to classify zone source traffic, e.g. <code>-p tcp --sport 443</code> 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 <em>iptables</em> arguments to classify zone destination traffic, e.g. <code>-p tcp --dport 443</code> 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;
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-ltqtapi/luasrc/controller/ltqtapi.lua:16
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:7
+msgid "Account"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:28
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:7
+msgid "Contact"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/controller/ltqtapi.lua:17
+msgid "Contacts"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:20
+msgid "Current Telephony State"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:14
+msgid "Dial"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:14
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:7
+msgid "Here You can specify the SIP account that you want to use."
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:7
+msgid "Here You can specify the SIP contacts that you want to use."
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:12
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:13
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:24
+msgid "Port1"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:25
+msgid "Port2"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:11
+msgid "Realm"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:13
+msgid "Shortdial"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:16
+msgid "Type"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm:23
+msgid "Uplink"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:12
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-ltqtapi/luasrc/controller/ltqtapi.lua:13
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/account.lua:4
+#: applications/luci-app-ltqtapi/luasrc/model/cbi/luci_ltqtapi/contact.lua:4
+msgid "VoIP"
+msgstr ""
--- /dev/null
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2.3\n"
+"Last-Translator: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Language: es\n"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:18
+msgid ""
+"<b>Please note:</b> For LXC Containers you need a custom OpenWrt image.<br />"
+msgstr ""
+"<b>Tenga en cuenta:</b> Para los contenedores LXC necesita una imagen "
+"OpenWrt personalizada.<br />"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:29
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:47
+msgid "Actions"
+msgstr "Acciones"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:23
+msgid "Available Containers"
+msgstr "Contenedores disponibles"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:25
+msgid "Containers URL"
+msgstr "URL de los contenedores"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:53
+msgid "Create"
+msgstr "Crear"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:41
+msgid "Create New Container"
+msgstr "Crear nuevo contenedor"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:133
+msgid "Delete"
+msgstr "Borrar"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:31
+msgid "Enable SSL"
+msgstr "Habilitar SSL"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:32
+msgid ""
+"Enable optional SSL encryption support. This requires additional packages "
+"like 'wget', 'ca-certificates', 'gnupg' and 'gnupg-utils'."
+msgstr ""
+"Habilitar el soporte de cifrado SSL opcional. Esto requiere paquetes "
+"adicionales como 'wget', 'ca-certificates', 'gnupg' y 'gnupg-utils'."
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:50
+msgid "Enter new name"
+msgstr "Ingresar nuevo nombre"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:36
+msgid "Free Space Threshold"
+msgstr "Umbral de espacio libre"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:42
+msgid "Free Temp Threshold"
+msgstr "Umbral de temperatura libre"
+
+#: applications/luci-app-lxc/luasrc/controller/lxc.lua:31
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:17
+msgid "LXC Containers"
+msgstr "Contenedores LXC"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:73
+msgid "Loading"
+msgstr "Cargando"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:37
+msgid "Minimum required free space for LXC Container creation in KB"
+msgstr ""
+"Espacio libre mínimo requerido para la creación del contenedor LXC en KB"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:43
+msgid "Minimum required free temp space for LXC Container creation in KB"
+msgstr ""
+"Espacio temporal libre mínimo requerido para la creación del contenedor LXC "
+"en KB"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:27
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:45
+msgid "Name"
+msgstr "Nombre"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:22
+msgid "Options"
+msgstr "Opciones"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:131
+msgid "Start"
+msgstr "Iniciar"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:28
+msgid "Status"
+msgstr "Estado"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:132
+msgid "Stop"
+msgstr "Detener"
+
+#: applications/luci-app-lxc/luasrc/view/lxc.htm:46
+msgid "Template"
+msgstr "Plantilla"
+
+#: applications/luci-app-lxc/luasrc/model/cbi/lxc.lua:19
+msgid ""
+"The image should include at least support for 'kernel cgroups', 'kernel "
+"namespaces' and 'miscellaneous LXC related options' plus 'kmod-veth' for "
+"optional network support."
+msgstr ""
+"La imagen debe incluir al menos soporte para 'kernel cgroups', 'kernel "
+"namespaces' y 'miscellaneous LXC related options' más 'kmod-veth' para "
+"soporte de red opcional."
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-mosquitto/luasrc/controller/mosquitto.lua:15
+msgid "Mosquitto"
+msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:145
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:80
+msgid ""
+"<abbr title=\"Classless Inter-Domain Routing\">CIDR</abbr>-Notation: address/"
+"prefix"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:48
+msgid "Active OpenConnect Users"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:61
+msgid "Active users"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:23
+msgid ""
+"An alternative value to be communicated to the client to verify the server's "
+"certificate; this value only depends on the public key"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:95
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:64
+msgid "AnyConnect client compatibility"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:17
+msgid "Available users"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:13
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:13
+msgid "CA certificate"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:72
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:57
+msgid "Cipher"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:62
+msgid "Collecting data..."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:153
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:111
+msgid "DNS servers"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:81
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:54
+msgid "Dead peer detection time (secs)"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:70
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:55
+msgid "Device"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:14
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:14
+msgid "Edit Template"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:101
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:85
+msgid "Edit the template that is used for generating the ocserv configuration."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:91
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:60
+msgid "Enable UDP"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:92
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:61
+msgid ""
+"Enable UDP channel support; this must be enabled unless you know what you "
+"are doing"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:87
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:88
+msgid "Enable compression"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:127
+msgid "Enable proxy arp"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:16
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:16
+msgid "Enable server"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:96
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:65
+msgid "Enable support for CISCO AnyConnect clients"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:44
+msgid "Firewall Zone"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:12
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:12
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:23
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:67
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:52
+msgid "Group"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:65
+msgid "ID"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:68
+msgid "IP"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:159
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:170
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:117
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:128
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:53
+msgid "IP Address"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:79
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:52
+msgid "Max clients"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:80
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:53
+msgid "Max same clients"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:22
+msgid "Name"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:172
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:131
+msgid "Netmask (or IPv6-prefix)"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/controller/ocserv.lua:14
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:7
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:7
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:7
+msgid "OpenConnect VPN"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:24
+msgid "Password"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:77
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:50
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:83
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:56
+msgid "Predictable IPs"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:128
+msgid ""
+"Provide addresses to clients from a subnet of LAN; if enabled the network "
+"below must be a subnet of LAN. Note that the first address of the specified "
+"subnet will be reserved by ocserv, so it should not be in use. If you have a "
+"network in LAN covering 192.168.1.0/24 use 192.168.1.192/26 to reserve the "
+"upper 62 addresses."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:164
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:122
+msgid "Routing table"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/controller/ocserv.lua:19
+msgid "Server Settings"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:22
+msgid "Server's Public Key ID"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:20
+msgid "Server's certificate SHA1 hash"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:73
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:58
+msgid "Status"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:21
+msgid ""
+"That value should be communicated to the client to verify the server's "
+"certificate"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:112
+msgid "The DNS servers to be provided to clients; can be either IPv6 or IPv4"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:154
+msgid ""
+"The DNS servers to be provided to clients; can be either IPv6 or IPv4. "
+"Typically you should include the address of this device"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:132
+msgid ""
+"The IPv4 subnet address to provide to clients; this should be some private "
+"network different than the LAN addresses unless proxy ARP is enabled. Leave "
+"empty to attempt auto-configuration."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:146
+msgid ""
+"The IPv6 subnet address to provide to clients; leave empty to attempt auto-"
+"configuration."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:84
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:57
+msgid "The assigned IPs will be selected deterministically"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:71
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:38
+msgid ""
+"The authentication method for the users. The simplest is plain with a single "
+"username-password pair. Use PAM modules to authenticate using another server "
+"(e.g., LDAP, Radius)."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:45
+msgid "The firewall zone that the VPN clients will be set to"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:137
+msgid "The mask of the subnet above."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:165
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:123
+msgid ""
+"The routing table to be provided to clients; you can mix IPv4 and IPv6 "
+"routes, the server will send only the appropriate. Leave empty to set a "
+"default route"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:78
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:51
+msgid "The same UDP and TCP ports will be used"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:41
+msgid "There are no active users."
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:71
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:56
+msgid "Time"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:51
+msgid "User"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:70
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:37
+msgid "User Authentication"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/controller/ocserv.lua:24
+msgid "User Settings"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:66
+msgid "Username"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:136
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:72
+msgid "VPN <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:131
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:68
+msgid ""
+"VPN <abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Network-Address"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:145
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:80
+msgid ""
+"VPN <abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Network-Address"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/users.lua:69
+msgid "VPN IP"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/view/ocserv_status.htm:54
+msgid "VPN IP Address"
+msgstr ""
+
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/main.lua:116
+#: applications/luci-app-ocserv/luasrc/model/cbi/ocserv/user-config.lua:100
+msgid ""
+"View the CA certificate used by this server. You will need to save it as 'ca."
+"pem' and import it into the clients."
+msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:159
+msgid "Internal services"
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:56
+msgid ""
+"No services can be shown, because olsrd is not running or the olsrd-"
+"nameservice Plugin is not loaded."
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:131
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:163
+msgid "Protocol"
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/controller/services.lua:13
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:156
+msgid "Services"
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:132
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:164
+msgid "Source"
+msgstr ""
+
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:130
+#: applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm:162
+msgid "Url"
+msgstr ""
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-olsr-viz/luasrc/controller/olsr-viz.lua:4
+msgid "OLSR-Viz"
+msgstr ""
+
+#: applications/luci-app-olsr-viz/luasrc/view/olsr-viz/olsr-viz.htm:4
+msgid "You need to allow javascript in your browser to show this page."
+msgstr ""
"tls_cipher",
"DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:RC4-SHA:RC4-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC4-MD5",
translate("TLS cipher") },
+ { Value,
+ "tls_ciphersuites",
+ "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256",
+ translate("TLS 1.3 or newer cipher") },
{ Value,
"tls_timeout",
2,
--- /dev/null
+msgid ""
+msgstr "Content-Type: text/plain; charset=UTF-8"
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:42
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:38
+msgid "Coredump files directory"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:28
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:30
+msgid "Port"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/controller/squid.lua:20
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:21
+msgid "Squid"
+msgstr ""
+
+#: applications/luci-app-squid/luasrc/model/cbi/squid.lua:34
+msgid "Visible Hostname"
+msgstr ""
this.set('network', ' ');
},
+ getDevices: function() {
+ return L.toArray(this.get('device'));
+ },
+
+ getSubnets: function() {
+ return L.toArray(this.get('subnet'));
+ },
+
getForwardingsBy: function(what) {
var sections = uci.sections('firewall', 'forwarding'),
forwards = [];
size: this.size,
sort: this.keylist,
optional: this.rmempty || this.optional,
+ placeholder: this.placeholder,
validate: L.bind(this.validate, this, section_id)
});
renderWidget: function(section_id, option_index, cfgvalue) {
var values = L.toArray((cfgvalue != null) ? cfgvalue : this.default),
+ isOutputOnly = false,
choices = {};
+ if (this.option == 'dest') {
+ for (var i = 0; i < this.section.children.length; i++) {
+ var opt = this.section.children[i];
+ if (opt.option == 'src') {
+ var val = opt.cfgvalue(section_id) || opt.default;
+ isOutputOnly = (val == null || val == '');
+ break;
+ }
+ }
+
+ this.title = isOutputOnly ? _('Output zone') : _('Destination zone');
+ }
+
if (this.allowlocal) {
choices[''] = E('span', {
'class': 'zonebadge',
}, [
E('strong', _('Device')),
(this.allowany || this.allowlocal)
- ? ' (%s)'.format(this.alias != 'dest' ? _('output') : _('input')) : ''
+ ? ' (%s)'.format(this.option != 'dest' ? _('output') : _('input')) : ''
]);
}
else if (!this.multiple && (this.rmempty || this.optional)) {
'style': 'background-color:' + firewall.getColorForName(null)
}, [
E('strong', _('Any zone')),
- (this.allowany && this.allowlocal) ? ' (%s)'.format(_('forward')) : ''
+ (this.allowany && this.allowlocal && !isOutputOnly) ? ' (%s)'.format(_('forward')) : ''
]);
}
'</li>'
});
- return widget.render();
+ var elem = widget.render();
+
+ if (this.option == 'src') {
+ elem.addEventListener('cbi-dropdown-change', L.bind(function(ev) {
+ var opt = this.map.lookupOption('dest', section_id),
+ val = ev.detail.instance.getValue();
+
+ if (opt == null)
+ return;
+
+ var cbid = opt[0].cbid(section_id),
+ label = document.querySelector('label[for="widget.%s"]'.format(cbid)),
+ node = document.getElementById(cbid);
+
+ L.dom.content(label, val == '' ? _('Output zone') : _('Destination zone'));
+
+ if (val == '') {
+ if (L.dom.callClassMethod(node, 'getValue') == '')
+ L.dom.callClassMethod(node, 'setValue', '*');
+
+ var emptyval = node.querySelector('[data-value=""]'),
+ anyval = node.querySelector('[data-value="*"]');
+
+ L.dom.content(anyval.querySelector('span'), E('strong', _('Any zone')));
+
+ if (emptyval != null)
+ emptyval.parentNode.removeChild(emptyval);
+ }
+ else {
+ var anyval = node.querySelector('[data-value="*"]'),
+ emptyval = node.querySelector('[data-value=""]');
+
+ if (emptyval == null) {
+ emptyval = anyval.cloneNode(true);
+ emptyval.removeAttribute('display');
+ emptyval.removeAttribute('selected');
+ emptyval.setAttribute('data-value', '');
+ }
+
+ L.dom.content(emptyval.querySelector('span'), [
+ E('strong', _('Device')), ' (%s)'.format(_('input'))
+ ]);
+
+ L.dom.content(anyval.querySelector('span'), [
+ E('strong', _('Any zone')), ' (%s)'.format(_('forward'))
+ ]);
+
+ anyval.parentNode.insertBefore(emptyval, anyval);
+ }
+
+ }, this));
+ }
+ else if (isOutputOnly) {
+ var emptyval = elem.querySelector('[data-value=""]');
+ emptyval.parentNode.removeChild(emptyval);
+ }
+
+ return elem;
},
});
__name__: 'CBI.ZoneForwards',
load: function(section_id) {
- return Promise.all([ firewall.getDefaults(), firewall.getZones(), network.getNetworks() ]).then(L.bind(function(dzn) {
- this.defaults = dzn[0];
- this.zones = dzn[1];
- this.networks = dzn[2];
+ return Promise.all([
+ firewall.getDefaults(),
+ firewall.getZones(),
+ network.getNetworks(),
+ network.getDevices()
+ ]).then(L.bind(function(dznd) {
+ this.defaults = dznd[0];
+ this.zones = dznd[1];
+ this.networks = dznd[2];
+ this.devices = dznd[3];
return this.super('load', section_id);
}, this));
renderZone: function(zone) {
var name = zone.getName(),
networks = zone.getNetworks(),
+ devices = zone.getDevices(),
+ subnets = zone.getSubnets(),
ifaces = [];
for (var j = 0; j < networks.length; j++) {
'class': 'ifacebadge' + (network.getName() == this.network ? ' ifacebadge-active' : '')
}, network.getName() + ': ');
- var devices = network.isBridge() ? network.getDevices() : L.toArray(network.getDevice());
+ var subdevs = network.isBridge() ? network.getDevices() : L.toArray(network.getDevice());
- for (var k = 0; k < devices.length && devices[k]; k++) {
+ for (var k = 0; k < subdevs.length && subdevs[k]; k++) {
span.appendChild(E('img', {
- 'title': devices[k].getI18n(),
- 'src': L.resource('icons/%s%s.png'.format(devices[k].getType(), devices[k].isUp() ? '' : '_disabled'))
+ 'title': subdevs[k].getI18n(),
+ 'src': L.resource('icons/%s%s.png'.format(subdevs[k].getType(), subdevs[k].isUp() ? '' : '_disabled'))
}));
}
- if (!devices.length)
+ if (!subdevs.length)
span.appendChild(E('em', _('(empty)')));
ifaces.push(span);
}
+ for (var i = 0; i < devices.length; i++) {
+ var device = this.devices.filter(function(dev) { return dev.getName() == devices[i] })[0],
+ title = device ? device.getI18n() : _('Absent Interface'),
+ type = device ? device.getType() : 'ethernet',
+ up = device ? device.isUp() : false;
+
+ ifaces.push(E('span', { 'class': 'ifacebadge' }, [
+ E('img', {
+ 'title': title,
+ 'src': L.resource('icons/%s%s.png'.format(type, up ? '' : '_disabled'))
+ }),
+ device ? device.getName() : devices[i]
+ ]));
+ }
+
+ if (subnets.length > 0)
+ ifaces.push(E('span', { 'class': 'ifacebadge' }, [ '{ %s }'.format(subnets.join('; ')) ]));
+
if (!ifaces.length)
ifaces.push(E('span', { 'class': 'ifacebadge' }, E('em', _('(empty)'))));
},
});
+var CBIDeviceSelect = form.ListValue.extend({
+ __name__: 'CBI.DeviceSelect',
+
+ load: function(section_id) {
+ return network.getDevices().then(L.bind(function(devices) {
+ this.devices = devices;
+
+ return this.super('load', section_id);
+ }, this));
+ },
+
+ filter: function(section_id, value) {
+ return true;
+ },
+
+ renderWidget: function(section_id, option_index, cfgvalue) {
+ var values = L.toArray((cfgvalue != null) ? cfgvalue : this.default),
+ choices = {},
+ checked = {},
+ order = [];
+
+ for (var i = 0; i < values.length; i++)
+ checked[values[i]] = true;
+
+ values = [];
+
+ if (!this.multiple && (this.rmempty || this.optional))
+ choices[''] = E('em', _('unspecified'));
+
+ for (var i = 0; i < this.devices.length; i++) {
+ var device = this.devices[i],
+ name = device.getName(),
+ type = device.getType();
+
+ if (name == 'lo' || name == this.exclude || !this.filter(section_id, name))
+ continue;
+
+ if (this.noaliases && type == 'alias')
+ continue;
+
+ if (this.nobridges && type == 'bridge')
+ continue;
+
+ if (this.noinactive && device.isUp() == false)
+ continue;
+
+ var item = E([
+ E('img', {
+ 'title': device.getI18n(),
+ 'src': L.resource('icons/%s%s.png'.format(type, device.isUp() ? '' : '_disabled'))
+ }),
+ E('span', { 'class': 'hide-open' }, [ name ]),
+ E('span', { 'class': 'hide-close'}, [ device.getI18n() ])
+ ]);
+
+ var networks = device.getNetworks();
+
+ if (networks.length > 0)
+ L.dom.append(item.lastChild, [ ' (', networks.join(', '), ')' ]);
+
+ if (checked[name])
+ values.push(name);
+
+ choices[name] = item;
+ order.push(name);
+ }
+
+ if (!this.nocreate) {
+ var keys = Object.keys(checked).sort();
+
+ for (var i = 0; i < keys.length; i++) {
+ if (choices.hasOwnProperty(keys[i]))
+ continue;
+
+ choices[keys[i]] = E([
+ E('img', {
+ 'title': _('Absent Interface'),
+ 'src': L.resource('icons/ethernet_disabled.png')
+ }),
+ E('span', { 'class': 'hide-open' }, [ keys[i] ]),
+ E('span', { 'class': 'hide-close'}, [ '%s: "%h"'.format(_('Absent Interface'), keys[i]) ])
+ ]);
+
+ values.push(keys[i]);
+ order.push(keys[i]);
+ }
+ }
+
+ var widget = new ui.Dropdown(this.multiple ? values : values[0], choices, {
+ id: this.cbid(section_id),
+ sort: order,
+ multiple: this.multiple,
+ optional: this.optional || this.rmempty,
+ select_placeholder: E('em', _('unspecified')),
+ display_items: this.display_size || this.size || 3,
+ dropdown_items: this.dropdown_size || this.size || 5,
+ validate: L.bind(this.validate, this, section_id),
+ create: !this.nocreate,
+ create_markup: '' +
+ '<li data-value="{{value}}">' +
+ '<img title="'+_('Custom Interface')+': "{{value}}"" src="'+L.resource('icons/ethernet_disabled.png')+'" />' +
+ '<span class="hide-open">{{value}}</span>' +
+ '<span class="hide-close">'+_('Custom Interface')+': "{{value}}"</span>' +
+ '</li>'
+ });
+
+ return widget.render();
+ },
+});
+
return L.Class.extend({
ZoneSelect: CBIZoneSelect,
ZoneForwards: CBIZoneForwards,
- NetworkSelect: CBINetworkSelect
+ NetworkSelect: CBINetworkSelect,
+ DeviceSelect: CBIDeviceSelect,
});
if (!Array.isArray(value))
value = (value != null && value != '') ? [ value ] : [];
- if (!options.multi && value.length > 1)
+ if (!options.multiple && value.length > 1)
value.length = 1;
this.values = value;
this.choices = choices;
this.options = Object.assign({
- multi: false,
+ multiple: false,
widget: 'select',
orientation: 'horizontal'
}, options);
'name': this.options.name,
'size': this.options.size,
'class': 'cbi-input-select',
- 'multiple': this.options.multi ? '' : null
+ 'multiple': this.options.multiple ? '' : null
}));
if (this.options.optional)
E('input', {
'id': this.options.id ? 'widget.' + this.options.id : null,
'name': this.options.id || this.options.name,
- 'type': this.options.multi ? 'checkbox' : 'radio',
- 'class': this.options.multi ? 'cbi-input-checkbox' : 'cbi-input-radio',
+ 'type': this.options.multiple ? 'checkbox' : 'radio',
+ 'class': this.options.multiple ? 'cbi-input-checkbox' : 'cbi-input-radio',
'value': keys[i],
'checked': (this.values.indexOf(keys[i]) > -1) ? '' : null
}),
this.node = frameEl;
if (this.options.widget == 'select') {
- this.setUpdateEvents(frameEl, 'change', 'click', 'blur');
- this.setChangeEvents(frameEl, 'change');
+ this.setUpdateEvents(frameEl.firstChild, 'change', 'click', 'blur');
+ this.setChangeEvents(frameEl.firstChild, 'change');
}
else {
var radioEls = frameEl.querySelectorAll('input[type="radio"]');
this.choices = choices;
this.options = Object.assign({
sort: true,
- multi: Array.isArray(value),
+ multiple: Array.isArray(value),
optional: true,
select_placeholder: _('-- Please choose --'),
custom_placeholder: _('-- custom --'),
var sb = E('div', {
'id': this.options.id,
'class': 'cbi-dropdown',
- 'multiple': this.options.multi ? '' : null,
+ 'multiple': this.options.multiple ? '' : null,
'optional': this.options.optional ? '' : null,
}, E('ul'));
bind: function(sb) {
var o = this.options;
- o.multi = sb.hasAttribute('multiple');
+ o.multiple = sb.hasAttribute('multiple');
o.optional = sb.hasAttribute('optional');
o.placeholder = sb.getAttribute('placeholder') || o.placeholder;
o.display_items = parseInt(sb.getAttribute('display-items') || o.display_items);
ndisplay = this.options.display_items,
n = 0;
- if (this.options.multi) {
+ if (this.options.multiple) {
var items = ul.querySelectorAll('li');
for (var i = 0; i < items.length; i++) {
if (li.hasAttribute('unselectable'))
return;
- if (this.options.multi) {
+ if (this.options.multiple) {
var cbox = li.querySelector('input[type="checkbox"]'),
items = li.parentNode.querySelectorAll('li'),
label = sb.querySelector('ul.preview'),
element: sb
};
- if (this.options.multi)
+ if (this.options.multiple)
detail.values = values;
else
detail.value = values.length ? values[0] : null;
for (var value in values) {
this.createItems(sb, value);
- if (!this.options.multi)
+ if (!this.options.multiple)
break;
}
}
- if (this.options.multi) {
+ if (this.options.multiple) {
var lis = ul.querySelectorAll('li[data-value]');
for (var i = 0; i < lis.length; i++) {
var value = lis[i].getAttribute('data-value');
val = (value || '').trim(),
ul = sb.querySelector('ul');
- if (!sbox.options.multi)
+ if (!sbox.options.multiple)
val = val.length ? [ val ] : [];
else
val = val.length ? val.split(/\s+/) : [];
else
markup = '<li data-value="{{value}}">{{value}}</li>';
- new_item = E(markup.replace(/{{value}}/g, item));
+ new_item = E(markup.replace(/{{value}}/g, '%h'.format(item)));
- if (sbox.options.multi) {
+ if (sbox.options.multiple) {
sbox.transformItem(sb, new_item);
}
else {
},
setValue: function(values) {
- if (this.options.multi) {
+ if (this.options.multiple) {
if (!Array.isArray(values))
values = (values != null && values != '') ? [ values ] : [];
for (var i = 0; i < h.length; i++)
v.push(h[i].value);
- return this.options.multi ? v : v[0];
+ return this.options.multiple ? v : v[0];
}
});
dropdown_items: -1,
sort: true
}, options, {
- multi: false,
+ multiple: false,
create: true,
optional: true
}) ]);
this.values = values;
this.choices = choices;
this.options = Object.assign({}, options, {
- multi: false,
+ multiple: false,
optional: true
});
},
return chg[1];
case 4:
- return "'" + chg[3].replace(/'/g, "'\"'\"'") + "'";
+ return "'%h'".format(chg[3].replace(/'/g, "'\"'\"'"));
default:
return chg[m1-1];
method: 'post',
timeout: L.env.apply_timeout * 1000,
query: L.ui.changes.confirm_auth
- }).then(call);
+ }).then(call, call);
}, delay);
};
<%+cbi/valueheader%>
<div<%=attr("data-ui-widget", luci.util.serialize_json({
- "Dropdown", self:cfgvalue(section), self:choices(), {
+ "Dropdown", self:cfgvalue(section) or self.default, self:choices(), {
id = cbid,
name = cbid,
sort = self.keylist,
<%+cbi/valueheader%>
<div<%=attr("data-ui-widget", luci.util.serialize_json({
- "DynamicList", self:cfgvalue(section), self:choices(), {
+ "DynamicList", self:cfgvalue(section) or self.default, self:choices(), {
name = cbid,
size = self.size,
sort = self.keylist,
<%+cbi/valueheader%>
<div<%=attr("data-ui-widget", luci.util.serialize_json({
- "Select", self:cfgvalue(section), self:choices(), {
+ "Select", self:cfgvalue(section) or self.default, self:choices(), {
id = cbid,
name = cbid,
size = self.size,
<%+cbi/valueheader%>
<textarea class="cbi-input-textarea" <% if not self.size then %> style="width: 100%"<% else %> cols="<%=self.size%>"<% end %> data-update="change"<%= attr("name", cbid) .. attr("id", cbid) .. ifattr(self.rows, "rows") .. ifattr(self.wrap, "wrap") .. ifattr(self.readonly, "readonly") %>>
- <%-=pcdata(self:cfgvalue(section))-%>
+ <%-=pcdata(self:cfgvalue(section) or self.default)-%>
</textarea>
<%+cbi/valuefooter%>
msgid "No network name specified"
msgstr "Cap nom de xarxa especificat"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "No hi ha regles en aquesta cadena"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "amagat"
msgid "No network name specified"
msgstr "Neuvedeno jméno sítě"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Žádná pravidla v tomto řetězci"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "skrytý"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-26 17:57+0200\n"
-"PO-Revision-Date: 2018-12-13 11:43+0100\n"
+"PO-Revision-Date: 2019-07-19 18:17+0200\n"
"Last-Translator: Jo-Philipp Wich <jo@mein.io>\n"
"Language-Team: \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: Poedit 1.8.11\n"
+"X-Generator: Poedit 2.2.1\n"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/network.lua:133
msgid "%.1f dB"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:382
msgid "0 = not using RSSI threshold, 1 = do not change driver default"
msgstr ""
+"0 = keinen Signal-Schwellwert benutzen, 1 = Treiber-Default nicht ändern"
#: modules/luci-mod-status/luasrc/view/admin_status/load.htm:252
msgid "1 Minute Load:"
#: modules/luci-base/htdocs/luci-static/resources/ui.js:1867
msgid "Apply unchecked"
-msgstr ""
+msgstr "Ungeprüft übernehmen"
#: modules/luci-mod-status/luasrc/view/admin_status/index/10-system.htm:19
msgid "Architecture"
#: modules/luci-base/htdocs/luci-static/resources/form.js:914
msgid "Drag to reorder"
-msgstr ""
+msgstr "Ziehen zum Umsortieren"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/dropbear.lua:9
msgid "Dropbear Instance"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:59
msgid "Expecting: %s"
-msgstr ""
+msgstr "Erwarte: %s"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/index.js:71
msgid "Expires"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:1204
#: modules/luci-base/luasrc/view/view.htm:4
msgid "Loading view…"
-msgstr ""
+msgstr "Lade Seite…"
#: modules/luci-base/htdocs/luci-static/resources/network.js:10
#: modules/luci-base/luasrc/model/network.lua:30
#: modules/luci-mod-system/luasrc/view/admin_system/password.htm:18
msgid "Medium"
-msgstr ""
+msgstr "Mittel"
#: modules/luci-mod-status/luasrc/view/admin_status/index/20-memory.htm:13
msgid "Memory"
#: modules/luci-mod-system/luasrc/view/admin_system/password.htm:14
msgid "More Characters"
-msgstr ""
+msgstr "Mehr Zeichen"
#: modules/luci-base/htdocs/luci-static/resources/form.js:802
msgid "More…"
-msgstr ""
+msgstr "Mehr…"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/fstab/mount.lua:45
msgid "Mount Entry"
msgid "No network name specified"
msgstr "Netzwerkname nicht angegeben"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr "Keine Netzwerke in Reichweite"
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Keine Regeln in dieser Kette"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr "Noch keine Scan-Ergebnisse verfügbar..."
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/network.js:105
msgid "Not started on boot"
-msgstr ""
+msgstr "Beim Hochfahren nicht starten"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/iface_add.lua:26
msgid "Note: interface name length"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:95
msgid "On-Link route"
-msgstr ""
+msgstr "Link-lokale Route"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/leds.js:78
msgid "On-State Delay"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:456
msgid "One of the following: %s"
-msgstr ""
+msgstr "Eine der folgenden Möglichkeiten: %s"
#: modules/luci-base/luasrc/view/cbi/nullsection.htm:17
#: modules/luci-base/luasrc/view/cbi/ucisection.htm:22
#: modules/luci-mod-system/luasrc/view/admin_system/password.htm:18
#: modules/luci-mod-system/luasrc/view/admin_system/password.htm:20
msgid "Password strength"
-msgstr ""
+msgstr "Passwortstärke"
#: protocols/luci-proto-openconnect/luasrc/model/cbi/admin_network/proto_openconnect.lua:44
msgid "Password2"
#: modules/luci-base/htdocs/luci-static/resources/validation.js:482
msgid "Potential negation of: %s"
-msgstr ""
+msgstr "Mögliche Negation von: %s"
#: modules/luci-mod-status/htdocs/luci-static/resources/view/status/index.js:137
msgid "Power Management Mode"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:381
msgid "RSSI threshold for joining"
-msgstr ""
+msgstr "RSSI-Schwellwert für Assoziationen"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:256
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:597
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:72
msgid "Route table"
-msgstr ""
+msgstr "Routen-Tabelle"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:59
msgid "Route type"
#: modules/luci-base/htdocs/luci-static/resources/luci.js:651
msgid "Runtime error"
-msgstr ""
+msgstr "Laufzeitfehler"
#: modules/luci-mod-system/luasrc/view/admin_system/upgrade.htm:29
msgid "SHA256"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:83
msgid "Source Address"
-msgstr ""
+msgstr "Quelladresse"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/fstab/mount.lua:103
msgid "Specifies the directory the device is attached to"
#: modules/luci-mod-system/luasrc/view/admin_system/password.htm:16
msgid "Strong"
-msgstr ""
+msgstr "Stark"
#: modules/luci-base/luasrc/view/cbi/simpleform.htm:61
msgid "Submit"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:77
msgid "Sync with NTP-Server"
-msgstr ""
+msgstr "Mit NTP-Server synchronisieren"
#: modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js:64
msgid "Sync with browser"
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:403
msgid "There are no active leases"
-msgstr ""
+msgstr "Es gibt keine aktiven Leases"
#: modules/luci-base/luasrc/view/lease_status.htm:29
#: modules/luci-base/luasrc/view/lease_status.htm:61
#: modules/luci-base/htdocs/luci-static/resources/ui.js:1973
msgid "There are no changes to apply"
-msgstr ""
+msgstr "Es gibt keine anzuwendenden Änderungen"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/ifaces.lua:204
msgid ""
"'server=1.2.3.4' for domain-specific or full upstream <abbr title=\"Domain "
"Name System\">DNS</abbr> servers."
msgstr ""
+"Diese Datei muss Zeilen in der Form <code>server=/domain/1.2.3.4</code> oder "
+"<code>server=1.2.3.4</code> für domainspezifische oder volle Upstream-DNS-"
+"Server beinhalten."
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/backupfiles.lua:16
msgid ""
#: modules/luci-mod-system/luasrc/view/admin_system/password.htm:20
msgid "Weak"
-msgstr ""
+msgstr "Schwach"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:946
msgid ""
#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/routes.js:84
msgid "automatic"
-msgstr ""
+msgstr "automatisch"
#: modules/luci-mod-network/luasrc/view/admin_network/switch_status.htm:45
msgid "baseT"
msgid "hexadecimal encoded value"
msgstr "hexadezimal kodierten Wert"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "versteckt"
msgid "No network name specified"
msgstr "Δεν έχει οριστεί όνομα δικτύου"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Δεν υπάρχει κανόνας σε αυτή την αλυσίδα"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr ""
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "No rules in this chain."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 03:41+0200\n"
-"PO-Revision-Date: 2019-07-13 22:48-0300\n"
+"PO-Revision-Date: 2019-07-19 17:25-0300\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:368
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:470
msgid "Access Point"
-msgstr "Punto de Acceso"
+msgstr "AP"
#: modules/luci-mod-system/luasrc/view/admin_system/backupfiles.htm:8
#: modules/luci-mod-system/luasrc/view/admin_system/flashops.htm:12
"Enables fast roaming among access points that belong to the same Mobility "
"Domain"
msgstr ""
-"Habilita la itinerancia rápida entre los puntos de acceso que pertenecen al "
-"mismo dominio de movilidad"
+"Habilita la itinerancia rápida entre los APs que pertenecen al mismo dominio "
+"de movilidad"
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/ifaces.lua:272
msgid "Enables the Spanning Tree Protocol on this bridge"
#: protocols/luci-proto-wireguard/luasrc/model/cbi/admin_network/proto_wireguard.lua:30
msgid "Listen Port"
-msgstr "Puerto de escucha"
+msgstr "Puerto"
#: modules/luci-mod-system/luasrc/model/cbi/admin_system/dropbear.lua:15
msgid "Listen only on the given interface or, if unspecified, on all"
msgid "No network name specified"
msgstr "No se ha especificado un nombre de red"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr "No hay redes en rango"
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "No hay reglas en esta cadena."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr "Aún no hay resultados de escaneo disponibles ..."
msgid "hexadecimal encoded value"
msgstr "Valor codificado en hexadecimal"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "Oculto"
msgid "No network name specified"
msgstr "Aucun nom de réseau donné"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Aucune règle dans cette chaîne"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "cacher"
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr ""
msgid "No network name specified"
msgstr "Nincs megadva hálózatnév"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Ez a lánc nem tartalmaz szabályokat"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "rejtett"
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Nessuna regola in questa catena"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "nascosto"
msgid "No network name specified"
msgstr "ネットワーク名が設定されていません"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "チェイン内にルールがありません"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr "利用可能なスキャン結果はまだありません..."
msgid "hexadecimal encoded value"
msgstr "エンコードされた値(16進数)"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "(不明)"
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr ""
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Tidak ada peraturan dalam rantai ini"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr ""
msgid "No network name specified"
msgstr "Ingen nettverksnavn spesifisert"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Ingen regler i denne tabellen"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "skjult"
msgid "No network name specified"
msgstr "Nie podano nazwy sieci"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Brak zasad w tym łańcuchu."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr "Brak wyników skanowania..."
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "ukryty"
msgid "No network name specified"
msgstr "Nenhum nome de rede foi especificado"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Sem regras nesta cadeia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr "Ainda não existem resultados do escaneamento..."
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "ocultar"
msgid "No network name specified"
msgstr "Nome de rede não especificado"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Sem regras nesta cadeia"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "escondido"
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "ascuns"
msgstr ""
"Project-Id-Version: LuCI: base\n"
"POT-Creation-Date: 2010-05-09 01:01+0300\n"
-"PO-Revision-Date: 2019-07-15 15:36+0300\n"
+"PO-Revision-Date: 2019-07-20 15:31+0300\n"
"Last-Translator: Anton Kikin <a.kikin@tano-systems.com>\n"
"Language-Team: http://cyber-place.ru\n"
"Language: ru\n"
msgid "No network name specified"
msgstr "Не задано имя сети"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr "Нет сетей в радиусе действия"
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Нет правил в данной цепочке"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr "Результаты сканирования пока недоступны..."
"the tunnel. Usually the peer's tunnel IP addresses and the networks the peer "
"routes through the tunnel."
msgstr ""
-"Обязательно. IP-адреса и префиксы, которые разрешено использовать этому "
-"пиру внутри туннеля. Обычно IP-адреса и сети пира маршрутизируются "
-"через туннель."
+"Обязательно. IP-адреса и префиксы, которые разрешено использовать этому пиру "
+"внутри туннеля. Обычно IP-адреса и сети пира маршрутизируются через туннель."
#: modules/luci-mod-network/luasrc/model/cbi/admin_network/wifi.lua:1134
msgid ""
msgid "hexadecimal encoded value"
msgstr "значение в шестнадцатеричном представлении"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "скрытый"
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr ""
msgid "No network name specified"
msgstr "Inget nätverksnamn angavs"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Inga regler i den här kedjan"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "gömd"
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr ""
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "gizli"
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"PO-Revision-Date: 2019-07-16 20:35+0300\n"
+"PO-Revision-Date: 2019-07-21 13:22+0300\n"
"Last-Translator: Yurii <yuripet@gmail.com>\n"
"Language-Team: none\n"
"Language: uk\n"
msgid "No network name specified"
msgstr "Ім'я мережі не визначено"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr "Немає мереж у межах досяжності"
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "У цьму ланцюжку нема правил."
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr "Результати сканування наразі недоступні…"
msgid "hexadecimal encoded value"
msgstr "шістнадцяткове кодоване значення"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "прихований"
msgid "No network name specified"
msgstr ""
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "Không có quy luật trong chuỗi này"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr ""
msgid "No network name specified"
msgstr "未指定网络名"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "本链没有规则"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr "还没有可用的扫描结果…"
msgid "hexadecimal encoded value"
msgstr "十六进制编码值"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "隐藏"
msgid "No network name specified"
msgstr "尚未指定網路名稱"
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:147
+msgid "No networks in range"
+msgstr ""
+
#: themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/header.htm:173
#: themes/luci-theme-material/luasrc/view/themes/material/header.htm:211
#: themes/luci-theme-openwrt/luasrc/view/themes/openwrt.org/header.htm:238
msgid "No rules in this chain."
msgstr "尚無規則在這個鏈接上"
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:146
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:150
msgid "No scan results available yet..."
msgstr ""
msgid "hexadecimal encoded value"
msgstr ""
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:137
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wifi_join.js:138
msgid "hidden"
msgstr "隱藏"
local fs = require "nixio.fs"
return { offload_support = not not fs.access("/sys/module/xt_FLOWOFFLOAD/refcnt") }
end
+ },
+
+ conntrack_helpers = {
+ call = function()
+ local fd = io.open("/usr/share/fw3/helpers.conf", "r")
+ local rv = {}
+
+ local line, entry
+ while true do
+ line = fd:read("*l")
+ if not line then
+ break
+ end
+
+ if line:match("^%s*config%s") then
+ if entry then
+ rv[#rv+1] = entry
+ end
+ entry = {}
+ else
+ local opt, val = line:match("^%s*option%s+(%S+)%s+(%S.*)$")
+ if opt and val then
+ opt = opt:gsub("^'(.+)'$", "%1"):gsub('^"(.+)"$', "%1")
+ val = val:gsub("^'(.+)'$", "%1"):gsub('^"(.+)"$', "%1")
+ entry[opt] = val
+ end
+ end
+ end
+
+ if entry then
+ rv[#rv+1] = entry
+ end
+
+ return { helpers = rv }
+ end
}
}
"read": {
"ubus": {
"iwinfo": [ "info" ],
- "luci": [ "boardjson", "duid_hints", "host_hints", "ifaddrs", "initList", "getLocaltime", "leases", "leds", "netdevs", "offload_support", "usb" ],
+ "luci": [ "boardjson", "duid_hints", "host_hints", "ifaddrs", "initList", "getLocaltime", "leases", "leds", "netdevs", "usb" ],
"network.device": [ "status" ],
"network.interface": [ "dump" ],
"network.wireless": [ "status" ],
},
"uci": [ "*" ]
}
+ },
+ "luci-app-firewall": {
+ "description": "Grant access to firewall procedures",
+ "read": {
+ "ubus": {
+ "luci": [ "conntrack_helpers", "offload_support" ]
+ },
+ "uci": [ "firewall" ]
+ },
+ "write": {
+ "uci": [ "firewall" ]
+ }
}
}
var count = 0;
poll = L.poll(3, L.url('admin/network/wireless_scan_results', dev), null, function(s, results) {
+
if (Array.isArray(results)) {
var bss = [];
]);
});
- cbi_update_table(tbl, bss, E('em', { class: 'spinning' }, _('No scan results available yet...')));
+ cbi_update_table(tbl, bss, E('em', {}, _('No networks in range')));
+ }
+ else {
+ cbi_update_table(tbl, [], E('em', { class: 'spinning' }, _('No scan results available yet...')));
}
+
if (count++ >= 3) {
count = 0;
L.post(L.url('admin/network/wireless_scan_trigger', dev, 1), null, function() {});
return results.values[cache_key]
end
- return { }
+ return nil
end
function wifi_scan_trigger(radio, update)
end
if update then
- for _, bss in ipairs(_wifi_get_scan_results(cache_key)) do
- if not bssids[bss.bssid] then
- bss.stale = true
- data[#data + 1] = bss
+ local cached = _wifi_get_scan_results(cache_key)
+ if cached then
+ for _, bss in ipairs(cached) do
+ if not bssids[bss.bssid] then
+ bss.stale = true
+ data[#data + 1] = bss
+ end
end
end
end
function wifi_scan_results(radio)
local results = radio and _wifi_get_scan_results("scan_%s" % radio)
- if results and #results > 0 then
+ if results then
luci.http.prepare_content("application/json")
luci.http.write_json(results)
else
* limitations under the License.
*/
+#define _BSD_SOURCE
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <signal.h>
+#include <endian.h>
#include <sys/stat.h>
#include <sys/mman.h>
#define DB_LD_FILE DB_PATH "/load"
#define IF_SCAN_PATTERN \
- " %[^ :]:%u %u" \
- " %*d %*d %*d %*d %*d %*d" \
- " %u %u"
+ " %[^ :]:%" SCNu64 " %" SCNu64 \
+ " %*u %*u %*u %*u %*u %*u" \
+ " %" SCNu64 " %" SCNu64
#define LD_SCAN_PATTERN \
"%f %f %f"
struct traffic_entry {
uint32_t time;
- uint32_t rxb;
- uint32_t rxp;
- uint32_t txb;
- uint32_t txp;
+ uint64_t rxb;
+ uint64_t rxp;
+ uint64_t txb;
+ uint64_t txp;
};
struct conn_entry {
static inline uint32_t timeof(void *entry)
{
- return ntohl(((struct traffic_entry *)entry)->time);
+ return be32toh(((struct traffic_entry *)entry)->time);
}
static int update_file(const char *path, void *entry, int esize)
static int update_ifstat(
- const char *ifname, uint32_t rxb, uint32_t rxp, uint32_t txb, uint32_t txp
+ const char *ifname, uint64_t rxb, uint64_t rxp, uint64_t txb, uint64_t txp
) {
char path[1024];
}
}
- e.time = htonl(time(NULL));
- e.rxb = htonl(rxb);
- e.rxp = htonl(rxp);
- e.txb = htonl(txb);
- e.txp = htonl(txp);
+ e.time = htobe32(time(NULL));
+ e.rxb = htobe64(rxb);
+ e.rxp = htobe64(rxp);
+ e.txb = htobe64(txb);
+ e.txp = htobe64(txp);
return update_file(path, &e, sizeof(struct traffic_entry));
}
}
}
- e.time = htonl(time(NULL));
- e.rate = htons(rate);
+ e.time = htobe32(time(NULL));
+ e.rate = htobe16(rate);
e.rssi = rssi;
e.noise = noise;
}
}
- e.time = htonl(time(NULL));
- e.udp = htonl(udp);
- e.tcp = htonl(tcp);
- e.other = htonl(other);
+ e.time = htobe32(time(NULL));
+ e.udp = htobe32(udp);
+ e.tcp = htobe32(tcp);
+ e.other = htobe32(other);
return update_file(path, &e, sizeof(struct conn_entry));
}
}
}
- e.time = htonl(time(NULL));
- e.load1 = htons(load1);
- e.load5 = htons(load5);
- e.load15 = htons(load15);
+ e.time = htobe32(time(NULL));
+ e.load1 = htobe16(load1);
+ e.load5 = htobe16(load5);
+ e.load15 = htobe16(load15);
return update_file(path, &e, sizeof(struct load_entry));
}
static int run_daemon(void)
{
FILE *info;
- uint32_t rxb, txb, rxp, txp;
+ uint64_t rxb, txb, rxp, txp;
uint32_t udp, tcp, other;
uint16_t rate;
uint8_t rssi, noise;
if (strstr(line, "TIME_WAIT"))
continue;
- if ((strstr(line, "src=127.0.0.1 ") && strstr(line, "dst=127.0.0.1 "))
+ if ((strstr(line, "src=127.0.0.1 ") && strstr(line, "dst=127.0.0.1 "))
|| (strstr(line, "src=::1 ") && strstr(line, "dst=::1 ")))
continue;
if (!e->time)
continue;
- printf("[ %u, %u, %" PRIu32
- ", %u, %u ]%s\n",
- ntohl(e->time),
- ntohl(e->rxb), ntohl(e->rxp),
- ntohl(e->txb), ntohl(e->txp),
+ printf("[ %" PRIu32 ", %" PRIu64 ", %" PRIu64
+ ", %" PRIu64 ", %" PRIu64 " ]%s\n",
+ be32toh(e->time),
+ be64toh(e->rxb), be64toh(e->rxp),
+ be64toh(e->txb), be64toh(e->txp),
((i + sizeof(struct traffic_entry)) < m.size) ? "," : "");
}
if (!e->time)
continue;
- printf("[ %u, %d, %d, %d ]%s\n",
- ntohl(e->time),
- e->rate, e->rssi, e->noise,
+ printf("[ %" PRIu32 ", %" PRIu16 ", %" PRIu8 ", %" PRIu8 " ]%s\n",
+ be32toh(e->time),
+ be16toh(e->rate), e->rssi, e->noise,
((i + sizeof(struct radio_entry)) < m.size) ? "," : "");
}
if (!e->time)
continue;
- printf("[ %u, %u, %u, %u ]%s\n",
- ntohl(e->time), ntohl(e->udp),
- ntohl(e->tcp), ntohl(e->other),
+ printf("[ %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 " ]%s\n",
+ be32toh(e->time), be32toh(e->udp),
+ be32toh(e->tcp), be32toh(e->other),
((i + sizeof(struct conn_entry)) < m.size) ? "," : "");
}
if (!e->time)
continue;
- printf("[ %u, %u, %u, %u ]%s\n",
- ntohl(e->time),
- ntohs(e->load1), ntohs(e->load5), ntohs(e->load15),
+ printf("[ %" PRIu32 ", %" PRIu16 ", %" PRIu16 ", %" PRIu16 " ]%s\n",
+ be32toh(e->time),
+ be16toh(e->load1), be16toh(e->load5), be16toh(e->load15),
((i + sizeof(struct load_entry)) < m.size) ? "," : "");
}
trigger = s.option(form.ListValue, 'trigger', _('Trigger'));
Object.keys(triggers).sort().forEach(function(t) { trigger.value(t, t.replace(/-/g, '')) });
- trigger.value('usbdev');
- trigger.value('usbport');
+ if (usb.devices && usb.devices.length)
+ trigger.value('usbdev');
+ if (usb.ports && usb.ports.length)
+ trigger.value('usbport');
o = s.option(form.Value, 'delayon', _('On-State Delay'));
o.depends('trigger', 'timer');
o.value('tx', _('Transmit'));
o.value('rx', _('Receive'));
- o = s.option(form.ListValue, '_usb_dev', _('USB Device'));
- o.depends('trigger', 'usbdev');
- o.rmempty = true;
- o.ucioption = 'dev';
- o.remove = function(section_id) {
- var t = trigger.formvalue(section_id);
- if (t != 'netdev' && t != 'usbdev')
- uci.unset('system', section_id, 'dev');
+ if (usb.devices && usb.devices.length) {
+ o = s.option(form.ListValue, '_usb_dev', _('USB Device'));
+ o.depends('trigger', 'usbdev');
+ o.rmempty = true;
+ o.ucioption = 'dev';
+ o.remove = function(section_id) {
+ var t = trigger.formvalue(section_id);
+ if (t != 'netdev' && t != 'usbdev')
+ uci.unset('system', section_id, 'dev');
+ }
+ o.value('');
+ usb.devices.forEach(function(usbdev) {
+ o.value(usbdev.id, '%s (%s - %s)'.format(usbdev.id, usbdev.vendor || '?', usbdev.product || '?'));
+ });
}
- o.value('');
- (usb.devices || []).forEach(function(usbdev) {
- o.value(usbdev.id, '%s (%s - %s)'.format(usbdev.id, usbdev.vendor || '?', usbdev.product || '?'));
- });
- o = s.option(form.MultiValue, 'port', _('USB Ports'));
- o.depends('trigger', 'usbport');
- o.rmempty = true;
- o.cfgvalue = function(section_id) {
- var ports = [],
- value = uci.get('system', section_id, 'port');
-
- if (!Array.isArray(value))
- value = String(value || '').split(/\s+/);
-
- for (var i = 0; i < value.length; i++)
- if (value[i].match(/^usb(\d+)-port(\d+)$/))
- ports.push(value[i]);
- else if (value[i].match(/^(\d+)-(\d+)$/))
- ports.push('usb%d-port%d'.format(Regexp.$1, Regexp.$2));
-
- return ports;
- };
- (usb.ports || []).forEach(function(usbport) {
- o.value('usb%d-port%d'.format(usbport.hub, usbport.port),
- 'Hub %d, Port %d'.format(usbport.hub, usbport.port));
- });
+ if (usb.ports && usb.ports.length) {
+ o = s.option(form.MultiValue, 'port', _('USB Ports'));
+ o.depends('trigger', 'usbport');
+ o.rmempty = true;
+ o.cfgvalue = function(section_id) {
+ var ports = [],
+ value = uci.get('system', section_id, 'port');
+
+ if (!Array.isArray(value))
+ value = String(value || '').split(/\s+/);
+
+ for (var i = 0; i < value.length; i++)
+ if (value[i].match(/^usb(\d+)-port(\d+)$/))
+ ports.push(value[i]);
+ else if (value[i].match(/^(\d+)-(\d+)$/))
+ ports.push('usb%d-port%d'.format(Regexp.$1, Regexp.$2));
+
+ return ports;
+ };
+ usb.ports.forEach(function(usbport) {
+ o.value('usb%d-port%d'.format(usbport.hub, usbport.port),
+ 'Hub %d, Port %d'.format(usbport.hub, usbport.port));
+ });
+ }
o = s.option(form.Value, 'port_mask', _('Switch Port Mask'));
o.depends('trigger', 'switch0');