diff options
Diffstat (limited to 'applications')
154 files changed, 4094 insertions, 4240 deletions
diff --git a/applications/luci-app-adblock/luasrc/model/cbi/adblock.lua b/applications/luci-app-adblock/luasrc/model/cbi/adblock.lua index a197f5593c..2cee302086 100644 --- a/applications/luci-app-adblock/luasrc/model/cbi/adblock.lua +++ b/applications/luci-app-adblock/luasrc/model/cbi/adblock.lua @@ -12,16 +12,25 @@ o1 = s:option(Flag, "adb_enabled", translate("Enable adblock")) o1.rmempty = false o1.default = 0 -o2 = s:option(Value, "adb_blacklist", translate("Blacklist file"), - translate("File with explicitly blacklisted hosts/domains.")) -o2.rmempty = false -o2.datatype = "file" - o3 = s:option(Value, "adb_whitelist", translate("Whitelist file"), translate("File with whitelisted hosts/domains that are allowed despite being on a blocklist.")) o3.rmempty = false o3.datatype = "file" +fdns = s:option(Flag, "adb_forcedns", translate("Redirect all DNS queries to the local resolver"), + translate("When adblock is active, all DNS queries are redirected to the local resolver " .. + "in this server by default. You can disable that to allow queries to external DNS servers.")) +fdns.rmempty = false +fdns.default = fdns.enabled + +-- Statistics + +t = m:section(NamedSection, "global", "adblock", translate("Statistics")) + +dat = t:option(DummyValue, "adb_lastrun", translate("Last update of the blocklists")) +tot = t:option(DummyValue, "adb_overall_count", translate("Total count of blocked domains")) +prc = t:option(DummyValue, "adb_percentage", translate("Percentage of blocked packets (before last update, IPv4/IPv6)")) + -- Blocklist options bl = m:section(TypedSection, "source", translate("Blocklist sources"), @@ -35,8 +44,9 @@ bl.template = "cbi/tblsection" name = bl:option(Flag, "enabled", translate("Enabled")) name.rmempty = false -des = bl:option(DummyValue, "adb_srcdesc", translate("Description")) -des.rmempty = false +des = bl:option(DummyValue, "adb_src_desc", translate("Description")) +cou = bl:option(DummyValue, "adb_src_count", translate("Count")) +upd = bl:option(DummyValue, "adb_src_timestamp", translate("List date/state")) -- Additional options @@ -46,52 +56,46 @@ o4 = s2:option(Flag, "enabled", translate("Enable blocklist backup")) o4.rmempty = false o4.default = 0 -o5 = s2:option(Value, "adb_backupdir", translate("Backup directory")) +o5 = s2:option(Value, "adb_dir", translate("Backup directory")) o5.rmempty = false o5.datatype = "directory" -s3 = m:section(NamedSection, "log", "service", translate("Log options")) - -o6 = s3:option(Flag, "enabled", translate("Enable log")) -o6.rmempty = false -o6.default = 0 - -o7 = s3:option(Value, "adb_logfile", translate("Log file")) -o7.rmempty = false -o7.datatype = "string" - -- Extra options e = m:section(NamedSection, "global", "adblock", translate("Extra options"), translate("Options for further tweaking in case the defaults are not suitable for you.")) -a1 = e:option(Value, "adb_port", translate("Port of the adblock uhttpd instance")) +a0 = e:option(Flag, "adb_restricted", translate("Do not write status info to flash"), + translate("Skip writing update status information to the config file. Status fields on this page will not be updated.")) +a0.default = 0 + +a1 = e:option(Value, "adb_nullport", translate("Port of the adblock uhttpd instance")) a1.optional = true -a1.rmempty = true -a1.default = 65535 +a1.default = 65534 a1.datatype = "port" +a5 = e:option(Value, "adb_nullportssl", translate("Port of the adblock uhttpd instance for https links")) +a5.optional = true +a5.default = 65535 +a5.datatype = "port" + a2 = e:option(Value, "adb_nullipv4", translate("IPv4 blackhole ip address")) a2.optional = true -a2.rmempty = true -a2.default = "192.0.2.1" +a2.default = "198.18.0.1" a2.datatype = "ip4addr" a3 = e:option(Value, "adb_nullipv6", translate("IPv6 blackhole ip address")) a3.optional = true -a3.rmempty = true -a3.default = "::ffff:c000:0201" +a3.default = "::ffff:c612:0001" a3.datatype = "ip6addr" -a6 = e:option(Value, "adb_wanif", translate("Name of the logical wan interface")) -a6.optional = true -a6.rmempty = true -a6.default = "wan" -a6.datatype = "network" +a4 = e:option(Value, "adb_fetchttl", translate("Timeout for blocklist fetch (seconds)")) +a4.optional = true +a4.default = 5 +a4.datatype = "range(2,60)" a7 = e:option(Value, "adb_lanif", translate("Name of the logical lan interface")) a7.optional = true -a7.rmempty = true a7.default = "lan" a7.datatype = "network" diff --git a/applications/luci-app-adblock/po/sv/adblock.po b/applications/luci-app-adblock/po/sv/adblock.po new file mode 100644 index 0000000000..9c0ca21f17 --- /dev/null +++ b/applications/luci-app-adblock/po/sv/adblock.po @@ -0,0 +1,114 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "" +"). Note that list URLs and Shallalist category selections are not " +"configurable via Luci." +msgstr "" + +msgid "Adblock" +msgstr "Blockering av annonser" + +msgid "Available blocklist sources (" +msgstr "Tillgängliga källor för blockeringslistor (" + +msgid "Backup directory" +msgstr "Säkerhetskopiera mapp" + +msgid "Backup options" +msgstr "Alternativ för säkerhetskopiering" + +msgid "Blocklist sources" +msgstr "Källor för blockeringslistor" + +msgid "" +"Configuration of the adblock package to block ad/abuse domains by using DNS." +msgstr "" +"Konfiguration av paket adblock för att blockera annons/otillåtna domäner " +"genom att användning DNS." + +msgid "Count" +msgstr "Räkna" + +msgid "Description" +msgstr "Beskrivning" + +msgid "Do not write status info to flash" +msgstr "Skriv inte status info till flash" + +msgid "Enable adblock" +msgstr "Aktivera abblock" + +msgid "Enable blocklist backup" +msgstr "Aktivera säkerhetskopiering av blockeringslistan" + +msgid "Enabled" +msgstr "Aktiverad" + +msgid "Extra options" +msgstr "Extra alternativ" + +msgid "" +"File with whitelisted hosts/domains that are allowed despite being on a " +"blocklist." +msgstr "" + +msgid "Global options" +msgstr "Globala alternativ" + +msgid "IPv4 blackhole ip address" +msgstr "" + +msgid "IPv6 blackhole ip address" +msgstr "" + +msgid "Last update of the blocklists" +msgstr "" + +msgid "List date/state" +msgstr "" + +msgid "Name of the logical lan interface" +msgstr "" + +msgid "" +"Options for further tweaking in case the defaults are not suitable for you." +msgstr "" + +msgid "Percentage of blocked packets (before last update, IPv4/IPv6)" +msgstr "" + +msgid "Port of the adblock uhttpd instance" +msgstr "" + +msgid "Port of the adblock uhttpd instance for https links" +msgstr "" + +msgid "Redirect all DNS queries to the local resolver" +msgstr "Dirigera om alla DNS-förfrågning till den lokala resolvern" + +msgid "" +"Skip writing update status information to the config file. Status fields on " +"this page will not be updated." +msgstr "" + +msgid "Statistics" +msgstr "" + +msgid "Timeout for blocklist fetch (seconds)" +msgstr "" + +msgid "Total count of blocked domains" +msgstr "" + +msgid "" +"When adblock is active, all DNS queries are redirected to the local resolver " +"in this server by default. You can disable that to allow queries to external " +"DNS servers." +msgstr "" + +msgid "Whitelist file" +msgstr "Vitlista fil" + +msgid "see list details" +msgstr "se listans detaljer" diff --git a/applications/luci-app-adblock/po/templates/adblock.pot b/applications/luci-app-adblock/po/templates/adblock.pot new file mode 100644 index 0000000000..eeb0d975b9 --- /dev/null +++ b/applications/luci-app-adblock/po/templates/adblock.pot @@ -0,0 +1,112 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "" +"). Note that list URLs and Shallalist category selections are not " +"configurable via Luci." +msgstr "" + +msgid "Adblock" +msgstr "" + +msgid "Available blocklist sources (" +msgstr "" + +msgid "Backup directory" +msgstr "" + +msgid "Backup options" +msgstr "" + +msgid "Blocklist sources" +msgstr "" + +msgid "" +"Configuration of the adblock package to block ad/abuse domains by using DNS." +msgstr "" + +msgid "Count" +msgstr "" + +msgid "Description" +msgstr "" + +msgid "Do not write status info to flash" +msgstr "" + +msgid "Enable adblock" +msgstr "" + +msgid "Enable blocklist backup" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "Extra options" +msgstr "" + +msgid "" +"File with whitelisted hosts/domains that are allowed despite being on a " +"blocklist." +msgstr "" + +msgid "Global options" +msgstr "" + +msgid "IPv4 blackhole ip address" +msgstr "" + +msgid "IPv6 blackhole ip address" +msgstr "" + +msgid "Last update of the blocklists" +msgstr "" + +msgid "List date/state" +msgstr "" + +msgid "Name of the logical lan interface" +msgstr "" + +msgid "" +"Options for further tweaking in case the defaults are not suitable for you." +msgstr "" + +msgid "Percentage of blocked packets (before last update, IPv4/IPv6)" +msgstr "" + +msgid "Port of the adblock uhttpd instance" +msgstr "" + +msgid "Port of the adblock uhttpd instance for https links" +msgstr "" + +msgid "Redirect all DNS queries to the local resolver" +msgstr "" + +msgid "" +"Skip writing update status information to the config file. Status fields on " +"this page will not be updated." +msgstr "" + +msgid "Statistics" +msgstr "" + +msgid "Timeout for blocklist fetch (seconds)" +msgstr "" + +msgid "Total count of blocked domains" +msgstr "" + +msgid "" +"When adblock is active, all DNS queries are redirected to the local resolver " +"in this server by default. You can disable that to allow queries to external " +"DNS servers." +msgstr "" + +msgid "Whitelist file" +msgstr "" + +msgid "see list details" +msgstr "" diff --git a/applications/luci-app-adblock/po/zh-cn/adblock.po b/applications/luci-app-adblock/po/zh-cn/adblock.po new file mode 100644 index 0000000000..e57921daa8 --- /dev/null +++ b/applications/luci-app-adblock/po/zh-cn/adblock.po @@ -0,0 +1,125 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: kuoruan@gmail.com\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.5\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "" +"). Note that list URLs and Shallalist category selections are not " +"configurable via Luci." +msgstr ")。需要注意的是列表URL和列表类别选项无法通过Luci设置。" + +msgid "Adblock" +msgstr "Adblock" + +msgid "Available blocklist sources (" +msgstr "可用拦截列表来源(" + +msgid "Backup directory" +msgstr "备份目录" + +msgid "Backup options" +msgstr "备份选项" + +msgid "Blocklist sources" +msgstr "拦截列表来源" + +msgid "" +"Configuration of the adblock package to block ad/abuse domains by using DNS." +msgstr "Adblock 配置工具,通过 DNS 来拦截广告和阻止域名。" + +msgid "Count" +msgstr "数量" + +msgid "Description" +msgstr "描述" + +msgid "Do not write status info to flash" +msgstr "" + +msgid "Enable adblock" +msgstr "启用Adblock" + +msgid "Enable blocklist backup" +msgstr "启用拦截规则备份" + +msgid "Enabled" +msgstr "启用" + +msgid "Extra options" +msgstr "额外选项" + +msgid "" +"File with whitelisted hosts/domains that are allowed despite being on a " +"blocklist." +msgstr "允许的主机/域名列表" + +msgid "Global options" +msgstr "全局选项" + +msgid "IPv4 blackhole ip address" +msgstr "IPv4禁止列表" + +msgid "IPv6 blackhole ip address" +msgstr "IPv6禁止列表" + +msgid "Last update of the blocklists" +msgstr "" + +msgid "List date/state" +msgstr "列表日期/状态" + +msgid "Name of the logical lan interface" +msgstr "LAN接口名称" + +msgid "" +"Options for further tweaking in case the defaults are not suitable for you." +msgstr "在默认设置并不适合你时的额外选项。" + +msgid "Percentage of blocked packets (before last update, IPv4/IPv6)" +msgstr "" + +msgid "Port of the adblock uhttpd instance" +msgstr "Adblock uhttpd端口" + +msgid "Port of the adblock uhttpd instance for https links" +msgstr "" + +msgid "Redirect all DNS queries to the local resolver" +msgstr "将所有DNS查询都重定向到本地解析器" + +msgid "" +"Skip writing update status information to the config file. Status fields on " +"this page will not be updated." +msgstr "" + +msgid "Statistics" +msgstr "" + +msgid "Timeout for blocklist fetch (seconds)" +msgstr "列表查询超时时间(秒)" + +msgid "Total count of blocked domains" +msgstr "阻止域名总数" + +msgid "" +"When adblock is active, all DNS queries are redirected to the local resolver " +"in this server by default. You can disable that to allow queries to external " +"DNS servers." +msgstr "" +"当Adblock处于活动状态时,默认情况下会将所有的DNS查询重定向到此服务器的本地解" +"析器。您可以禁用以允许查询外部DNS服务器。" + +msgid "Whitelist file" +msgstr "白名单文件" + +msgid "see list details" +msgstr "查看列表详情" diff --git a/applications/luci-app-aria2/Makefile b/applications/luci-app-aria2/Makefile new file mode 100644 index 0000000000..f5b006c357 --- /dev/null +++ b/applications/luci-app-aria2/Makefile @@ -0,0 +1,39 @@ +# +# Copyright (C) 2016 Openwrt.org +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-aria2 + +# Version == major.minor.patch +# increase "minor" on new functionality and "patch" on patches/optimization +PKG_VERSION:=1.0.1 + +# Release == build +# increase on changes of translation files +PKG_RELEASE:=2 + +PKG_LICENSE:=Apache-2.0 +PKG_MAINTAINER:=Hsing-Wang Liao <kuoruan@gmail.com> + +# LuCI specific settings +LUCI_TITLE:=LuCI Support for Aria2 +LUCI_DEPENDS:=+aria2 +LUCI_PKGARCH:=all + +define Package/$(PKG_NAME)/config +# shown in make menuconfig <Help> +help + $(LUCI_TITLE) + . + Version: $(PKG_VERSION)-$(PKG_RELEASE) + $(PKG_MAINTAINER) +endef + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature + diff --git a/applications/luci-app-aria2/luasrc/controller/aria2.lua b/applications/luci-app-aria2/luasrc/controller/aria2.lua new file mode 100644 index 0000000000..17289305d7 --- /dev/null +++ b/applications/luci-app-aria2/luasrc/controller/aria2.lua @@ -0,0 +1,42 @@ +--[[ +LuCI - Lua Configuration Interface - aria2 support + +Copyright 2014-2015 nanpuyue <nanpuyue@gmail.com> +Modified by kuoruan <kuoruan@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 +]]-- + +module("luci.controller.aria2", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/aria2") then + return + end + + local page = entry({"admin", "services", "aria2"}, cbi("aria2"), _("Aria2 Settings")) + page.dependent = true + + entry({"admin", "services", "aria2", "status"}, call("status")).leaf = true + +end + +function status() + local sys = require "luci.sys" + local ipkg = require "luci.model.ipkg" + local http = require "luci.http" + local uci = require "luci.model.uci".cursor() + + local status = { + running = (sys.call("pidof aria2c > /dev/null") == 0), + yaaw = ipkg.installed("yaaw"), + webui = ipkg.installed("webui-aria2") + } + + http.prepare_content("application/json") + http.write_json(status) +end diff --git a/applications/luci-app-aria2/luasrc/model/cbi/aria2.lua b/applications/luci-app-aria2/luasrc/model/cbi/aria2.lua new file mode 100644 index 0000000000..3b61f95464 --- /dev/null +++ b/applications/luci-app-aria2/luasrc/model/cbi/aria2.lua @@ -0,0 +1,211 @@ +--[[ +LuCI - Lua Configuration Interface - Aria2 support + +Copyright 2014-2016 nanpuyue <nanpuyue@gmail.com> +Modified by maz-1 <ohmygod19993@gmail.com> +Modified by kuoruan <kuoruan@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 +]]-- + +local sys = require "luci.sys" +local util = require "luci.util" +local uci = require "luci.model.uci".cursor() + +local cfgbtn = "<input type=\"button\" value=\"" .. translate("Generate Randomly") .. "\" onclick=\"randomSecret(32);\" />" +local sessionbtn = "<input class=\"cbi-button mar-10\" type=\"button\" value=\"" .. translate("View Json-RPC URL") .. "\" onclick=\"showRPCURL();\" />" +local aria2rpctxt = "<input class=\"mar-10\" id=\"aria2rpcpath\" onmouseover=\"obj=document.getElementById(this.id);obj.focus();obj.select()\" />" +local use_websocket = "<input id=\"use_websocket\" type=\"checkbox\" /><label for=\"use_websocket\">" .. translate("Use WebSocket") .. "</label>" + +function ipkg_ver(pkg) + local version = nil + local control = io.open("/usr/lib/opkg/info/%s.control" % pkg, "r") + if control then + local ln + repeat + ln = control:read("*l") + if ln and ln:match("^Version: ") then + version = ln:gsub("^Version: ", ""):gsub("-%d", "") + break + end + until not ln + control:close() + end + return version +end + +function ipkg_ver_lined(pkg) + return ipkg_ver(pkg):gsub("%.", "-") +end + +m = Map("aria2", translate("Aria2"), translate("Aria2 is a multi-protocol & multi-source download utility, here you can configure the settings.")) + +m:section(SimpleSection).template = "aria2/overview_status" + +s = m:section(TypedSection, "aria2", translate("Aria2 Settings")) +s.addremove = false +s.anonymous = true + +s:tab("general", translate("General Settings")) +s:tab("file", translate("Files and Locations")) +s:tab("task", translate("Task Settings")) +s:tab("bittorrent", translate("BitTorrent Settings")) + +o = s:taboption("general", Flag, "enabled", translate("Enabled")) +o.rmempty = false + +user = s:taboption("general", ListValue, "user", translate("Run daemon as user")) +local p_user +for _, p_user in util.vspairs(util.split(sys.exec("cat /etc/passwd | cut -f 1 -d :"))) do + user:value(p_user) +end + +o = s:taboption("general", Value, "rpc_listen_port", translate("RPC port")) +o.datatype = "port" +o.placeholder = "6800" + +rpc_auth_method = s:taboption("general", ListValue, "rpc_auth_method", translate("RPC authentication method")) +rpc_auth_method:value("none", translate("No Authentication")) +rpc_auth_method:value("user_pass", translate("Username & Password")) +rpc_auth_method:value("token", translate("Token")) + +o = s:taboption("general", Value, "rpc_user", translate("RPC username")) +o:depends("rpc_auth_method", "user_pass") +o.rmempty = false + +o = s:taboption("general", Value, "rpc_passwd", translate("RPC password")) +o:depends("rpc_auth_method", "user_pass") +o.password = true +o.rmempty = true + +o = s:taboption("general", Value, "rpc_secret", translate("RPC Token"), "<br/>" .. cfgbtn) +o:depends("rpc_auth_method", "token") +o.rmempty = true + +o = s:taboption("file", Value, "config_dir", translate("Config file directory")) +o.placeholder = "/var/etc/aria2" + +o = s:taboption("file", Flag, "enable_log", translate("Enable log"), translate("Log file is in the config file dir.")) +o.enabled = "true" +o.disabled = "false" + +o = s:taboption("file", ListValue, "log_level", translate("Log level")) +o:depends("enable_log", "true") +o:value("debug", translate("Debug")) +o:value("info", translate("Info")) +o:value("notice", translate("Notice")) +o:value("warn", translate("Warn")) +o:value("error", translate("Error")) + +o = s:taboption("file", Value, "dir", translate("Default download directory")) +o.rmempty = false + +o = s:taboption("file", Value, "disk_cache", translate("Disk cache"), translate("in bytes, You can append K or M.")) +o.rmempty = true + +o = s:taboption("file", ListValue, "file_allocation", translate("Preallocation"), translate("\"Falloc\" is not available in all cases.")) +o:value("none", translate("Off")) +o:value("prealloc", translate("Prealloc")) +o:value("trunc", translate("Trunc")) +o:value("falloc", translate("Falloc")) + +overall_speed_limit = s:taboption("task", Flag, "overall_speed_limit", translate("Overall speed limit enabled")) +overall_speed_limit.rmempty = true + +o = s:taboption("task", Value, "max_overall_download_limit", translate("Overall download limit"), translate("in bytes/sec, You can append K or M.")) +o:depends("overall_speed_limit", "1") + +o = s:taboption("task", Value, "max_overall_upload_limit", translate("Overall upload limit"), translate("in bytes/sec, You can append K or M.")) +o:depends("overall_speed_limit", "1") + +task_speed_limit = s:taboption("task", Flag, "task_speed_limit", translate("Per task speed limit enabled")) +task_speed_limit.rmempty = true + +o = s:taboption("task", Value, "max_download_limit", translate("Per task download limit"), translate("in bytes/sec, You can append K or M.")) +o:depends("task_speed_limit", "1") + +o = s:taboption("task", Value, "max_upload_limit", translate("Per task upload limit"), translate("in bytes/sec, You can append K or M.")) +o:depends("task_speed_limit", "1") + +o = s:taboption("task", Value, "max_concurrent_downloads", translate("Max concurrent downloads")) +o.placeholder = "5" + +o = s:taboption("task", Value, "max_connection_per_server", translate("Max connection per server"), "1-16") +o.datetype = "range(1, 16)" +o.placeholder = "1" + +o = s:taboption("task", Value, "min_split_size", translate("Min split size"), "1M-1024M") +o.placeholder = "20M" + +o = s:taboption("task", Value, "split", translate("Max number of split")) +o.placeholder = "5" + +o = s:taboption("task", Value, "save_session_interval", translate("Autosave session interval"), translate("Sec")) +o.default = "30" + +o = s:taboption("task", Value, "user_agent", translate("User agent value")) +o.placeholder = "aria2/" .. ipkg_ver("aria2") + +o = s:taboption("bittorrent", Flag, "enable_dht", translate("<abbr title=\"Distributed Hash Table\">DHT</abbr> enabled")) +o.enabled = "true" +o.disabled = "false" + +o = s:taboption("bittorrent", Flag, "bt_enable_lpd", translate("<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled")) +o.enabled = "true" +o.disabled = "false" + +o = s:taboption("bittorrent", Flag, "follow_torrent", translate("Follow torrent")) +o.enabled = "true" +o.disabled = "false" + +o = s:taboption("bittorrent", Value, "listen_port", translate("BitTorrent listen port")) +o.placeholder = "6881-6999" + +o = s:taboption("bittorrent", Value, "bt_max_peers", translate("Max number of peers per torrent")) +o.placeholder = "55" + +bt_tracker_enable = s:taboption("bittorrent", Flag, "bt_tracker_enable", translate("Additional Bt tracker enabled")) +bt_tracker = s:taboption("bittorrent", DynamicList, "bt_tracker", translate("List of additional Bt tracker")) +bt_tracker:depends("bt_tracker_enable", "1") +bt_tracker.rmempty = true + +function bt_tracker.cfgvalue(self, section) + local rv = {} + local val = Value.cfgvalue(self, section) + if type(val) == "table" then + val = table.concat(val, ",") + elseif not val then + val = "" + end + for v in val:gmatch("[^,%s]+") do + rv[#rv+1] = v + end + return rv +end + +function bt_tracker.write(self, section, value) + local rv = {} + for v in util.imatch(value) do + rv[#rv+1] = v + end + Value.write(self, section, table.concat(rv, ",")) +end + +o = s:taboption("bittorrent", Value, "peer_id_prefix", translate("Prefix of peer ID")) +o.placeholder = "A2-" .. ipkg_ver_lined("aria2") .. "-" + +s = m:section(TypedSection, "aria2", translate("Extra Settings")) +s.addremove = false +s.anonymous = true + +o = s:option(DynamicList, "extra_settings", translate("List of extra settings")) +o.placeholder = "option=value" +o.rmempty = true + +m:section(SimpleSection, nil, sessionbtn .. use_websocket .. aria2rpctxt) + +return m diff --git a/applications/luci-app-aria2/luasrc/view/aria2/overview_status.htm b/applications/luci-app-aria2/luasrc/view/aria2/overview_status.htm new file mode 100644 index 0000000000..b14cca228f --- /dev/null +++ b/applications/luci-app-aria2/luasrc/view/aria2/overview_status.htm @@ -0,0 +1,77 @@ +<script type="text/javascript">//<![CDATA[ +XHR.poll(5, '<%=luci.dispatcher.build_url("admin/services/aria2/status")%>', null, + function(x, data) { + var tb = document.getElementById('aria2_status'); + if (data && tb) { + if (data.running) { + var links = '<em><%:The Aria2 service is running.%></em>'; + if (data.yaaw) { + links += '<input class="cbi-button mar-10" type="button" value="<%:Open YAAW%>" onclick="openWebUI(\'yaaw\');" />'; + } + if (data.webui) { + links += '<input class="cbi-button mar-10" type="button" value="<%:Open WebUI-Aria2%>" onclick="openWebUI(\'webui-aria2\');" />'; + } + tb.innerHTML = links; + } else { + tb.innerHTML = '<em><%:The Aria2 service is not running.%></em>'; + } + } + } +); + +function randomString(len) { + len = len || 32; + var $chars = 'abcdefghijklmnopqrstuvwxyz1234567890'; + var maxPos = $chars.length; + var pwd = ''; + for (i = 0; i < len; i++) { + pwd += $chars.charAt(Math.floor(Math.random() * maxPos)); + } + return pwd; +}; + +function randomSecret() { + var Token = document.getElementById("cbid.aria2.main.rpc_secret"); + Token.value = randomString(32); +}; + +function showRPCURL() { + var websocket = document.getElementById("use_websocket"); + var protocol = (websocket.checked) ? "ws" : "http"; + var newTextNode = document.getElementById("aria2rpcpath"); + var auth_method = document.getElementById("cbid.aria2.main.rpc_auth_method"); + var auth_port = document.getElementById("cbid.aria2.main.rpc_listen_port"); + if (auth_port.value == "") { + auth_port_value = "6800" + } else { + auth_port_value = auth_port.value + }; + if (auth_method.value == "token") { + var auth_token = document.getElementById("cbid.aria2.main.rpc_secret"); + newTextNode.value = protocol + "://token:" + auth_token.value + "@" + document.domain + ":" + auth_port_value + "/jsonrpc"; + } else if (auth_method.value == "user_pass") { + var auth_user = document.getElementById("cbid.aria2.main.rpc_user"); + var auth_passwd = document.getElementById("cbid.aria2.main.rpc_passwd"); + newTextNode.value = protocol + "://" + auth_user.value + ":" + auth_passwd.value + "@" + document.domain + ":" + auth_port_value + "/jsonrpc"; + } else { + newTextNode.value = protocol + "://" + document.domain + ":" + auth_port_value + "/jsonrpc"; + } +}; + +function openWebUI(path) { + var curWwwPath = window.document.location.href; + var pathName = window.document.location.pathname; + var pos = curWwwPath.indexOf(pathName); + var localhostPath = curWwwPath.substring(0, pos); + var url = "http:" + localhostPath.substring(window.location.protocol.length) + "/" + path; + window.open(url) +}; +//]]> +</script> +<style>.mar-10 {margin-left: 10px; margin-right: 10px;}</style> +<fieldset class="cbi-section"> + <legend><%:Aria2 Status%></legend> + <p id="aria2_status"> + <em><%:Collecting data...%></em> + </p> +</fieldset> diff --git a/applications/luci-app-aria2/po/templates/aria2.pot b/applications/luci-app-aria2/po/templates/aria2.pot new file mode 100644 index 0000000000..357c0ae760 --- /dev/null +++ b/applications/luci-app-aria2/po/templates/aria2.pot @@ -0,0 +1,208 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "\"Falloc\" is not available in all cases." +msgstr "" + +msgid "<abbr title=\"Distributed Hash Table\">DHT</abbr> enabled" +msgstr "" + +msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled" +msgstr "" + +msgid "Additional Bt tracker enabled" +msgstr "" + +msgid "Aria2" +msgstr "" + +msgid "Aria2 Settings" +msgstr "" + +msgid "Aria2 Status" +msgstr "" + +msgid "" +"Aria2 is a multi-protocol & multi-source download utility, here you can " +"configure the settings." +msgstr "" + +msgid "Autosave session interval" +msgstr "" + +msgid "BitTorrent Settings" +msgstr "" + +msgid "BitTorrent listen port" +msgstr "" + +msgid "Collecting data..." +msgstr "" + +msgid "Config file directory" +msgstr "" + +msgid "Debug" +msgstr "" + +msgid "Default download directory" +msgstr "" + +msgid "Disk cache" +msgstr "" + +msgid "Enable log" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "Error" +msgstr "" + +msgid "Extra Settings" +msgstr "" + +msgid "Falloc" +msgstr "" + +msgid "Files and Locations" +msgstr "" + +msgid "Follow torrent" +msgstr "" + +msgid "General Settings" +msgstr "" + +msgid "Generate Randomly" +msgstr "" + +msgid "Info" +msgstr "" + +msgid "List of additional Bt tracker" +msgstr "" + +msgid "List of extra settings" +msgstr "" + +msgid "Log file is in the config file dir." +msgstr "" + +msgid "Log level" +msgstr "" + +msgid "Max concurrent downloads" +msgstr "" + +msgid "Max connection per server" +msgstr "" + +msgid "Max number of peers per torrent" +msgstr "" + +msgid "Max number of split" +msgstr "" + +msgid "Min split size" +msgstr "" + +msgid "No Authentication" +msgstr "" + +msgid "Notice" +msgstr "" + +msgid "Off" +msgstr "" + +msgid "Open WebUI-Aria2" +msgstr "" + +msgid "Open YAAW" +msgstr "" + +msgid "Overall download limit" +msgstr "" + +msgid "Overall speed limit enabled" +msgstr "" + +msgid "Overall upload limit" +msgstr "" + +msgid "Per task download limit" +msgstr "" + +msgid "Per task speed limit enabled" +msgstr "" + +msgid "Per task upload limit" +msgstr "" + +msgid "Prealloc" +msgstr "" + +msgid "Preallocation" +msgstr "" + +msgid "Prefix of peer ID" +msgstr "" + +msgid "RPC Token" +msgstr "" + +msgid "RPC authentication method" +msgstr "" + +msgid "RPC password" +msgstr "" + +msgid "RPC port" +msgstr "" + +msgid "RPC username" +msgstr "" + +msgid "Run daemon as user" +msgstr "" + +msgid "Sec" +msgstr "" + +msgid "Task Settings" +msgstr "" + +msgid "The Aria2 service is not running." +msgstr "" + +msgid "The Aria2 service is running." +msgstr "" + +msgid "Token" +msgstr "" + +msgid "Trunc" +msgstr "" + +msgid "Use WebSocket" +msgstr "" + +msgid "User agent value" +msgstr "" + +msgid "Username & Password" +msgstr "" + +msgid "View Json-RPC URL" +msgstr "" + +msgid "Warn" +msgstr "" + +msgid "in bytes, You can append K or M." +msgstr "" + +msgid "in bytes/sec, You can append K or M." +msgstr "" diff --git a/applications/luci-app-aria2/po/zh-cn/aria2.po b/applications/luci-app-aria2/po/zh-cn/aria2.po new file mode 100644 index 0000000000..823699d7bd --- /dev/null +++ b/applications/luci-app-aria2/po/zh-cn/aria2.po @@ -0,0 +1,200 @@ +msgid "Aria2" +msgstr "" + +msgid "Aria2 is a multi-protocol & multi-source download utility, here you can configure the settings." +msgstr "Aria2 是一个支持多协议多线程的下载器, 你可以在这里对其进行配置" + +msgid "Aria2 Status" +msgstr "Aria2 状态" + +msgid "Open YAAW" +msgstr "打开YAAW" + +msgid "Open WebUI-Aria2" +msgstr "打开WebUI-Aria2" + +msgid "The Aria2 service is running." +msgstr "Aria2 正在运行" + +msgid "The Aria2 service is not running." +msgstr "Aria2 未运行" + +msgid "Aria2 Settings" +msgstr "Aria2 配置" + +msgid "General settings" +msgstr "一般设置" + +msgid "Files and Locations" +msgstr "文件和目录" + +msgid "Enabled" +msgstr "启用" + +msgid "Task Settings" +msgstr "任务设置" + +msgid "BitTorrent Settings" +msgstr "BT设置" + +msgid "Run daemon as user" +msgstr "以此用户权限运行" + +msgid "RPC port" +msgstr "RPC端口" + +msgid "RPC authentication method" +msgstr "RPC认证方式" + +msgid "No Authentication" +msgstr "无认证" + +msgid "Username & Password" +msgstr "用户名与密码" + +msgid "Token" +msgstr "令牌" + +msgid "RPC username" +msgstr "RPC用户名" + +msgid "RPC password" +msgstr "RPC密码" + +msgid "RPC Token" +msgstr "RPC令牌" + +msgid "Generate Randomly" +msgstr "随机生成" + +msgid "Enable log" +msgstr "启用日志" + +msgid "Log file is in the config file dir." +msgstr "日志文件在配置文件目录下" + +msgid "Log level" +msgstr "日志记录等级" + +msgid "Debug" +msgstr "调试" + +msgid "Info" +msgstr "信息" + +msgid "Notice" +msgstr "注意" + +msgid "Warn" +msgstr "警告" + +msgid "Error" +msgstr "错误" + +msgid "Config file directory" +msgstr "配置文件目录" + +msgid "Default download directory" +msgstr "默认下载目录" + +msgid "Disk cache" +msgstr "磁盘缓存" + +msgid "in bytes, You can append K or M." +msgstr "单位 B, 你可以在数字后跟上 K 或 M" + +msgid "Preallocation" +msgstr "磁盘预分配" + +msgid "Off" +msgstr "关闭" + +msgid "Prealloc" +msgstr "" + +msgid "Trunc" +msgstr "" + +msgid "Falloc" +msgstr "" + +msgid "\"Falloc\" is not available in all cases." +msgstr "\"Falloc\" 并不是在所有情况下都可用" + +msgid "Overall speed limit enabled" +msgstr "启用全局限速" + +msgid "Overall download limit" +msgstr "全局下载限速" + +msgid "in bytes/sec, You can append K or M." +msgstr "单位 B/s, 你可以在数字后跟上 K 或 M" + +msgid "Overall upload limit" +msgstr "全局上传限速" + +msgid "Per task speed limit enabled" +msgstr "启用单任务限速" + +msgid "Per task download limit" +msgstr "单任务下载限速" + +msgid "Per task upload limit" +msgstr "单任务上传限速" + +msgid "Max concurrent downloads" +msgstr "最大同时下载任务数" + +msgid "Max connection per server" +msgstr "单服务器最大连接数" + +msgid "Min split size" +msgstr "最小文件分片大小" + +msgid "Max number of split" +msgstr "单文件最大线程数" + +msgid "Autosave session interval" +msgstr "定时保存会话间隔" + +msgid "Sec" +msgstr "秒" + +msgid "User agent value" +msgstr "用户代理(UA)" + +msgid "<abbr title=\"Distributed Hash Table\">DHT</abbr> enabled" +msgstr "启用<abbr title=\"分布式哈希表\">DHT</abbr>" + +msgid "<abbr title=\"Local Peer Discovery\">LPD</abbr> enabled" +msgstr "启用<abbr title=\"本地节点发现\">LPD</abbr>" + +msgid "Follow torrent" +msgstr "自动添加下载的种子" + +msgid "BitTorrent listen port" +msgstr "BT监听端口" + +msgid "Max number of peers per torrent" +msgstr "单个种子最大连接数" + +msgid "Additional Bt tracker enabled" +msgstr "添加额外的Tracker" + +msgid "List of additional Bt tracker" +msgstr "附加Tracker列表" + +msgid "Prefix of peer ID" +msgstr "Peer ID前缀" + +msgid "Extra Settings" +msgstr "附加选项" + +msgid "List of extra settings" +msgstr "附加选项列表" + +msgid "View Json-RPC URL" +msgstr "查看 Json-RPC URL" + +msgid "Use WebSocket" +msgstr "使用WebSocket" diff --git a/applications/luci-app-aria2/root/etc/uci-defaults/40_luci-aria2 b/applications/luci-app-aria2/root/etc/uci-defaults/40_luci-aria2 new file mode 100755 index 0000000000..3a9ba5b29a --- /dev/null +++ b/applications/luci-app-aria2/root/etc/uci-defaults/40_luci-aria2 @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@aria2[-1] + add ucitrack aria2 + set ucitrack.@aria2[-1].init=aria2 + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/applications/luci-app-asterisk/luasrc/model/cbi/asterisk-mod-app.lua b/applications/luci-app-asterisk/luasrc/model/cbi/asterisk-mod-app.lua index 0a0a2d512e..72685b0110 100644 --- a/applications/luci-app-asterisk/luasrc/model/cbi/asterisk-mod-app.lua +++ b/applications/luci-app-asterisk/luasrc/model/cbi/asterisk-mod-app.lua @@ -15,7 +15,7 @@ app_authenticate:value("no", "Do Not Load") app_authenticate:value("auto", "Load as Required") app_authenticate.rmempty = true -app_cdr = module:option(ListValue, "app_cdr", "Make sure asterisk doesnt save CDR", "") +app_cdr = module:option(ListValue, "app_cdr", "Make sure asterisk doesn't save CDR", "") app_cdr:value("yes", "Load") app_cdr:value("no", "Do Not Load") app_cdr:value("auto", "Load as Required") @@ -117,7 +117,7 @@ app_externalivr:value("no", "Do Not Load") app_externalivr:value("auto", "Load as Required") app_externalivr.rmempty = true -app_forkcdr = module:option(ListValue, "app_forkcdr", "Fork The CDR into 2 seperate entities", "") +app_forkcdr = module:option(ListValue, "app_forkcdr", "Fork The CDR into 2 separate entities", "") app_forkcdr:value("yes", "Load") app_forkcdr:value("no", "Do Not Load") app_forkcdr:value("auto", "Load as Required") diff --git a/applications/luci-app-asterisk/luasrc/model/cbi/asterisk-mod-res-feature.lua b/applications/luci-app-asterisk/luasrc/model/cbi/asterisk-mod-res-feature.lua index 783aab2b74..7c818760d1 100644 --- a/applications/luci-app-asterisk/luasrc/model/cbi/asterisk-mod-res-feature.lua +++ b/applications/luci-app-asterisk/luasrc/model/cbi/asterisk-mod-res-feature.lua @@ -84,7 +84,7 @@ pickupexten = featurepark:option(Value, "pickupexten", "Pickup extension", "") pickupexten.rmempty = true pickupexten:depends({ parkenabled = "1" }) -transferdigittimeout = featurepark:option(Value, "transferdigittimeout", "Seconds to wait bewteen digits when transferring", "") +transferdigittimeout = featurepark:option(Value, "transferdigittimeout", "Seconds to wait between digits when transferring", "") transferdigittimeout.rmempty = true transferdigittimeout:depends({ parkenabled = "1" }) diff --git a/applications/luci-app-asterisk/po/ca/asterisk.po b/applications/luci-app-asterisk/po/ca/asterisk.po index 9775758e42..aa534432e1 100644 --- a/applications/luci-app-asterisk/po/ca/asterisk.po +++ b/applications/luci-app-asterisk/po/ca/asterisk.po @@ -187,7 +187,7 @@ msgstr "" #~ msgid "Pickup extension" #~ msgstr "Connector de recol·lecció" -#~ msgid "Seconds to wait bewteen digits when transferring" +#~ msgid "Seconds to wait between digits when transferring" #~ msgstr "Segons a esperar entre dígits quan es transfereix" #~ msgid "sound when attended transfer is complete" @@ -247,7 +247,7 @@ msgstr "" #~ msgid "Authentication Application" #~ msgstr "Aplicació d'autenticació" -#~ msgid "Make sure asterisk doesnt save CDR" +#~ msgid "Make sure asterisk doesn't save CDR" #~ msgstr "Assegura't que asterisk no desa CDR" #~ msgid "Check if channel is available" @@ -298,7 +298,7 @@ msgstr "" #~ msgid "External IVR application interface" #~ msgstr "Interfície d'aplicació IVR externa" -#~ msgid "Fork The CDR into 2 seperate entities" +#~ msgid "Fork The CDR into 2 separate entities" #~ msgstr "Bifurca el CDR en 2 entitats separades" #~ msgid "Get ADSI CPE ID" diff --git a/applications/luci-app-asterisk/po/en/asterisk.po b/applications/luci-app-asterisk/po/en/asterisk.po index e462f56b86..fc095087e2 100644 --- a/applications/luci-app-asterisk/po/en/asterisk.po +++ b/applications/luci-app-asterisk/po/en/asterisk.po @@ -187,8 +187,8 @@ msgstr "" #~ msgid "Pickup extension" #~ msgstr "Pickup extension" -#~ msgid "Seconds to wait bewteen digits when transferring" -#~ msgstr "Seconds to wait bewteen digits when transferring" +#~ msgid "Seconds to wait between digits when transferring" +#~ msgstr "Seconds to wait between digits when transferring" #~ msgid "sound when attended transfer is complete" #~ msgstr "sound when attended transfer is complete" @@ -247,8 +247,8 @@ msgstr "" #~ msgid "Authentication Application" #~ msgstr "Authentication Application" -#~ msgid "Make sure asterisk doesnt save CDR" -#~ msgstr "Make sure asterisk doesnt save CDR" +#~ msgid "Make sure asterisk doesn't save CDR" +#~ msgstr "Make sure asterisk doesn't save CDR" #~ msgid "Check if channel is available" #~ msgstr "Check if channel is available" @@ -298,8 +298,8 @@ msgstr "" #~ msgid "External IVR application interface" #~ msgstr "External IVR application interface" -#~ msgid "Fork The CDR into 2 seperate entities" -#~ msgstr "Fork The CDR into 2 seperate entities" +#~ msgid "Fork The CDR into 2 separate entities" +#~ msgstr "Fork The CDR into 2 separate entities" #~ msgid "Get ADSI CPE ID" #~ msgstr "Get ADSI CPE ID" diff --git a/applications/luci-app-asterisk/po/es/asterisk.po b/applications/luci-app-asterisk/po/es/asterisk.po index 8e2fe1e307..f42ddb4fd5 100644 --- a/applications/luci-app-asterisk/po/es/asterisk.po +++ b/applications/luci-app-asterisk/po/es/asterisk.po @@ -188,7 +188,7 @@ msgstr "" #~ msgid "Pickup extension" #~ msgstr "Extensión de Pickup" -#~ msgid "Seconds to wait bewteen digits when transferring" +#~ msgid "Seconds to wait between digits when transferring" #~ msgstr "Segundos de espera entre digitos mientras se transfiere" #~ msgid "sound when attended transfer is complete" @@ -248,7 +248,7 @@ msgstr "" #~ msgid "Authentication Application" #~ msgstr "Aplicación de autenticación" -#~ msgid "Make sure asterisk doesnt save CDR" +#~ msgid "Make sure asterisk doesn't save CDR" #~ msgstr "Asegúrate que asterisk no graba CDR" #~ msgid "Check if channel is available" @@ -296,7 +296,7 @@ msgstr "" #~ msgid "External IVR application interface" #~ msgstr "Interfaz de aplicación IVR externa" -#~ msgid "Fork The CDR into 2 seperate entities" +#~ msgid "Fork The CDR into 2 separate entities" #~ msgstr "Bifurcar el CDR en 2 entidades separadas" #~ msgid "Get ADSI CPE ID" diff --git a/applications/luci-app-asterisk/po/fr/asterisk.po b/applications/luci-app-asterisk/po/fr/asterisk.po index 75c1d38e43..63d085a1af 100644 --- a/applications/luci-app-asterisk/po/fr/asterisk.po +++ b/applications/luci-app-asterisk/po/fr/asterisk.po @@ -158,7 +158,7 @@ msgstr "" #~ msgid "Parking time (secs)" #~ msgstr "Durée de mise en parking (secondes)" -#~ msgid "Seconds to wait bewteen digits when transferring" +#~ msgid "Seconds to wait between digits when transferring" #~ msgstr "Attente en secondes entre les chiffres Lors d'un transfert" #~ msgid "sound when attended transfer is complete" @@ -218,7 +218,7 @@ msgstr "" #~ msgid "Authentication Application" #~ msgstr "Application d'authentification" -#~ msgid "Make sure asterisk doesnt save CDR" +#~ msgid "Make sure asterisk doesn't save CDR" #~ msgstr "S'assure qu'Asterisk ne sauve pas le CDR" #~ msgid "Check if channel is available" @@ -254,7 +254,7 @@ msgstr "" #~ msgid "External IVR application interface" #~ msgstr "Interface d'application SVI externe" -#~ msgid "Fork The CDR into 2 seperate entities" +#~ msgid "Fork The CDR into 2 separate entities" #~ msgstr "Dupliquer le CDR en deux entités séparées" #~ msgid "Get ADSI CPE ID" diff --git a/applications/luci-app-asterisk/po/it/asterisk.po b/applications/luci-app-asterisk/po/it/asterisk.po index 9eb24da5d1..f2aa51e96f 100644 --- a/applications/luci-app-asterisk/po/it/asterisk.po +++ b/applications/luci-app-asterisk/po/it/asterisk.po @@ -125,7 +125,7 @@ msgstr "" #~ msgid "Pickup extension" #~ msgstr "Estensione Pickup" -#~ msgid "Seconds to wait bewteen digits when transferring" +#~ msgid "Seconds to wait between digits when transferring" #~ msgstr "Secondi di attesa tra le cifre per il trasferimento" #~ msgid "Sound when attended transfer fails" diff --git a/applications/luci-app-asterisk/po/ms/asterisk.po b/applications/luci-app-asterisk/po/ms/asterisk.po index e1260e1ba5..d4b6baac90 100644 --- a/applications/luci-app-asterisk/po/ms/asterisk.po +++ b/applications/luci-app-asterisk/po/ms/asterisk.po @@ -196,7 +196,7 @@ msgstr "" #~ msgid "Pickup extension" #~ msgstr "Angkat sambungan" -#~ msgid "Seconds to wait bewteen digits when transferring" +#~ msgid "Seconds to wait between digits when transferring" #~ msgstr "Detik untuk menunggu antara nombor ketika memindahkan" #~ msgid "sound when attended transfer is complete" @@ -256,7 +256,7 @@ msgstr "" #~ msgid "Authentication Application" #~ msgstr "Pengesahan Aplikasi" -#~ msgid "Make sure asterisk doesnt save CDR" +#~ msgid "Make sure asterisk doesn't save CDR" #~ msgstr "Membuat asterisk yakin tidak menyimpan CDR" #~ msgid "Check if channel is available" @@ -307,7 +307,7 @@ msgstr "" #~ msgid "External IVR application interface" #~ msgstr "IVR aplikasi antara muka luaran" -#~ msgid "Fork The CDR into 2 seperate entities" +#~ msgid "Fork The CDR into 2 separate entities" #~ msgstr "CDR garpu menjadi 2 entiti yang berasingan" #~ msgid "Get ADSI CPE ID" diff --git a/applications/luci-app-asterisk/po/pt-br/asterisk.po b/applications/luci-app-asterisk/po/pt-br/asterisk.po index 07d7052809..00a0bb6431 100644 --- a/applications/luci-app-asterisk/po/pt-br/asterisk.po +++ b/applications/luci-app-asterisk/po/pt-br/asterisk.po @@ -194,7 +194,7 @@ msgstr "" #~ msgid "Pickup extension" #~ msgstr "Extensão de captura" -#~ msgid "Seconds to wait bewteen digits when transferring" +#~ msgid "Seconds to wait between digits when transferring" #~ msgstr "Segundos para esperar entre os dígitos quando transferindo" #~ msgid "sound when attended transfer is complete" @@ -254,7 +254,7 @@ msgstr "" #~ msgid "Authentication Application" #~ msgstr "Aplicativo de Autenticação" -#~ msgid "Make sure asterisk doesnt save CDR" +#~ msgid "Make sure asterisk doesn't save CDR" #~ msgstr "Garanta que o asterisk não salva o CDR" #~ msgid "Check if channel is available" @@ -305,7 +305,7 @@ msgstr "" #~ msgid "External IVR application interface" #~ msgstr "Interface de aplicativo IVR externo" -#~ msgid "Fork The CDR into 2 seperate entities" +#~ msgid "Fork The CDR into 2 separate entities" #~ msgstr "Bifurcar o CDR em duas entidades separadas" #~ msgid "Get ADSI CPE ID" diff --git a/applications/luci-app-asterisk/po/ru/asterisk.po b/applications/luci-app-asterisk/po/ru/asterisk.po index acedb82e60..d27ba33d7c 100644 --- a/applications/luci-app-asterisk/po/ru/asterisk.po +++ b/applications/luci-app-asterisk/po/ru/asterisk.po @@ -197,7 +197,7 @@ msgstr "" #~ msgid "Authentication Application" #~ msgstr "Приложение аутентификации" -#~ msgid "Make sure asterisk doesnt save CDR" +#~ msgid "Make sure asterisk doesn't save CDR" #~ msgstr "Убедитесь что Asterisk не сохраняет CDR" #~ msgid "Check if channel is available" diff --git a/applications/luci-app-asterisk/po/vi/asterisk.po b/applications/luci-app-asterisk/po/vi/asterisk.po index d1cc6b255f..133f864abb 100644 --- a/applications/luci-app-asterisk/po/vi/asterisk.po +++ b/applications/luci-app-asterisk/po/vi/asterisk.po @@ -187,7 +187,7 @@ msgstr "" #~ msgid "Pickup extension" #~ msgstr "Pickup extension" -#~ msgid "Seconds to wait bewteen digits when transferring" +#~ msgid "Seconds to wait between digits when transferring" #~ msgstr "Thời gian chờ giữa những chữ số khi chuyển đổi" #~ msgid "sound when attended transfer is complete" @@ -247,7 +247,7 @@ msgstr "" #~ msgid "Authentication Application" #~ msgstr "Ứng dụng xác thực" -#~ msgid "Make sure asterisk doesnt save CDR" +#~ msgid "Make sure asterisk doesn't save CDR" #~ msgstr "Bảo đảm asterisk không lưu CDR" #~ msgid "Check if channel is available" @@ -298,7 +298,7 @@ msgstr "" #~ msgid "External IVR application interface" #~ msgstr "Ứng dụng giao diện bên ngoài IVR" -#~ msgid "Fork The CDR into 2 seperate entities" +#~ msgid "Fork The CDR into 2 separate entities" #~ msgstr "Fork The CDR into 2 nhân riêng biệt" #~ msgid "Get ADSI CPE ID" diff --git a/applications/luci-app-coovachilli/po/ca/coovachilli.po b/applications/luci-app-coovachilli/po/ca/coovachilli.po index 085d9917d6..4970a1270e 100644 --- a/applications/luci-app-coovachilli/po/ca/coovachilli.po +++ b/applications/luci-app-coovachilli/po/ca/coovachilli.po @@ -449,7 +449,7 @@ msgstr "Autenticació UAM i MAC" #~ msgstr "Fitxers d'usuaris local" #~ msgid "" -#~ "A colon seperated file containing usernames and passwords of locally " +#~ "A colon separated file containing usernames and passwords of locally " #~ "authenticated users" #~ msgstr "" #~ "Un fitxer contenint usuaris i contrasenyes separats per punts d'usuaris " @@ -604,7 +604,7 @@ msgstr "Autenticació UAM i MAC" #~ msgid "" #~ "Executable to run as a CGI type program (like haserl) for URLs with " -#~ "extention .chi" +#~ "extension .chi" #~ msgstr "" #~ "Executable per executar com un programa de tipus CGI (com el haserl) per " #~ "URLs amb extensió .chi" diff --git a/applications/luci-app-coovachilli/po/cs/coovachilli.po b/applications/luci-app-coovachilli/po/cs/coovachilli.po index 0dc5fc0cd3..bc7ef7a584 100644 --- a/applications/luci-app-coovachilli/po/cs/coovachilli.po +++ b/applications/luci-app-coovachilli/po/cs/coovachilli.po @@ -225,7 +225,7 @@ msgstr "UAM a MAC ověřování" #~ msgstr "Soubor s místními uživateli" #~ msgid "" -#~ "A colon seperated file containing usernames and passwords of locally " +#~ "A colon separated file containing usernames and passwords of locally " #~ "authenticated users" #~ msgstr "" #~ "Soubor, obsahující uživatelská jména a hesla místně ověřovaných " diff --git a/applications/luci-app-coovachilli/po/de/coovachilli.po b/applications/luci-app-coovachilli/po/de/coovachilli.po index d8322db3ef..79955d7ba5 100644 --- a/applications/luci-app-coovachilli/po/de/coovachilli.po +++ b/applications/luci-app-coovachilli/po/de/coovachilli.po @@ -454,7 +454,7 @@ msgstr "UAM- und MAC-Authentifizierung" #, fuzzy #~ msgid "" -#~ "A colon seperated file containing usernames and passwords of locally " +#~ "A colon separated file containing usernames and passwords of locally " #~ "authenticated users" #~ msgstr "Netzwerk/TUN Konfiguration" @@ -598,7 +598,7 @@ msgstr "UAM- und MAC-Authentifizierung" #, fuzzy #~ msgid "" #~ "Executable to run as a CGI type program (like haserl) for URLs with " -#~ "extention .chi" +#~ "extension .chi" #~ msgstr "Netzwerk/TUN Konfiguration" #, fuzzy diff --git a/applications/luci-app-coovachilli/po/en/coovachilli.po b/applications/luci-app-coovachilli/po/en/coovachilli.po index ebaa3452b2..6d7c747a55 100644 --- a/applications/luci-app-coovachilli/po/en/coovachilli.po +++ b/applications/luci-app-coovachilli/po/en/coovachilli.po @@ -436,10 +436,10 @@ msgstr "" #~ msgstr "Local users file" #~ msgid "" -#~ "A colon seperated file containing usernames and passwords of locally " +#~ "A colon separated file containing usernames and passwords of locally " #~ "authenticated users" #~ msgstr "" -#~ "A colon seperated file containing usernames and passwords of locally " +#~ "A colon separated file containing usernames and passwords of locally " #~ "authenticated users" #~ msgid "Location name" @@ -588,10 +588,10 @@ msgstr "" #~ msgid "" #~ "Executable to run as a CGI type program (like haserl) for URLs with " -#~ "extention .chi" +#~ "extension .chi" #~ msgstr "" #~ "Executable to run as a CGI type program (like haserl) for URLs with " -#~ "extention .chi" +#~ "extension .chi" #~ msgid "Web content directory" #~ msgstr "Web content directory" diff --git a/applications/luci-app-coovachilli/po/pt-br/coovachilli.po b/applications/luci-app-coovachilli/po/pt-br/coovachilli.po index 9c219812fb..46ed3581b0 100644 --- a/applications/luci-app-coovachilli/po/pt-br/coovachilli.po +++ b/applications/luci-app-coovachilli/po/pt-br/coovachilli.po @@ -445,7 +445,7 @@ msgstr "Autenticação UAM e MAC" #~ msgstr "Arquivo de usuários locais" #~ msgid "" -#~ "A colon seperated file containing usernames and passwords of locally " +#~ "A colon separated file containing usernames and passwords of locally " #~ "authenticated users" #~ msgstr "" #~ "Um arquivo separado por dois pontos (:) contendo o nome de usuário e " @@ -602,7 +602,7 @@ msgstr "Autenticação UAM e MAC" #~ msgid "" #~ "Executable to run as a CGI type program (like haserl) for URLs with " -#~ "extention .chi" +#~ "extension .chi" #~ msgstr "" #~ "Executável para rodar como um programa do tipo CGI (como o haserl) para " #~ "URLs com a extensão .chi" diff --git a/applications/luci-app-coovachilli/po/pt/coovachilli.po b/applications/luci-app-coovachilli/po/pt/coovachilli.po index 115ae03ae0..c2cccc31ae 100644 --- a/applications/luci-app-coovachilli/po/pt/coovachilli.po +++ b/applications/luci-app-coovachilli/po/pt/coovachilli.po @@ -350,7 +350,7 @@ msgstr "Autenticação UAM e MAC" #, fuzzy #~ msgid "" #~ "Executable to run as a CGI type program (like haserl) for URLs with " -#~ "extention .chi" +#~ "extension .chi" #~ msgstr "" #~ "Usado para informar o cliente sobre o dominio a utilizar para pedidos DNS" diff --git a/applications/luci-app-coovachilli/po/ru/coovachilli.po b/applications/luci-app-coovachilli/po/ru/coovachilli.po index 379ff7eaa6..3420e24f70 100644 --- a/applications/luci-app-coovachilli/po/ru/coovachilli.po +++ b/applications/luci-app-coovachilli/po/ru/coovachilli.po @@ -387,7 +387,7 @@ msgstr "Аутентификация с помощью UAM и MAC" #~ msgstr "Локальный файл пользователей" #~ msgid "" -#~ "A colon seperated file containing usernames and passwords of locally " +#~ "A colon separated file containing usernames and passwords of locally " #~ "authenticated users" #~ msgstr "" #~ "Файл, содержащий логины и пароли локально авторизованных пользователей " diff --git a/applications/luci-app-coovachilli/po/vi/coovachilli.po b/applications/luci-app-coovachilli/po/vi/coovachilli.po index 66abf0dc6c..dc27f8b7a2 100644 --- a/applications/luci-app-coovachilli/po/vi/coovachilli.po +++ b/applications/luci-app-coovachilli/po/vi/coovachilli.po @@ -551,7 +551,7 @@ msgstr "" #, fuzzy #~ msgid "" #~ "Executable to run as a CGI type program (like haserl) for URLs with " -#~ "extention .chi" +#~ "extension .chi" #~ msgstr "Thống nhất cấu hình phương pháp cài đặt" #, fuzzy diff --git a/applications/luci-app-ddns/Makefile b/applications/luci-app-ddns/Makefile index 146560efac..88c905a41a 100644 --- a/applications/luci-app-ddns/Makefile +++ b/applications/luci-app-ddns/Makefile @@ -1,16 +1,18 @@ # -# Copyright (C) 2008-2016 The LuCI Team <luci@lists.subsignal.org> -# -# This is free software, licensed under the Apache License, Version 2.0 . +# Copyright 2008 Steven Barth <steven@midlink.org> +# Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> +# Copyright 2013 Manuel Munz <freifunk at somakoma dot de> +# Copyright 2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com> # +# This is free software, licensed under the Apache License, Version 2.0 include $(TOPDIR)/rules.mk -PKG_NAME:=luci-app-ddns +# PKG_NAME:=luci-app-ddns # Version == major.minor.patch # increase on new functionality (minor) or patches (patch) -PKG_VERSION:=2.4.1 +PKG_VERSION:=2.4.8 # Release == build # increase on changes of translation files @@ -22,15 +24,13 @@ PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com> # LuCI specific settings LUCI_TITLE:=LuCI Support for Dynamic DNS Client (ddns-scripts) LUCI_DEPENDS:=+luci-mod-admin-full +ddns-scripts -LUCI_PKGARCH:=all +# LUCI_PKGARCH:=all define Package/$(PKG_NAME)/config # shown in make menuconfig <Help> help $(LUCI_TITLE) - . Version: $(PKG_VERSION)-$(PKG_RELEASE) - $(PKG_MAINTAINER) endef include ../../luci.mk diff --git a/applications/luci-app-ddns/luasrc/controller/ddns.lua b/applications/luci-app-ddns/luasrc/controller/ddns.lua index 7cfbc56a0b..63bb8bf4be 100755 --- a/applications/luci-app-ddns/luasrc/controller/ddns.lua +++ b/applications/luci-app-ddns/luasrc/controller/ddns.lua @@ -17,12 +17,14 @@ local UCI = require "luci.model.uci" local UTIL = require "luci.util" local DDNS = require "luci.tools.ddns" -- ddns multiused functions +luci_helper = "/usr/lib/ddns/dynamic_dns_lucihelper.sh" + local srv_name = "ddns-scripts" -local srv_ver_min = "2.6.0" -- minimum version of service required -local srv_ver_cmd = [[/usr/lib/ddns/dynamic_dns_updater.sh --version | awk {'print $2'}]] +local srv_ver_min = "2.7.6" -- minimum version of service required +local srv_ver_cmd = luci_helper .. [[ -V | awk {'print $2'}]] local app_name = "luci-app-ddns" local app_title = "Dynamic DNS" -local app_version = "2.4.1-1" +local app_version = "2.4.8-1" function index() local nxfs = require "nixio.fs" -- global definitions not available @@ -96,14 +98,14 @@ function app_title_main() end function service_version() local ver = nil + + ver = UTIL.exec(srv_ver_cmd) + if #ver > 0 then return ver end + IPKG.list_installed(srv_name, function(n, v, d) if v and (#v > 0) then ver = v end end ) - if not ver or (#ver == 0) then - ver = UTIL.exec(srv_ver_cmd) - if #ver == 0 then ver = nil end - end return ver end function service_ok() @@ -190,9 +192,15 @@ local function _get_status() local dnsserver = s["dns_server"] or "" local force_ipversion = tonumber(s["force_ipversion"] or 0) local force_dnstcp = tonumber(s["force_dnstcp"] or 0) - local command = [[/usr/lib/ddns/dynamic_dns_lucihelper.sh]] - command = command .. [[ get_registered_ip ]] .. lookup_host .. [[ ]] .. use_ipv6 .. - [[ ]] .. force_ipversion .. [[ ]] .. force_dnstcp .. [[ ]] .. dnsserver + local is_glue = tonumber(s["is_glue"] or 0) + local command = luci_helper .. [[ -]] + if (use_ipv6 == 1) then command = command .. [[6]] end + if (force_ipversion == 1) then command = command .. [[f]] end + if (force_dnstcp == 1) then command = command .. [[t]] end + if (is_glue == 1) then command = command .. [[g]] end + command = command .. [[l ]] .. lookup_host + if (#dnsserver > 0) then command = command .. [[ -d ]] .. dnsserver end + command = command .. [[ -- get_registered_ip]] local reg_ip = SYS.exec(command) if reg_ip == "" then reg_ip = "_nodata_" @@ -219,8 +227,8 @@ end function logread(section) -- read application settings local uci = UCI.cursor() - local log_dir = uci:get("ddns", "global", "log_dir") or "/var/log/ddns" - local lfile = log_dir .. "/" .. section .. ".log" + local ldir = uci:get("ddns", "global", "ddns_logdir") or "/var/log/ddns" + local lfile = ldir .. "/" .. section .. ".log" local ldata = NXFS.readfile(lfile) if not ldata or #ldata == 0 then @@ -287,8 +295,9 @@ function startstop(section, enabled) uci:commit("ddns") uci:unload("ddns") - -- start dynamic_dns_updater.sh script - os.execute ([[/usr/lib/ddns/dynamic_dns_updater.sh %s 0 > /dev/null 2>&1 &]] % section) + -- start ddns-updater for section + local command = luci_helper .. [[ -S ]] .. section .. [[ -- start]] + os.execute(command) NX.nanosleep(3) -- 3 seconds "show time" -- status changed so return full status diff --git a/applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua b/applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua index c924e845c2..a8f4cbf7ad 100644 --- a/applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua +++ b/applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua @@ -58,7 +58,7 @@ end -- read services/services_ipv6 files -- ######################################## local services4 = { } -- IPv4 -- -local fd4 = io.open("/usr/lib/ddns/services", "r") +local fd4 = io.open("/etc/ddns/services", "r") if fd4 then local ln, s, t repeat @@ -72,7 +72,7 @@ if fd4 then end local services6 = { } -- IPv6 -- -local fd6 = io.open("/usr/lib/ddns/services_ipv6", "r") +local fd6 = io.open("/etc/ddns/services_ipv6", "r") if fd6 then local ln, s, t repeat @@ -91,35 +91,38 @@ end -- local IP can be read local function _verify_ip_source() -- section is globally defined here be calling agrument (see above) - local _network = "-" - local _url = "-" - local _interface = "-" - local _script = "-" - local _proxy = "" + local _arg local _ipv6 = usev6:formvalue(section) local _source = (_ipv6 == "1") and src6:formvalue(section) or src4:formvalue(section) + + local command = CTRL.luci_helper .. [[ -]] + if (_ipv6 == "1") then command = command .. [[6]] end + if _source == "network" then - _network = (_ipv6 == "1") + _arg = (_ipv6 == "1") and ipn6:formvalue(section) or ipn4:formvalue(section) + command = command .. [[n ]] .. _arg elseif _source == "web" then - _url = (_ipv6 == "1") + _arg = (_ipv6 == "1") and iurl6:formvalue(section) or iurl4:formvalue(section) + command = command .. [[u ]] .. _arg + -- proxy only needed for checking url - _proxy = (pxy) and pxy:formvalue(section) or "" + _arg = (pxy) and pxy:formvalue(section) or "" + if (_arg and #_arg > 0) then + command = command .. [[ -p ]] .. _arg + end elseif _source == "interface" then - _interface = ipi:formvalue(section) + command = command .. [[i ]] .. ipi:formvalue(section) elseif _source == "script" then - _script = ips:formvalue(section) + command = command .. [[s ]] .. ips:formvalue(section) end - - local command = [[/usr/lib/ddns/dynamic_dns_lucihelper.sh get_local_ip ]] .. - _ipv6 .. [[ ]] .. _source .. [[ ]] .. _network .. [[ ]] .. - _url .. [[ ]] .. _interface .. [[ ']] .. _script.. [[' ]] .. _proxy + command = command .. [[ -- get_local_ip]] return (SYS.call(command) == 0) end @@ -248,10 +251,8 @@ if m:formvalue("cbid.ddns.%s._switch" % section) then -- section == arg[1] end -- read application settings -- ################################################ --- date format; if not set use ISO format -local date_format = m.uci:get(m.config, "global", "date_format") or "%F %R" -- log directory -local log_dir = m.uci:get(m.config, "global", "log_dir") or "/var/log/ddns" +local logdir = m.uci:get(m.config, "global", "ddns_logdir") or "/var/log/ddns" -- cbi-section definition -- ################################################### local ns = m:section( NamedSection, section, "service", @@ -335,7 +336,7 @@ function svc4.validate(self, value) if usev6:formvalue(section) ~= "1" then -- do only on IPv4 return value else - return "" -- supress validate error + return "" -- suppress validate error end end function svc4.write(self, section, value) @@ -376,7 +377,7 @@ function svc6.validate(self, value) if DDNS.has_ipv6 then return value end return nil, err_tab_basic(self) .. err_ipv6_plain else - return "" -- supress validate error + return "" -- suppress validate error end end function svc6.write(self, section, value) @@ -626,7 +627,7 @@ if DDNS.has_ssl then cert.forcewrite = true function cert.validate(self, value) if https:formvalue(section) ~= "1" then - return "" -- supress validate error if NOT https + return "" -- suppress validate error if NOT https end if value then -- otherwise errors in datatype check if DTYP.directory(value) @@ -1086,7 +1087,7 @@ function eif6.parse(self, section, novld) end -- IPv4/IPv6 - bind_network -- ################################################ -if DDNS.has_bindnet or ( ( m:get(section, "bind_network") ) ~= "" ) then +if DDNS.has_bindnet or ( ( m:get(section, "bind_network") or "" ) ~= "" ) then bnet = ns:taboption("advanced", ListValue, "bind_network", translate("Bind Network") ) bnet:depends("ipv4_source", "web") @@ -1158,8 +1159,11 @@ if DDNS.has_dnsserver or ( ( m:get(section, "dns_server") or "" ) ~= "" ) then else local ipv6 = usev6:formvalue(section) or "0" local force = fipv:formvalue(section) or "0" - local command = [[/usr/lib/ddns/dynamic_dns_lucihelper.sh verify_dns ]] .. - value .. [[ ]] .. ipv6 .. [[ ]] .. force + local command = CTRL.luci_helper .. [[ -]] + if (ipv6 == 1) then command = command .. [[6]] end + if (force == 1) then command = command .. [[f]] end + command = command .. [[d ]] .. value .. [[ -- verify_dns]] + local ret = SYS.call(command) if ret == 0 then return value -- everything OK elseif ret == 2 then return nil, err_tab_adv(self) .. translate("nslookup can not resolve host") @@ -1225,8 +1229,10 @@ if DDNS.has_proxy or ( ( m:get(section, "proxy") or "" ) ~= "" ) then elseif DDNS.has_proxy then local ipv6 = usev6:formvalue(section) or "0" local force = fipv:formvalue(section) or "0" - local command = [[/usr/lib/ddns/dynamic_dns_lucihelper.sh verify_proxy ]] .. - value .. [[ ]] .. ipv6 .. [[ ]] .. force + local command = CRTL.luci_helper .. [[ -]] + if (ipv6 == 1) then command = command .. [[6]] end + if (force == 1) then command = command .. [[f]] end + command = command .. [[p ]] .. value .. [[ -- verify_proxy]] local ret = SYS.call(command) if ret == 0 then return value elseif ret == 2 then return nil, err_tab_adv(self) .. translate("nslookup can not resolve host") @@ -1262,7 +1268,7 @@ end logf = ns:taboption("advanced", Flag, "use_logfile", translate("Log to file"), translate("Writes detailed messages to log file. File will be truncated automatically.") .. "<br />" .. - translate("File") .. [[: "]] .. log_dir .. [[/]] .. section .. [[.log"]] ) + translate("File") .. [[: "]] .. logdir .. [[/]] .. section .. [[.log"]] ) logf.orientation = "horizontal" logf.default = "1" -- if not defined write to log by default @@ -1464,7 +1470,7 @@ lv.template = "ddns/detail_logview" lv.inputtitle = translate("Read / Reread log file") lv.rows = 50 function lv.cfgvalue(self, section) - local lfile=log_dir .. "/" .. section .. ".log" + local lfile=logdir .. "/" .. section .. ".log" if NXFS.access(lfile) then return lfile .. "\n" .. translate("Please press [Read] button") end diff --git a/applications/luci-app-ddns/luasrc/model/cbi/ddns/global.lua b/applications/luci-app-ddns/luasrc/model/cbi/ddns/global.lua index 23ce4f13f7..9dc0857509 100644 --- a/applications/luci-app-ddns/luasrc/model/cbi/ddns/global.lua +++ b/applications/luci-app-ddns/luasrc/model/cbi/ddns/global.lua @@ -16,7 +16,8 @@ m.redirect = DISP.build_url("admin", "services", "ddns") function m.commit_handler(self) if self.changed then -- changes ? - os.execute("/etc/init.d/ddns reload &") -- reload configuration + local command = CTRL.luci_helper .. " -- reload" + os.execute(command) -- reload configuration end end @@ -40,8 +41,8 @@ function ns.cfgvalue(self, section) return self.map:get(section) end --- allow_local_ip -- ########################################################## -local ali = ns:option(Flag, "allow_local_ip") +-- upd_privateip -- ########################################################### +local ali = ns:option(Flag, "upd_privateip") ali.title = translate("Allow non-public IP's") ali.description = translate("Non-public and by default blocked IP's") .. ":" .. [[<br /><strong>IPv4: </strong>]] @@ -50,8 +51,8 @@ ali.description = translate("Non-public and by default blocked IP's") .. ":" .. "::/32, f000::/4" ali.default = "0" --- date_format -- ############################################################# -local df = ns:option(Value, "date_format") +-- ddns_dateformat -- ######################################################### +local df = ns:option(Value, "ddns_dateformat") df.title = translate("Date format") df.description = [[<a href="http://www.cplusplus.com/reference/ctime/strftime/" target="_blank">]] .. translate("For supported codes look here") @@ -69,8 +70,8 @@ function df.parse(self, section, novld) DDNS.value_parse(self, section, novld) end --- run_dir -- ################################################################# -local rd = ns:option(Value, "run_dir") +-- ddns_rundir -- ############################################################# +local rd = ns:option(Value, "ddns_rundir") rd.title = translate("Status directory") rd.description = translate("Directory contains PID and other status information for each running section") rd.default = "/var/run/ddns" @@ -79,8 +80,8 @@ function rd.parse(self, section, novld) DDNS.value_parse(self, section, novld) end --- log_dir -- ################################################################# -local ld = ns:option(Value, "log_dir") +-- ddns_logdir -- ############################################################# +local ld = ns:option(Value, "ddns_logdir") ld.title = translate("Log directory") ld.description = translate("Directory contains Log files for each running section") ld.default = "/var/log/ddns" @@ -89,8 +90,8 @@ function ld.parse(self, section, novld) DDNS.value_parse(self, section, novld) end --- log_lines -- ############################################################### -local ll = ns:option(Value, "log_lines") +-- ddns_loglines -- ########################################################### +local ll = ns:option(Value, "ddns_loglines") ll.title = translate("Log length") ll.description = translate("Number of last lines stored in log files") ll.default = "250" diff --git a/applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua b/applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua index 335bb01b2d..df39a3a7e5 100644 --- a/applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua +++ b/applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua @@ -24,7 +24,7 @@ s = m:section( SimpleSection, translate("Hints"), translate("Below a list of configuration tips for your system to run Dynamic DNS updates without limitations") ) --- ddns_scripts needs to be updated for full functionality +-- ddns-scripts needs to be updated for full functionality if not CTRL.service_ok() then local so = s:option(DummyValue, "_update_needed") so.titleref = DISP.build_url("admin", "system", "packages") @@ -66,9 +66,9 @@ if not DDNS.has_ssl then sl.rawhtml = true sl.title = bold_on .. translate("HTTPS not supported") .. bold_off - sl.value = translate("Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS protocol.") .. + sl.value = translate("Neither GNU Wget with SSL nor cURL installed to support secure updates via HTTPS protocol.") .. "<br />- " .. - translate("You should install GNU Wget with SSL (prefered) or cURL package.") .. + translate("You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-*ssl' package.") .. "<br />- " .. translate("In some versions cURL/libcurl in OpenWrt is compiled without proxy support.") end @@ -82,7 +82,7 @@ if not DDNS.has_bindnet then translate("Binding to a specific network not supported") .. bold_off bn.value = translate("Neither GNU Wget with SSL nor cURL installed to select a network to use for communication.") .. "<br />- " .. - translate("You should install GNU Wget with SSL or cURL package.") .. + translate("You should install 'wget' or 'curl' package.") .. "<br />- " .. translate("GNU Wget will use the IP of given network, cURL will use the physical interface.") .. "<br />- " .. @@ -98,7 +98,7 @@ if not DDNS.has_proxy then translate("cURL without Proxy Support") .. bold_off px.value = translate("cURL is installed, but libcurl was compiled without proxy support.") .. "<br />- " .. - translate("You should install GNU Wget with SSL or replace libcurl.") .. + translate("You should install 'wget' or 'uclient-fetch' package or replace libcurl.") .. "<br />- " .. translate("In some versions cURL/libcurl in OpenWrt is compiled without proxy support.") end @@ -112,13 +112,13 @@ if not DDNS.has_forceip then translate("Force IP Version not supported") .. bold_off local value = translate("BusyBox's nslookup and Wget do not support to specify " .. "the IP version to use for communication with DDNS Provider!") - if not (DDNS.has_wgetssl or DDNS.has_curl) then + if not (DDNS.has_wgetssl or DDNS.has_curl or DDNS.has_fetch) then value = value .. "<br />- " .. - translate("You should install GNU Wget with SSL (prefered) or cURL package.") + translate("You should install 'wget' or 'curl' or 'uclient-fetch' package.") end - if not (DDNS.has_bindhost or DDNS.has_hostip) then + if not DDNS.has_bindhost then value = value .. "<br />- " .. - translate("You should install BIND host or hostip package for DNS requests.") + translate("You should install 'bind-host' or 'knot-host' or 'drill' package for DNS requests.") end fi.value = value end @@ -133,7 +133,7 @@ if not DDNS.has_bindhost then dt.value = translate("BusyBox's nslookup and hostip do not support to specify to use TCP " .. "instead of default UDP when requesting DNS server!") .. "<br />- " .. - translate("You should install BIND host package for DNS requests.") + translate("You should install 'bind-host' or 'knot-host' or 'drill' package for DNS requests.") end -- nslookup compiled with musl produce problems when using @@ -146,7 +146,7 @@ if not DDNS.has_dnsserver then ds.value = translate("BusyBox's nslookup in the current compiled version " .. "does not handle given DNS Servers correctly!") .. "<br />- " .. - translate("You should install BIND host or hostip package, " .. + translate("You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' package, " .. "if you need to specify a DNS server to detect your registered IP.") end @@ -159,7 +159,7 @@ if DDNS.has_ssl and not DDNS.has_cacerts then translate("No certificates found") .. bold_off ca.value = translate("If using secure communication you should verify server certificates!") .. "<br />- " .. - translate("Install ca-certificates package or needed certificates " .. + translate("Install 'ca-certificates' package or needed certificates " .. "by hand into /etc/ssl/certs default directory") end diff --git a/applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua b/applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua index e6da7cc188..6ba3ea0dd8 100644 --- a/applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua +++ b/applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua @@ -33,15 +33,18 @@ m.description = CTRL.app_description() m.on_after_commit = function(self) if self.changed then -- changes ? + local command = CTRL.luci_helper if SYS.init.enabled("ddns") then -- ddns service enabled, restart all - os.execute("/etc/init.d/ddns restart") + command = command .. " -- restart" + os.execute(command) else -- ddns service disabled, send SIGHUP to running - os.execute("killall -1 dynamic_dns_updater.sh") + command = command .. " -- reload" + os.execute(command) end end end --- SimpleSection definiton -- ################################################## +-- SimpleSection definition -- ################################################## -- with all the JavaScripts we need for "a good Show" a = m:section( SimpleSection ) a.template = "ddns/overview_status" @@ -52,7 +55,7 @@ if show_hints or need_update or not_enabled then s = m:section( SimpleSection, translate("Hints") ) - -- ddns_scripts needs to be updated for full functionality + -- ddns-scripts needs to be updated for full functionality if need_update then local dv = s:option(DummyValue, "_update_needed") dv.titleref = DISP.build_url("admin", "system", "packages") @@ -119,18 +122,21 @@ function dom.set_one(self, section) end end function dom.set_two(self, section) - local lookup = self.map:get(section, "lookup_host") or "" - if lookup == "" then return "" end + local lookup_host = self.map:get(section, "lookup_host") or "" + if lookup_host == "" then return "" end local dnsserver = self.map:get(section, "dnsserver") or "" local use_ipv6 = tonumber(self.map:get(section, "use_ipv6") or 0) local force_ipversion = tonumber(self.map:get(section, "force_ipversion") or 0) local force_dnstcp = tonumber(self.map:get(section, "force_dnstcp") or 0) - local command = [[/usr/lib/ddns/dynamic_dns_lucihelper.sh]] - if not NXFS.access(command, "rwx", "rx", "rx") then - NXFS.chmod(command, 755) - end - command = command .. [[ get_registered_ip ]] .. lookup .. [[ ]] .. use_ipv6 .. - [[ ]] .. force_ipversion .. [[ ]] .. force_dnstcp .. [[ ]] .. dnsserver + local is_glue = tonumber(self.map:get(section, "is_glue") or 0) + local command = CTRL.luci_helper .. [[ -]] + if (use_ipv6 == 1) then command = command .. [[6]] end + if (force_ipversion == 1) then command = command .. [[f]] end + if (force_dnstcp == 1) then command = command .. [[t]] end + if (is_glue == 1) then command = command .. [[g]] end + command = command .. [[l ]] .. lookup_host + if (#dnsserver > 0) then command = command .. [[ -d ]] .. dnsserver end + command = command .. [[ -- get_registered_ip]] local ip = SYS.exec(command) if ip == "" then ip = translate("no data") end return ip diff --git a/applications/luci-app-ddns/luasrc/tools/ddns.lua b/applications/luci-app-ddns/luasrc/tools/ddns.lua index 54791432b3..209d9c3a41 100755 --- a/applications/luci-app-ddns/luasrc/tools/ddns.lua +++ b/applications/luci-app-ddns/luasrc/tools/ddns.lua @@ -24,12 +24,14 @@ has_fetch = (SYS.call( [[which uclient-fetch >/dev/null 2>&1]] ) == 0) has_fetchssl = NXFS.access("/lib/libustream-ssl.so") has_bbwget = (SYS.call( [[$(which wget) -V 2>&1 | grep -iqF "busybox"]] ) == 0) has_bindhost = (SYS.call( [[which host >/dev/null 2>&1]] ) == 0) + or (SYS.call( [[which khost >/dev/null 2>&1]] ) == 0) + or (SYS.call( [[which drill >/dev/null 2>&1]] ) == 0) has_hostip = (SYS.call( [[which hostip >/dev/null 2>&1]] ) == 0) has_nslookup = (SYS.call( [[$(which nslookup) localhost 2>&1 | grep -qF "(null)"]] ) ~= 0) has_ipv6 = (NXFS.access("/proc/net/ipv6_route") and NXFS.access("/usr/sbin/ip6tables")) has_ssl = (has_wgetssl or has_curlssl or (has_fetch and has_fetchssl)) has_proxy = (has_wgetssl or has_curlpxy or has_fetch or has_bbwget) -has_forceip = ((has_wgetssl or has_curl) and (has_bindhost or has_hostip)) +has_forceip = (has_wgetssl or has_curl or has_fetch) -- only really needed for transfer has_dnsserver = (has_bindhost or has_hostip or has_nslookup) has_bindnet = (has_wgetssl or has_curl) has_cacerts = _check_certs() @@ -55,7 +57,7 @@ end function epoch2date(epoch, format) if not format or #format < 2 then local uci = UCI.cursor() - format = uci:get("ddns", "global", "date_format") or "%F %R" + format = uci:get("ddns", "global", "ddns_dateformat") or "%F %R" uci:unload("ddns") end format = format:gsub("%%n", "<br />") -- replace newline @@ -65,18 +67,18 @@ end -- read lastupdate from [section].update file function get_lastupd(section) - local uci = UCI.cursor() - local run_dir = uci:get("ddns", "global", "run_dir") or "/var/run/ddns" - local etime = tonumber(NXFS.readfile("%s/%s.update" % { run_dir, section } ) or 0 ) + local uci = UCI.cursor() + local rdir = uci:get("ddns", "global", "ddns_rundir") or "/var/run/ddns" + local etime = tonumber(NXFS.readfile("%s/%s.update" % { rdir, section } ) or 0 ) uci:unload("ddns") return etime end -- read PID from run file and verify if still running function get_pid(section) - local uci = UCI.cursor() - local run_dir = uci:get("ddns", "global", "run_dir") or "/var/run/ddns" - local pid = tonumber(NXFS.readfile("%s/%s.pid" % { run_dir, section } ) or 0 ) + local uci = UCI.cursor() + local rdir = uci:get("ddns", "global", "ddns_rundir") or "/var/run/ddns" + local pid = tonumber(NXFS.readfile("%s/%s.pid" % { rdir, section } ) or 0 ) if pid > 0 and not NX.kill(pid, 0) then pid = 0 end diff --git a/applications/luci-app-ddns/luasrc/view/ddns/global_value.htm b/applications/luci-app-ddns/luasrc/view/ddns/global_value.htm index 159cb60147..23ec059170 100644 --- a/applications/luci-app-ddns/luasrc/view/ddns/global_value.htm +++ b/applications/luci-app-ddns/luasrc/view/ddns/global_value.htm @@ -4,7 +4,7 @@ <script type="text/javascript">//<![CDATA[ // event handler on changed date function onkeyup_date(value) { - var obj = document.getElementById("cbid.ddns.global.date_format.help"); + var obj = document.getElementById("cbid.ddns.global.ddns_dateformat.help"); if ( !obj ) { return; } // security check if ( value == "" || value.length == 0 ) { value = "%F %R"; } diff --git a/applications/luci-app-ddns/po/ca/ddns.po b/applications/luci-app-ddns/po/ca/ddns.po index e38a593600..69be6ed8b1 100644 --- a/applications/luci-app-ddns/po/ca/ddns.po +++ b/applications/luci-app-ddns/po/ca/ddns.po @@ -315,8 +315,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -369,8 +369,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -587,24 +587,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/cs/ddns.po b/applications/luci-app-ddns/po/cs/ddns.po index fe371fefaf..2366f629b1 100644 --- a/applications/luci-app-ddns/po/cs/ddns.po +++ b/applications/luci-app-ddns/po/cs/ddns.po @@ -313,8 +313,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -367,8 +367,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -585,24 +585,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/de/ddns.po b/applications/luci-app-ddns/po/de/ddns.po index 065f22c746..39c1fdc831 100644 --- a/applications/luci-app-ddns/po/de/ddns.po +++ b/applications/luci-app-ddns/po/de/ddns.po @@ -1,15 +1,15 @@ msgid "" msgstr "" -"Project-Id-Version: luci-app-ddns 2.4.0-1\n" -"POT-Creation-Date: 2016-01-30 11:07+0100\n" -"PO-Revision-Date: 2016-01-30 11:07+0100\n" -"Last-Translator: Christian Schoenebeck <christian.schoenebeck@gmail.com>\n" +"Project-Id-Version: luci-app-ddns 2.4.2-1\n" +"POT-Creation-Date: 2016-09-25 10:43+0200\n" +"PO-Revision-Date: 2016-09-25 10:43+0200\n" +"Last-Translator: Christian Schönebeck <christian.schoenebeck@gmail.com>\n" "Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.4\n" +"X-Generator: Poedit 1.8.7.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-Basepath: .\n" @@ -364,13 +364,13 @@ msgstr "" "compiliert." msgid "Info" -msgstr "Informationen" +msgstr "Info" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" -"Installieren Sie das ca-certificate Paket oder die benötigten Zertifikate " +"Installieren Sie das 'ca-certificates' Paket oder die benötigten Zertifikate " "von Hand in das Standardverzeichnis /etc/ssl/certs" msgid "Interface" @@ -432,11 +432,11 @@ msgstr "" "Kommunikation festzulegen." msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" -"Weder GNU Wget mit SSL noch cURL sind installiert um Aktualisierungen über " -"HTTPS Protokoll zu unterstützen." +"Weder GNU Wget mit SSL noch cURL sind installiert um sichere " +"Aktualisierungen über HTTPS Protokoll zu unterstützen." msgid "Network" msgstr "Netzwerk" @@ -642,7 +642,7 @@ msgid "Using specific DNS Server not supported" msgstr "Verwendung spezifischer DNS-Server wird nicht unterstützt" msgid "Verify" -msgstr "überprüfen" +msgstr "Überprüfen" msgid "Version" msgstr "Version" @@ -669,34 +669,41 @@ msgstr "" "Schreibt Meldungen ins Systemprotokoll. Kritische Fehler werden immer in das " "Systemprotokoll geschrieben." -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" -"Sie sollten das Programmpakete BIND host oder hostip für DNS Anfragen " -"installieren." +"Sie sollten das Programmpakete 'bind-host' oder 'knot-host' oder 'drill' " +"oder 'hostip' installieren, wenn Sie einen DNS Server angeben müssen um Ihre " +"registrierte IP zu ermitteln." msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -"Sie sollten das BIND host oder hostIP Paket installieren, wenn Sie einen DNS-" -"Server angeben müssen um Ihre registrierte IP zu ermitteln." +"Sie sollten das Programmpakete 'bind-host' oder 'knot-host' oder 'drill' für " +"DNS Anfragen installieren." -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -"Sie sollten das Programmpakete BIND host for DNS Anfragen installieren." +"Sie sollten das Programmpaket 'wget' oder 'curl' oder 'uclient-fetch' " +"installieren." -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -"Sie sollten das Programmpaket GNU Wget mit SSL (bevorzugt) oder cURL " -"installieren." +"Sie sollten das Programmpaket 'wget' oder 'curl' oder 'uclient-fetch' mit " +"'libustream-*ssl' installieren." -msgid "You should install GNU Wget with SSL or cURL package." -msgstr "Sie sollten das Programmpaket GNU Wget mit SSL oder cURL installieren." +msgid "You should install 'wget' or 'curl' package." +msgstr "Sie sollten das Programmpaket 'wget' oder 'curl' installieren." -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" -"Sie sollten das Programmpaket GNU Wget mit SSL installieren oder libcurl " -"austauschen." +"Sie sollten das Programmpaket 'wget' oder 'uclient-fetch' installieren oder " +"libcurl ersetzen." msgid "cURL is installed, but libcurl was compiled without proxy support." msgstr "" diff --git a/applications/luci-app-ddns/po/el/ddns.po b/applications/luci-app-ddns/po/el/ddns.po index 7d9eb03b5f..fce0cb8532 100644 --- a/applications/luci-app-ddns/po/el/ddns.po +++ b/applications/luci-app-ddns/po/el/ddns.po @@ -312,8 +312,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -366,8 +366,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -584,24 +584,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/es/ddns.po b/applications/luci-app-ddns/po/es/ddns.po index dbdfad48cc..eb5a38576c 100644 --- a/applications/luci-app-ddns/po/es/ddns.po +++ b/applications/luci-app-ddns/po/es/ddns.po @@ -311,8 +311,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -365,8 +365,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -583,24 +583,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/fr/ddns.po b/applications/luci-app-ddns/po/fr/ddns.po index 36dcb60290..2004989594 100644 --- a/applications/luci-app-ddns/po/fr/ddns.po +++ b/applications/luci-app-ddns/po/fr/ddns.po @@ -311,8 +311,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -365,8 +365,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -583,24 +583,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/he/ddns.po b/applications/luci-app-ddns/po/he/ddns.po index edc53250ec..f6f2e2b843 100644 --- a/applications/luci-app-ddns/po/he/ddns.po +++ b/applications/luci-app-ddns/po/he/ddns.po @@ -312,8 +312,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -366,8 +366,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -584,24 +584,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/hu/ddns.po b/applications/luci-app-ddns/po/hu/ddns.po index 279e1544c5..1f91fa176f 100644 --- a/applications/luci-app-ddns/po/hu/ddns.po +++ b/applications/luci-app-ddns/po/hu/ddns.po @@ -311,8 +311,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -365,8 +365,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -583,24 +583,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/it/ddns.po b/applications/luci-app-ddns/po/it/ddns.po index a058394754..f59d053e71 100644 --- a/applications/luci-app-ddns/po/it/ddns.po +++ b/applications/luci-app-ddns/po/it/ddns.po @@ -311,8 +311,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -365,8 +365,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -583,24 +583,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/ja/ddns.po b/applications/luci-app-ddns/po/ja/ddns.po index 46ab077053..8fe0180d42 100644 --- a/applications/luci-app-ddns/po/ja/ddns.po +++ b/applications/luci-app-ddns/po/ja/ddns.po @@ -311,8 +311,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -365,8 +365,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -583,24 +583,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/no/ddns.po b/applications/luci-app-ddns/po/no/ddns.po index 5a2afaf1bf..a8efd0f8b5 100644 --- a/applications/luci-app-ddns/po/no/ddns.po +++ b/applications/luci-app-ddns/po/no/ddns.po @@ -310,8 +310,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -364,8 +364,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -582,24 +582,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/pl/ddns.po b/applications/luci-app-ddns/po/pl/ddns.po index ad40f3b795..ade7982309 100644 --- a/applications/luci-app-ddns/po/pl/ddns.po +++ b/applications/luci-app-ddns/po/pl/ddns.po @@ -312,8 +312,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -366,8 +366,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -584,24 +584,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/pt-br/ddns.po b/applications/luci-app-ddns/po/pt-br/ddns.po index fefbc01202..4970846516 100644 --- a/applications/luci-app-ddns/po/pt-br/ddns.po +++ b/applications/luci-app-ddns/po/pt-br/ddns.po @@ -2,180 +2,205 @@ msgid "" msgstr "" "Project-Id-Version: luci-app-ddns 2.4.0-1\n" "POT-Creation-Date: 2016-01-30 11:07+0100\n" -"PO-Revision-Date: 2012-11-03 07:02+0200\n" -"Last-Translator: Luiz Angelo <luizluca@gmail.com>\n" +"PO-Revision-Date: 2016-07-01 22:40-0300\n" +"Last-Translator: Matheus Dal Mago <matheusdalmago10@gmail.com>\n" "Language-Team: \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 1.8.4\n" +"X-Generator: Poedit 1.8.8\n" msgid "&" -msgstr "" +msgstr "&" msgid "-- custom --" -msgstr "" +msgstr "-- personalizado --" msgid "-- default --" -msgstr "" +msgstr "-- padrão --" msgid "Advanced Settings" -msgstr "" +msgstr "Configurações Avançadas" msgid "Allow non-public IP's" -msgstr "" +msgstr "Permitir IPs não-públicos" msgid "Applying changes" -msgstr "" +msgstr "Aplicar mudanças" msgid "Basic Settings" -msgstr "" +msgstr "Configurações Básicas" msgid "" "Below a list of configuration tips for your system to run Dynamic DNS " "updates without limitations" msgstr "" +"Abaixo uma lista de dicas de configurações para seu sistema para rodar " +"atualizações de DNS Dinâmico sem limitações" msgid "" "Below is a list of configured DDNS configurations and their current state." msgstr "" +"Abaixo uma lista de configurações DDNS configuradas e seus estados atuais" msgid "Bind Network" -msgstr "" +msgstr "Limitar Rede" msgid "Binding to a specific network not supported" -msgstr "" +msgstr "Não suportado limitar a uma rede específica" msgid "" "BusyBox's nslookup and Wget do not support to specify the IP version to use " "for communication with DDNS Provider!" msgstr "" +"nslookup e Wget do BusyBox não suportam que especifique a versão de IP a ser " +"usada para comunicação com o provedor DDNS!" msgid "" "BusyBox's nslookup and hostip do not support to specify to use TCP instead " "of default UDP when requesting DNS server!" msgstr "" +"nslookup e hostip do BusyBox não suportam que especifique para usar TCP em " +"vez do padrão UDP quando requisitando servidor DNS!" msgid "" "BusyBox's nslookup in the current compiled version does not handle given DNS " "Servers correctly!" msgstr "" +"nslookup do BusyBox na versão compilada atualmente não trabalha corretamente " +"com servidores DNS dados!" msgid "Casual users should not change this setting" -msgstr "" +msgstr "Usuários iniciantes não devem alterar esta configuração" msgid "Change provider" -msgstr "" +msgstr "Mudando provedor" msgid "Check Interval" -msgstr "" +msgstr "Checar Intervalo" msgid "Collecting data..." -msgstr "" +msgstr "Coletando dados…" msgid "Config error" -msgstr "" +msgstr "Erro de configuração" msgid "Configuration" -msgstr "" +msgstr "Configuração" msgid "" "Configure here the details for all Dynamic DNS services including this LuCI " "application." msgstr "" +"Configure aqui os detalhes para todos os serviços DNS Dinâmicos incluindo " +"esta aplicação LuCI." msgid "Configure here the details for selected Dynamic DNS service." -msgstr "" +msgstr "Configure aqui os detalhes para o serviço DNS Dinâmico selecionado." msgid "Current setting" -msgstr "" +msgstr "Configuração atual" msgid "" "Currently DDNS updates are not started at boot or on interface events.<br /" ">This is the default if you run DDNS scripts by yourself (i.e. via cron with " "force_interval set to '0')" msgstr "" +"Atualizações DDNS atuais não são iniciadas no boot ou nos eventos da " +"interface.<br />Isso é o normal se você roda scripts DDNS por conta própria " +"(ex. via cron com force_interval setado para ‘0’)" msgid "" "Currently DDNS updates are not started at boot or on interface events.<br /" ">You can start/stop each configuration here. It will run until next reboot." msgstr "" +"Atualizações DDNS atuais não são iniciadas no boot ou nos eventos da " +"interface.<br />Você pode iniciar/parar cada configuração aqui. Ela irá " +"rodar até o próximo reboto." msgid "Custom update script to be used for updating your DDNS Provider." msgstr "" +"Scripts de atualização personalizados para serem usados para atualizar seu " +"Provedor DDNS." msgid "Custom update-URL" msgstr "URL para atualização personalizada" msgid "Custom update-script" -msgstr "" +msgstr "Script para atualização personalizado" msgid "DDNS Autostart disabled" -msgstr "" +msgstr "Auto-inicialização de DDNS desabilitada" msgid "DDNS Client Configuration" -msgstr "" +msgstr "Configuração de cliente DDNS" msgid "DDNS Client Documentation" -msgstr "" +msgstr "Documentação de cliente DDNS" msgid "DDNS Service provider" -msgstr "" +msgstr "Provedor de serviço DDNS" msgid "DNS requests via TCP not supported" -msgstr "" +msgstr "Requisição de DNS via TCP não suportada" msgid "DNS-Server" -msgstr "" +msgstr "Servidor DNS" msgid "Date format" -msgstr "" +msgstr "Formato de data" msgid "Defines the Web page to read systems IPv4-Address from" -msgstr "" +msgstr "Define a página Web para ler o endereço IPv4 do sistema" msgid "Defines the Web page to read systems IPv6-Address from" -msgstr "" +msgstr "Define a página Web para ler o endereço IPv6 do sistema" msgid "Defines the interface to read systems IP-Address from" -msgstr "" +msgstr "Define a interface para ler o endereço IP do sistema" msgid "Defines the network to read systems IPv4-Address from" -msgstr "" +msgstr "Define a rede para ler o endereço IPv4 do sistema" msgid "Defines the network to read systems IPv6-Address from" -msgstr "" +msgstr "Define a rede para ler o endereço IPv6 do sistema" msgid "" "Defines the source to read systems IPv4-Address from, that will be send to " "the DDNS provider" msgstr "" +"Define a origem para ler o endereço IPv4 do sistema, que será enviado ao " +"provedor DDNS" msgid "" "Defines the source to read systems IPv6-Address from, that will be send to " "the DDNS provider" msgstr "" +"Define a origem para ler o endereço IPv6 do sistema, que será enviado ao " +"provedor DDNS" msgid "Defines which IP address 'IPv4/IPv6' is send to the DDNS provider" -msgstr "" +msgstr "Define qual endereço IP ‘IPv4/IPv6’ é enviado ao provedor DDNS" msgid "Details for" -msgstr "" +msgstr "Detalhes para" msgid "Directory contains Log files for each running section" -msgstr "" +msgstr "Diretório contendo arquivos de Log para cada sessão em execução" msgid "" "Directory contains PID and other status information for each running section" msgstr "" +"Diretório contendo PID e outras informações de status para cada sessão em " +"execução" msgid "Disabled" -msgstr "" +msgstr "Desabilitado" msgid "Domain" -msgstr "" +msgstr "Domínio" msgid "Dynamic DNS" msgstr "DNS Dinâmico" @@ -188,132 +213,150 @@ msgstr "" "um nome fixo, mesmo usando um Endereço IP dinâmico." msgid "Enable secure communication with DDNS provider" -msgstr "" +msgstr "Habilitar comunicação segura com o provedor DDNS" msgid "Enabled" -msgstr "" +msgstr "Habilitado" msgid "Error" -msgstr "" +msgstr "Erro" msgid "Error Retry Counter" -msgstr "" +msgstr "Contador de Tentativas em Erro" msgid "Error Retry Interval" -msgstr "" +msgstr "Intervalo de tentativas em Erro" msgid "Event Network" msgstr "" msgid "File" -msgstr "" +msgstr "Arquivo" msgid "File not found" -msgstr "" +msgstr "Arquivo não encontrado" msgid "File not found or empty" -msgstr "" +msgstr "Arquivo não encontrado ou vazio" msgid "" "Follow this link<br />You will find more hints to optimize your system to " "run DDNS scripts with all options" msgstr "" +"Siga esse link<br />Você vai encontrar mais dicas para otimizar seu sistema " +"para rodar scripts DDNS com todas as opções" msgid "For detailed information about parameter settings look here." msgstr "" +"Olhe aqui para informações mais detalhadas sobre as configurações de " +"parâmetro" msgid "For supported codes look here" -msgstr "" +msgstr "Olhe aqui para códigos suportados" msgid "Force IP Version" -msgstr "" +msgstr "Forçar versão de IP" msgid "Force IP Version not supported" -msgstr "" +msgstr "Forçar versão de IP não suportado" msgid "Force Interval" -msgstr "" +msgstr "Forçar intervalo" msgid "Force TCP on DNS" -msgstr "" +msgstr "Forçar TCP em DNS" msgid "Forced IP Version don't matched" -msgstr "" +msgstr "Forçar versão de IP não corresponde" msgid "Format" -msgstr "" +msgstr "Formato" msgid "Format: IP or FQDN" -msgstr "" +msgstr "Formato: IP ou FQDN" msgid "" "GNU Wget will use the IP of given network, cURL will use the physical " "interface." -msgstr "" +msgstr "GNU Wget usará o IP da rede informada, cURL usará a interface física" msgid "Global Settings" -msgstr "" +msgstr "Configurações Globais" msgid "HTTPS not supported" -msgstr "" +msgstr "HTTPS não suportado" msgid "Hints" -msgstr "" +msgstr "Dicas" msgid "Hostname/FQDN to validate, if IP update happen or necessary" msgstr "" +"Hostname/FQDN a ser validado, se atualização de IP acontecer ou for " +"necessária" msgid "IP address source" -msgstr "" +msgstr "Fonte do endereço IP" msgid "IP address version" -msgstr "" +msgstr "Versão do endereço IP" msgid "IPv4-Address" -msgstr "" +msgstr "Endereço IPv4" msgid "IPv6 address must be given in square brackets" -msgstr "" +msgstr "Endereço IPv6 deve estar entre colchetes" msgid "" "IPv6 is currently not (fully) supported by this system<br />Please follow " "the instructions on OpenWrt's homepage to enable IPv6 support<br />or update " "your system to the latest OpenWrt Release" msgstr "" +"IPv6 não é (completamente) suportado por este sistema<br />Por favor siga as " +"instruções na página inicial do OpenWrt para habilitar o suporte ao IPv6<br /" +">ou atualize seu sistema para a última distribuição do OpenWrt" msgid "IPv6 not supported" -msgstr "" +msgstr "IPv6 não suportado" msgid "IPv6-Address" -msgstr "" +msgstr "Endereço IPv6" msgid "If both cURL and GNU Wget are installed, Wget is used by default." -msgstr "" +msgstr "Se ambos cURL e GNU Wget estão instalados, Wget é utilizado por padrão" msgid "" "If this service section is disabled it could not be started.<br />Neither " "from LuCI interface nor from console" msgstr "" +"Se esta sessão do serviço está desabilidade, ele não pôde ser iniciado.<br /" +">nem da interface LuCI nem do console" msgid "If using secure communication you should verify server certificates!" msgstr "" +"Você deve verificar os certificados do servidor caso estiver utilizando " +"comunicação segura" msgid "" "If you want to send updates for IPv4 and IPv6 you need to define two " "separate Configurations i.e. 'myddns_ipv4' and 'myddns_ipv6'" msgstr "" +"Se deseja enviar atualizações para IPv4 e IPv6 você deve definir duas " +"configurações separadas. Ex.: ‘myddns_ipv4’ e ‘myddns_ipv6’" msgid "" "In some versions cURL/libcurl in OpenWrt is compiled without proxy support." msgstr "" +"Em algumas versões do OpenWrt cURL/libcurl é compilada sem suporte a proxy." msgid "Info" -msgstr "" +msgstr "Informações" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" +"Instale manualmente o pacote ’ca-certificates’ ou certificados necessários " +"no diretório padrão /etc/ssl/certs" msgid "Interface" msgstr "Interface" @@ -322,67 +365,77 @@ msgid "" "Interval to check for changed IP<br />Values below 5 minutes == 300 seconds " "are not supported" msgstr "" +"Intervalo para checar mudança no IP<br />Valores abaixo de 5 minutos == 300 " +"segundos não são suportados" msgid "" "Interval to force updates send to DDNS Provider<br />Setting this parameter " "to 0 will force the script to only run once<br />Values lower 'Check " "Interval' except '0' are not supported" msgstr "" +"Intervalo para forçar envio de atualizações para o provedor DDNS<br /" +">Definindo esse parâmetro em 0 irá forçar o script a rodar apenas uma " +"vez>br />Valores menores que 'Check Interval', exceto '0', não são suportados" msgid "It is NOT recommended for casual users to change settings on this page." msgstr "" +"Não é recomendado que usuários iniciantes alterem configurações nessa página" msgid "Last Update" -msgstr "" +msgstr "Última atualização" msgid "Loading" -msgstr "" +msgstr "Carregando" msgid "Log File Viewer" -msgstr "" +msgstr "Visualizador de arquivo de log" msgid "Log directory" -msgstr "" +msgstr "Diretório do log" msgid "Log length" -msgstr "" +msgstr "Tamanho do log" msgid "Log to file" -msgstr "" +msgstr "Log para arquivo" msgid "Log to syslog" -msgstr "" +msgstr "Log para log do sistema" msgid "Lookup Hostname" -msgstr "" +msgstr "Verificar nome de host" msgid "NOT installed" -msgstr "" +msgstr "NÃO instalado" msgid "" "Neither GNU Wget with SSL nor cURL installed to select a network to use for " "communication." msgstr "" +"Nem GNU Wget com SSL nem cURL instalado para selecionar uma rede para usar " +"para comunicação" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" +"Nem GNU Wget com SSL nem cURL instalado para suportar atualizações seguras " +"via protocolo HTTPS" msgid "Network" msgstr "Rede" msgid "Network on which the ddns-updater scripts will be started" -msgstr "" +msgstr "Rede na qual os scripts de atualização DDNS serão iniciados" msgid "Never" -msgstr "" +msgstr "Nunca" msgid "Next Update" -msgstr "" +msgstr "Próxima atualização" msgid "No certificates found" -msgstr "" +msgstr "Nenhum certificado encontrado" msgid "No data" msgstr "" @@ -391,334 +444,366 @@ msgid "No logging" msgstr "" msgid "Non-public and by default blocked IP's" -msgstr "" +msgstr "IPs não públicos e bloqueados por padrão" msgid "Notice" msgstr "" msgid "Number of last lines stored in log files" -msgstr "" +msgstr "Número das últimas linhas salvas nos arquivos de log" msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication." -msgstr "" +msgstr "OPCIONAL: Force o uso de apenas comunicação IPv4/IPv6 pura" msgid "OPTIONAL: Force the use of TCP instead of default UDP on DNS requests." -msgstr "" +msgstr "OPCIONAL: Force o uso de TCB em vez do padrão UDP em requisições DNS" msgid "OPTIONAL: Network to use for communication" -msgstr "" +msgstr "OPCIONAL: Rede para usar para comunicação" msgid "OPTIONAL: Proxy-Server for detection and updates." -msgstr "" +msgstr "OPCIONAL: Servidor Proxy para detecção e atualização" msgid "OPTIONAL: Use non-default DNS-Server to detect 'Registered IP'." -msgstr "" +msgstr "OPCIONAL: Use servidor DNS não-padrão para detectar 'Registered IP'" msgid "On Error the script will retry the failed action after given time" -msgstr "" +msgstr "Em Erro, o script irá tentar a ação que falhou após um tempo definido" msgid "On Error the script will stop execution after given number of retrys" msgstr "" +"Em Erro, o script irá para a execução após um número definido de tentativas" msgid "OpenWrt Wiki" msgstr "" msgid "Optional Encoded Parameter" -msgstr "" +msgstr "Parâmetro Opcionalmente Codificado" msgid "Optional Parameter" -msgstr "" +msgstr "Parâmetro Opcional" msgid "Optional: Replaces [PARAMENC] in Update-URL (URL-encoded)" -msgstr "" +msgstr "Opcional: Substitui [PARAMEND] na URL de atualização" msgid "Optional: Replaces [PARAMOPT] in Update-URL (NOT URL-encoded)" -msgstr "" +msgstr "Opcional: Substitui [PARAMOPT] na URL de atualização" msgid "Overview" msgstr "" msgid "PROXY-Server" -msgstr "" +msgstr "servidor PROXY" msgid "PROXY-Server not supported" -msgstr "" +msgstr "Servidor PROXY não suportado" msgid "Password" msgstr "Senha" msgid "Path to CA-Certificate" -msgstr "" +msgstr "Caminho para os certificados CA" msgid "Please [Save & Apply] your changes first" -msgstr "" +msgstr "Por favor antes [Salve e Aplique] suas alterações" msgid "Please press [Read] button" -msgstr "" +msgstr "Por favor pressione o botão [Ler]" msgid "Please update to the current version!" -msgstr "" +msgstr "Por favor atualize para a versão atual" msgid "Process ID" -msgstr "" +msgstr "ID do processo" msgid "Read / Reread log file" -msgstr "" +msgstr "Ler / Ler novamente o arquivo de log" msgid "Really change DDNS provider?" -msgstr "" +msgstr "Mudar servidor DDNS?" msgid "Registered IP" -msgstr "" +msgstr "IP registrado" msgid "Replaces [DOMAIN] in Update-URL" -msgstr "" +msgstr "Substitui [DOMAIN] na URL de atualização" msgid "Replaces [PASSWORD] in Update-URL (URL-encoded)" -msgstr "" +msgstr "Substitui [PASSWORD] na URL de atualização" msgid "Replaces [USERNAME] in Update-URL (URL-encoded)" -msgstr "" +msgstr "Substitui [USERNAME] na URL de atualização" msgid "Run once" -msgstr "" +msgstr "Rodar apenas uma vez" msgid "Script" -msgstr "" +msgstr "Script" msgid "Show more" -msgstr "" +msgstr "Mostrar mais" msgid "Software update required" -msgstr "" +msgstr "Atualização de software necessária" msgid "Specifying a DNS-Server is not supported" -msgstr "" +msgstr "Não é suportado especificar um servidor DNS" msgid "Start" -msgstr "" +msgstr "Iniciar" msgid "Start / Stop" -msgstr "" +msgstr "Iniciar / Parar" msgid "Status directory" -msgstr "" +msgstr "Diretório de status" msgid "Stopped" -msgstr "" +msgstr "Parado" msgid "" "The currently installed 'ddns-scripts' package did not support all available " "settings." msgstr "" +"O pacote 'ddns-scripts' instalado atualmente não suporta todas as " +"configurações disponíveis" msgid "The default setting of '0' will retry infinite." -msgstr "" +msgstr "A configuração padrão de '0' terá infinitas tentativas" msgid "There is no service configured." -msgstr "" +msgstr "Não há serviço configurado" msgid "Timer Settings" msgstr "" msgid "To change global settings click here" -msgstr "" +msgstr "Clique aqui para mudar configurações globais" msgid "To use cURL activate this option." -msgstr "" +msgstr "Ative essa opção para usar cURL" msgid "URL" msgstr "URL" msgid "URL to detect" -msgstr "" +msgstr "Detectada pela URL" msgid "Unknown error" -msgstr "" +msgstr "Erro desconhecido" msgid "" "Update URL to be used for updating your DDNS Provider.<br />Follow " "instructions you will find on their WEB page." msgstr "" +"URL a ser usada para atualizar seu provedor DDNS.<br />Siga as instruções " +"encontradas na página deles." msgid "Update error" -msgstr "" +msgstr "Erro de atualização" msgid "Use HTTP Secure" -msgstr "" +msgstr "Usar HTTP Seguro" msgid "Use cURL" -msgstr "" +msgstr "Usar cURL" msgid "User defined script to read systems IP-Address" -msgstr "" +msgstr "Script definido pelo usuário para ler endereço IP do sistema" msgid "Username" msgstr "Usuário" msgid "Using specific DNS Server not supported" -msgstr "" +msgstr "Usar servidor DNS específico não é suportado" msgid "Verify" -msgstr "" +msgstr "Verificar" msgid "Version" -msgstr "" +msgstr "Versão" msgid "Version Information" -msgstr "" +msgstr "Informação de Versão" msgid "Waiting for changes to be applied..." -msgstr "" +msgstr "Aguardando as alterações serem aplicadas…" msgid "Warning" -msgstr "" +msgstr "Alerta" msgid "" "Writes detailed messages to log file. File will be truncated automatically." msgstr "" +"Escreve mensagens detalhadas no arquivo de log. Arquivo será automaticamente " +"truncado." msgid "" "Writes log messages to syslog. Critical Errors will always be written to " "syslog." msgstr "" +"Escreve mensagens de log no log do sistema. Erros críticos sempre serão " +"escritos no log do sistema." -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" +"Você deve instalar o pacote 'bind-host' ou 'knot-host' ou 'drill' ou " +"'hostip' caso precise especificar um servidor DNS para detectar seu IP " +"registrado." msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" +"Você deve instalar o pacote 'bind-host' ou 'knot-host' ou 'drill' para " +"requisições DNS." -msgid "You should install BIND host package for DNS requests." -msgstr "" +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." +msgstr "Você deve instalar o pacote 'wget' ou 'curl' ou 'uclient-fetch'." -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" +"Você deve instalar o pacote 'wget' ou 'curl' ou 'uclient-fetch' com " +"'libustream-*ssl'." -msgid "You should install GNU Wget with SSL or cURL package." -msgstr "" +msgid "You should install 'wget' or 'curl' package." +msgstr "Você deve instalar o pacote ‘wget’ ou ‘curl’." -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" +"Você deve instalar o pacote ‘wget’ ou ‘uclient-fetch’ ou substituir libcurl." msgid "cURL is installed, but libcurl was compiled without proxy support." -msgstr "" +msgstr "cURL está instalado, mas libcurl foi compilada sem suporte a proxy" msgid "cURL without Proxy Support" -msgstr "" +msgstr "cURL sem suporte a proxy" msgid "can not detect local IP. Please select a different Source combination" msgstr "" +"não pôde detectar IP local. Por favor selecione uma combinação de fonte " +"diferente" msgid "can not resolve host:" -msgstr "" +msgstr "não pôde resolver host:" msgid "config error" -msgstr "" +msgstr "erro de configuração" msgid "days" -msgstr "" +msgstr "dias" msgid "directory or path/file" -msgstr "" +msgstr "diretório ou caminho/arquivo" msgid "either url or script could be set" -msgstr "" +msgstr "url ou script pode ser setado" msgid "enable here" -msgstr "" +msgstr "habilite aqui" msgid "file or directory not found or not 'IGNORE'" -msgstr "" +msgstr "arquivo ou diretório não encontrado ou não ‘IGNORE’" msgid "help" -msgstr "" +msgstr "ajuda" msgid "hours" -msgstr "" +msgstr "horas" msgid "installed" -msgstr "" +msgstr "instalado" msgid "invalid FQDN / required - Sample" -msgstr "" +msgstr "FQDN requerido inválido - Exemplo" msgid "minimum value '0'" -msgstr "" +msgstr "valor mínimo ‘0’" msgid "minimum value '1'" -msgstr "" +msgstr "valor mínimo ‘1’" msgid "minimum value 5 minutes == 300 seconds" -msgstr "" +msgstr "valor mínimo 5 minutos == 300 segundos" msgid "minutes" -msgstr "" +msgstr "minutos" msgid "missing / required" -msgstr "" +msgstr "faltando / necessário" msgid "must be greater or equal 'Check Interval'" -msgstr "" +msgstr "deve ser maior ou igual ‘Check Interval’" msgid "must start with 'http://'" -msgstr "" +msgstr "deve iniciar com ‘http://'" msgid "nc (netcat) can not connect" -msgstr "" +msgstr "nc (netcat) não pôde conectar" msgid "never" -msgstr "" +msgstr "nunca" msgid "no data" -msgstr "" +msgstr "sem dados" msgid "not found or not executable - Sample: '/path/to/script.sh'" -msgstr "" +msgstr "não encontrado ou não executável - Exemplo: ‘/caminho/para/script.sh'" msgid "nslookup can not resolve host" -msgstr "" +msgstr "nslookup não pôde resolver o host" msgid "or" -msgstr "" +msgstr "ou" msgid "or higher" -msgstr "" +msgstr "ou maior" msgid "please disable" -msgstr "" +msgstr "por favor desabilite" msgid "please remove entry" -msgstr "" +msgstr "por favor remova a entrada" msgid "please select 'IPv4' address version" -msgstr "" +msgstr "por favor selecione a versão de endereço ‘IPv4’" msgid "please select 'IPv4' address version in" -msgstr "" +msgstr "por favor selecione a versão de endereço ‘IPv4’ em" msgid "please set to 'default'" -msgstr "" +msgstr "por favor defina como ‘default’" msgid "proxy port missing" -msgstr "" +msgstr "porta de proxy faltando" msgid "required" -msgstr "" +msgstr "necessário" msgid "seconds" -msgstr "" +msgstr "segundos" msgid "to run HTTPS without verification of server certificates (insecure)" msgstr "" +"para rodar HTTPS sem verificação dos certificados do servidor (não seguro)" msgid "unknown error" -msgstr "" +msgstr "erro desconhecido" msgid "unspecific error" -msgstr "" +msgstr "erro não específico" msgid "use hostname, FQDN, IPv4- or IPv6-Address" -msgstr "" +msgstr "use hostname, FQDN, endereço IPv4 ou IPv6" + +#~ msgid "" +#~ "You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +#~ "package for DNS requests." +#~ msgstr "" +#~ "Você deve instalar o pacote 'bind-host' ou 'knot-host' ou 'drill' ou " +#~ "'hostip' para requisições DNS." diff --git a/applications/luci-app-ddns/po/pt/ddns.po b/applications/luci-app-ddns/po/pt/ddns.po index e6219eda3e..1a00efbb75 100644 --- a/applications/luci-app-ddns/po/pt/ddns.po +++ b/applications/luci-app-ddns/po/pt/ddns.po @@ -313,8 +313,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -367,8 +367,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -585,24 +585,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/ro/ddns.po b/applications/luci-app-ddns/po/ro/ddns.po index f67f47d0e9..93424ad0d0 100644 --- a/applications/luci-app-ddns/po/ro/ddns.po +++ b/applications/luci-app-ddns/po/ro/ddns.po @@ -312,8 +312,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -366,8 +366,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -584,24 +584,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/ru/ddns.po b/applications/luci-app-ddns/po/ru/ddns.po index d05a027b15..a41d1f498b 100644 --- a/applications/luci-app-ddns/po/ru/ddns.po +++ b/applications/luci-app-ddns/po/ru/ddns.po @@ -313,8 +313,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -367,8 +367,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -585,24 +585,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/templates/ddns.pot b/applications/luci-app-ddns/po/templates/ddns.pot index dbe317d131..194bf816a1 100644 --- a/applications/luci-app-ddns/po/templates/ddns.pot +++ b/applications/luci-app-ddns/po/templates/ddns.pot @@ -298,8 +298,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -352,8 +352,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -570,24 +570,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/tr/ddns.po b/applications/luci-app-ddns/po/tr/ddns.po index e9984e1c1b..be3b1e572d 100644 --- a/applications/luci-app-ddns/po/tr/ddns.po +++ b/applications/luci-app-ddns/po/tr/ddns.po @@ -309,8 +309,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -363,8 +363,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -581,24 +581,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/uk/ddns.po b/applications/luci-app-ddns/po/uk/ddns.po index 4f1002bbad..33c077e878 100644 --- a/applications/luci-app-ddns/po/uk/ddns.po +++ b/applications/luci-app-ddns/po/uk/ddns.po @@ -314,8 +314,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -368,8 +368,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -586,24 +586,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/vi/ddns.po b/applications/luci-app-ddns/po/vi/ddns.po index 7749702a30..9d9ee070ee 100644 --- a/applications/luci-app-ddns/po/vi/ddns.po +++ b/applications/luci-app-ddns/po/vi/ddns.po @@ -312,8 +312,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -366,8 +366,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -584,24 +584,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/po/zh-cn/ddns.po b/applications/luci-app-ddns/po/zh-cn/ddns.po index d1b11d0100..91bb756b37 100644 --- a/applications/luci-app-ddns/po/zh-cn/ddns.po +++ b/applications/luci-app-ddns/po/zh-cn/ddns.po @@ -319,8 +319,8 @@ msgid "Info" msgstr "信息" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -375,9 +375,9 @@ msgid "" msgstr "包含SSL支持的GNU Wget或者cURL均未被安装.无法选择一个网络用于通信." msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." -msgstr "包含SSL支持的GNU Wget或者cURL均未被安装.无法使用HTTPS更新DDNS" +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." +msgstr "" msgid "Network" msgstr "网络" @@ -594,25 +594,30 @@ msgid "" "syslog." msgstr "把日志写入系统日志.无论是否启用这项,错误信息总是会被写入系统日志" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." -msgstr "你需要安装BIND以请求DNS记录." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." +msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." -msgstr "你需要安装包含SSL支持的GNU Wget(推荐)或是cURL软件包." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." +msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." -msgstr "你需要安装包含SSL支持的GNU Wget或是cURL软件包." +msgid "You should install 'wget' or 'curl' package." +msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." -msgstr "你需要安装包含SSL支持的GNU Wget或替换libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." +msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." msgstr "cURL已经安装,但是libcurl编译时没有启用代理支持." @@ -733,3 +738,20 @@ msgstr "未指定的错误" msgid "use hostname, FQDN, IPv4- or IPv6-Address" msgstr "使用主机名或IPv4/IPv6地址" + +#~ msgid "" +#~ "Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " +#~ "protocol." +#~ msgstr "包含SSL支持的GNU Wget或者cURL均未被安装.无法使用HTTPS更新DDNS" + +#~ msgid "You should install BIND host package for DNS requests." +#~ msgstr "你需要安装BIND以请求DNS记录." + +#~ msgid "You should install GNU Wget with SSL (preferred) or cURL package." +#~ msgstr "你需要安装包含SSL支持的GNU Wget(推荐)或是cURL软件包." + +#~ msgid "You should install GNU Wget with SSL or cURL package." +#~ msgstr "你需要安装包含SSL支持的GNU Wget或是cURL软件包." + +#~ msgid "You should install GNU Wget with SSL or replace libcurl." +#~ msgstr "你需要安装包含SSL支持的GNU Wget或替换libcurl." diff --git a/applications/luci-app-ddns/po/zh-tw/ddns.po b/applications/luci-app-ddns/po/zh-tw/ddns.po index cfa3939838..ae0aaba8d9 100644 --- a/applications/luci-app-ddns/po/zh-tw/ddns.po +++ b/applications/luci-app-ddns/po/zh-tw/ddns.po @@ -310,8 +310,8 @@ msgid "Info" msgstr "" msgid "" -"Install ca-certificates package or needed certificates by hand into /etc/ssl/" -"certs default directory" +"Install 'ca-certificates' package or needed certificates by hand into /etc/" +"ssl/certs default directory" msgstr "" msgid "Interface" @@ -364,8 +364,8 @@ msgid "" msgstr "" msgid "" -"Neither GNU Wget with SSL nor cURL installed to support updates via HTTPS " -"protocol." +"Neither GNU Wget with SSL nor cURL installed to support secure updates via " +"HTTPS protocol." msgstr "" msgid "Network" @@ -582,24 +582,29 @@ msgid "" "syslog." msgstr "" -msgid "You should install BIND host or hostip package for DNS requests." +msgid "" +"You should install 'bind-host' or 'knot-host' or 'drill' or 'hostip' " +"package, if you need to specify a DNS server to detect your registered IP." msgstr "" msgid "" -"You should install BIND host or hostip package, if you need to specify a DNS " -"server to detect your registered IP." +"You should install 'bind-host' or 'knot-host' or 'drill' package for DNS " +"requests." msgstr "" -msgid "You should install BIND host package for DNS requests." +msgid "You should install 'wget' or 'curl' or 'uclient-fetch' package." msgstr "" -msgid "You should install GNU Wget with SSL (prefered) or cURL package." +msgid "" +"You should install 'wget' or 'curl' or 'uclient-fetch' with 'libustream-" +"*ssl' package." msgstr "" -msgid "You should install GNU Wget with SSL or cURL package." +msgid "You should install 'wget' or 'curl' package." msgstr "" -msgid "You should install GNU Wget with SSL or replace libcurl." +msgid "" +"You should install 'wget' or 'uclient-fetch' package or replace libcurl." msgstr "" msgid "cURL is installed, but libcurl was compiled without proxy support." diff --git a/applications/luci-app-ddns/root/etc/uci-defaults/40_luci-ddns b/applications/luci-app-ddns/root/etc/uci-defaults/40_luci-ddns index 9fd875e34b..a82c1f9ac6 100755 --- a/applications/luci-app-ddns/root/etc/uci-defaults/40_luci-ddns +++ b/applications/luci-app-ddns/root/etc/uci-defaults/40_luci-ddns @@ -7,4 +7,4 @@ uci -q batch <<-EOF >/dev/null EOF rm -f /tmp/luci-indexcache -exit 0 +return 0 diff --git a/applications/luci-app-diag-devinfo/Makefile b/applications/luci-app-diag-devinfo/Makefile index 0424fffa0c..1505b62121 100644 --- a/applications/luci-app-diag-devinfo/Makefile +++ b/applications/luci-app-diag-devinfo/Makefile @@ -9,6 +9,10 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Diagnostics Tools (Device Info) LUCI_DEPENDS:=+luci-app-diag-core +smap +netdiscover +mac-to-devinfo +httping +smap-to-devinfo +netdiscover-to-devinfo @BROKEN +define Package/luci-app-diag-devinfo/conffiles +/etc/config/luci_devinfo +endef + include ../../luci.mk # call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua index 60af531d5c..97e93ae050 100644 --- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua +++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua @@ -319,13 +319,13 @@ end o = s:option(MultiValue, "weekdays", translate("Week Days")) o.oneline = true o.widget = "checkbox" -o:value("sun", translate("Sunday")) -o:value("mon", translate("Monday")) -o:value("tue", translate("Tuesday")) -o:value("wed", translate("Wednesday")) -o:value("thu", translate("Thursday")) -o:value("fri", translate("Friday")) -o:value("sat", translate("Saturday")) +o:value("Sun", translate("Sunday")) +o:value("Mon", translate("Monday")) +o:value("Tue", translate("Tuesday")) +o:value("Wed", translate("Wednesday")) +o:value("Thu", translate("Thursday")) +o:value("Fri", translate("Friday")) +o:value("Sat", translate("Saturday")) o = s:option(MultiValue, "monthdays", translate("Month Days")) o.oneline = true diff --git a/applications/luci-app-firewall/po/ca/firewall.po b/applications/luci-app-firewall/po/ca/firewall.po index d8f51b63c1..5d62f02656 100644 --- a/applications/luci-app-firewall/po/ca/firewall.po +++ b/applications/luci-app-firewall/po/ca/firewall.po @@ -516,130 +516,3 @@ msgstr "rebutja" msgid "traffic" msgstr "trànsit" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Si us plau, trieu --" - -#~ msgid "-- custom --" -#~ msgstr "-- personalitzats --" - -#~ msgid "Destination" -#~ msgstr "Destí" - -#~ msgid "Source" -#~ msgstr "Origen" - -#~ msgid "Internal port (optional)" -#~ msgstr "Port intern (opcional)" - -#~ msgid "Advanced Rules" -#~ msgstr "Regles avançades" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Les regles avançades et deixen personalitzar el teu tallafocs per les " -#~ "teves necessitats. Només s'hi correspondran les connexions noves. Als " -#~ "paquets que pertanyen una connexió oberta se'ls permet passar el " -#~ "tallafocs automàticament." - -#~ msgid "Port forwarding" -#~ msgstr "Readreçament de port" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "El readreçament de ports permet proveir serveis de la xarxa interna a una " -#~ "xarxa externa." - -#~ msgid "Traffic Redirection" -#~ msgstr "Readreçament de tràfic" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "El readreçament de tràfic et permet canviar l'adreça destí dels paquets " -#~ "reenviats." - -#, fuzzy -#~ msgid "Network" -#~ msgstr "Xarxes" - -#~ msgid "Traffic Control" -#~ msgstr "Control de tràfic" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Tràfic zona a zona" - -#, fuzzy -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "Ací pots especificar quin tràfic de xarxes es permet entre les zones de " -#~ "xarxa. Només s'hi correspondren les connexions noves. Als paquets que " -#~ "pertanyen una connexió oberta se'ls permet passar el tallafocs " -#~ "automàticament. Si experimentes problemes de connexió ocasionals, intenta " -#~ "activar el Clamping MSS, si no desactiva'l per raons de rendiment." - -#~ msgid "Zone" -#~ msgstr "Zona" - -#, fuzzy -#~ msgid "Destination IP" -#~ msgstr "Destí" - -#, fuzzy -#~ msgid "IP address" -#~ msgstr "Adreça IP" - -#, fuzzy -#~ msgid "Source MAC-address" -#~ msgstr "Adreça MAC d'origen" - -#~ msgid "Custom forwarding" -#~ msgstr "Reenviament personalitzat" - -#~ msgid "Input Zone" -#~ msgstr "Zona d'entrada" - -#~ msgid "Output Zone" -#~ msgstr "Zona de sortida" - -#~ msgid "External Zone" -#~ msgstr "Zona externa" - -#~ msgid "Source MAC" -#~ msgstr "MAC origen" - -#~ msgid "Defaults" -#~ msgstr "Per defecte" - -#~ msgid "" -#~ "These are the default settings that are used if no other rules match." -#~ msgstr "" -#~ "Aquesta és la configuració per defecte utilitzada si no hi ha cap altra " -#~ "regla que es correspongui." - -#~ msgid "" -#~ "Zones part the network interfaces into certain isolated areas to separate " -#~ "network traffic. One or more networks can belong to a zone. The MASQ-flag " -#~ "enables NAT masquerading for all outgoing traffic on this zone." -#~ msgstr "" -#~ "Les zones parteixen les interfícies de xarxa en certes àrees aïllades per " -#~ "separar el tràfic de xarxa. Una o més xarxes poden pertànyer a una zona. " -#~ "El flag MASQ activa el NAT masquerading per tot el tràfic sortint " -#~ "d'aquesta zona." - -#~ msgid "MASQ" -#~ msgstr "MASQ" - -#~ msgid "contained networks" -#~ msgstr "Xarxes contingudes" diff --git a/applications/luci-app-firewall/po/cs/firewall.po b/applications/luci-app-firewall/po/cs/firewall.po index 5a631d061f..2d4b251d36 100644 --- a/applications/luci-app-firewall/po/cs/firewall.po +++ b/applications/luci-app-firewall/po/cs/firewall.po @@ -511,111 +511,3 @@ msgstr "odmítnout" msgid "traffic" msgstr "provoz" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Prosím zvolte --" - -#~ msgid "-- custom --" -#~ msgstr "-- vlastní --" - -#~ msgid "Destination" -#~ msgstr "Cíl" - -#~ msgid "Family" -#~ msgstr "Rodina" - -#~ msgid "Forward to %s in %s" -#~ msgstr "Přesměrovat na %s v %s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "Přesměrovat na %s, %s v %s" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Zdroj" - -#~ msgid "To %s" -#~ msgstr "Na %s" - -#~ msgid "To %s at %s" -#~ msgstr "Na %s v %s" - -#~ msgid "Via" -#~ msgstr "přes" - -#~ msgid "Accept forward" -#~ msgstr "Přijmout přesměrování" - -#~ msgid "Accept input" -#~ msgstr "Přijmout vstup" - -#~ msgid "Disable" -#~ msgstr "Zakázat" - -#~ msgid "Discard forward" -#~ msgstr "Zahodit přesměrování" - -#~ msgid "Discard input" -#~ msgstr "Zahodit vstup" - -#~ msgid "Do not track forward" -#~ msgstr "Nesledovat přesměrování" - -#~ msgid "Do not track input" -#~ msgstr "Nesledovat vstup" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP rozsah" - -#~ msgid "IPs" -#~ msgstr "IP" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC" - -#~ msgid "Refuse forward" -#~ msgstr "Odmítnout přesměrování" - -#~ msgid "Refuse input" -#~ msgstr "Odmítnout vstup" - -#~ msgid "Rule is disabled" -#~ msgstr "Pravidlo je zakázané" - -#~ msgid "Rule is enabled" -#~ msgstr "Pravidlo je povolené" - -#~ msgid "day" -#~ msgstr "den" - -#~ msgid "hour" -#~ msgstr "hodina" - -#~ msgid "minute" -#~ msgstr "minuta" - -#~ msgid "not" -#~ msgstr "ne" - -#~ msgid "port" -#~ msgstr "port" - -#~ msgid "ports" -#~ msgstr "porty" - -#~ msgid "second" -#~ msgstr "sekunda" - -#~ msgid "type" -#~ msgstr "typ" - -#~ msgid "types" -#~ msgstr "typy" diff --git a/applications/luci-app-firewall/po/de/firewall.po b/applications/luci-app-firewall/po/de/firewall.po index 7a38d47550..c9237d7d49 100644 --- a/applications/luci-app-firewall/po/de/firewall.po +++ b/applications/luci-app-firewall/po/de/firewall.po @@ -517,274 +517,3 @@ msgstr "zurückweisen" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Bitte wählen --" - -#~ msgid "-- custom --" -#~ msgstr "-- benutzerdefiniert --" - -#~ msgid "Destination" -#~ msgstr "Ziel" - -#~ msgid "Family" -#~ msgstr "Adressfamilie" - -#~ msgid "Forward to %s in %s" -#~ msgstr "Weiterleiten zu %s in %s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "Weiterleiten zu %s, %s in %s" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Quelle" - -#~ msgid "To %s" -#~ msgstr "Zu %s" - -#~ msgid "To %s at %s" -#~ msgstr "Zu %s an %s" - -#~ msgid "Via" -#~ msgstr "Über" - -#~ msgid "Accept forward" -#~ msgstr "Weiterleitung erlauben" - -#~ msgid "Accept input" -#~ msgstr "Eingang erlauben" - -#~ msgid "Disable" -#~ msgstr "Daktivieren" - -#~ msgid "Discard forward" -#~ msgstr "Weiterleitung verwerfen" - -#~ msgid "Discard input" -#~ msgstr "Eingang verwerfen" - -#~ msgid "Do not track forward" -#~ msgstr "Weiterleitung nicht verfolgen" - -#~ msgid "Do not track input" -#~ msgstr "Eingang nicht verfolgen" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP-Bereich" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "Refuse forward" -#~ msgstr "Weiterleitung zurückweisen" - -#~ msgid "Refuse input" -#~ msgstr "Eingang zurückweisen" - -#~ msgid "Rule is disabled" -#~ msgstr "Regel ist deaktiviert" - -#~ msgid "Rule is enabled" -#~ msgstr "Regel ist aktiviert" - -#~ msgid "day" -#~ msgstr "Tag" - -#~ msgid "hour" -#~ msgstr "Stunde" - -#~ msgid "minute" -#~ msgstr "Minute" - -#~ msgid "not" -#~ msgstr "nicht" - -#~ msgid "port" -#~ msgstr "Port" - -#~ msgid "ports" -#~ msgstr "Ports" - -#~ msgid "second" -#~ msgstr "Sekunde" - -#~ msgid "type" -#~ msgstr "Typ" - -#~ msgid "types" -#~ msgstr "Typen" - -#~ msgid "(optional)" -#~ msgstr "(optional)" - -#~ msgid "Intended destination address" -#~ msgstr "Gewünschte Zieladresse" - -#~ msgid "Internal port (optional)" -#~ msgstr "Interner Port (optional)" - -#~ msgid "Accept" -#~ msgstr "Akzeptiere" - -#~ msgid "Discard" -#~ msgstr "Verwerfe" - -#~ msgid "Advanced Options" -#~ msgstr "Erweiterte Optionen" - -#~ msgid "Advanced Rules" -#~ msgstr "Erweiterte Regeln" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Mit erweiterten Regeln kann die Firewall an die eigenen Bedürfnisse " -#~ "angepasst werden. Es werden nur neue Verbindungen betrachtet. Pakete, die " -#~ "zu bereits bestehenden Verbindungen gehören werden automatisch akzeptiert." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Benutzerdefinierte Regeln (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Gerät" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "Für DNAT Regeln wird der Verkehr nach der angegeben Zieladresse " -#~ "gefiltert. Bei SNAT Regeln ist dieses die Quelladresse für umgeschriebene " -#~ "Pakete." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host" -#~ msgstr "" -#~ "Eingehende Verbindungen filtern welche von dem angegebenen Port oder " -#~ "Portbereich des Clients ausgehen" - -#~ msgid "Overview" -#~ msgstr "Übersicht" - -#~ msgid "Port forwarding" -#~ msgstr "Portweiterleitung" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "Portweiterleitungen ermöglichen es interne Netzwerkdienste aus einem " -#~ "externen Netzwerk heraus erreichbar zu machen." - -#~ msgid "Redirection type" -#~ msgstr "Typ der Weiterleitung" - -#~ msgid "Redirections" -#~ msgstr "Weiterleitungen" - -#~ msgid "Rules" -#~ msgstr "Regeln" - -#~ msgid "Traffic Redirection" -#~ msgstr "Umleitungen" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "Umleitungen erlauben es das Ziel von weitergeleiteten Paketen zu " -#~ "verändern." - -#, fuzzy -#~ msgid "Network" -#~ msgstr "Netzwerke" - -#~ msgid "Traffic Control" -#~ msgstr "Verkehrskontrolle" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Zone-zu-Zone Verkehr" - -#, fuzzy -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "An dieser Stelle kann festgelegt zwischen welchen Zonen Netzverkehr hin " -#~ "und her fließen kann. Es werden nur neue Verbindungen betrachtet. Pakete, " -#~ "die zu bereits bestehenden Verbindungen gehören werden automatisch " -#~ "akzeptiert. Bei gelegentlich auftretenden Verbindungsproblemen kann MSS " -#~ "Clamping helfen, ansonsten sollte dies aus Performancegründen deaktiviert " -#~ "bleiben." - -#~ msgid "Zone" -#~ msgstr "Zone" - -#, fuzzy -#~ msgid "Destination IP" -#~ msgstr "Ziel" - -#, fuzzy -#~ msgid "IP address" -#~ msgstr "IP-Adresse" - -#, fuzzy -#~ msgid "Source MAC-address" -#~ msgstr "Quell-MAC-Adresse" - -#~ msgid "Custom forwarding" -#~ msgstr "Erweiterte Weiterleitung" - -#~ msgid "Input Zone" -#~ msgstr "Eingangszone" - -#~ msgid "Output Zone" -#~ msgstr "Ausgangszone" - -#~ msgid "External Zone" -#~ msgstr "Externe Zone" - -#~ msgid "Source MAC" -#~ msgstr "Quell-MAC-Adresse" - -#~ msgid "Defaults" -#~ msgstr "Grundeinstellungen" - -#~ msgid "" -#~ "These are the default settings that are used if no other rules match." -#~ msgstr "" -#~ "Grundeinstellungen die verwendet werden, wenn keine andere Regel " -#~ "angewandt werden kann." - -#~ msgid "" -#~ "Zones part the network interfaces into certain isolated areas to separate " -#~ "network traffic. One or more networks can belong to a zone. The MASQ-flag " -#~ "enables NAT masquerading for all outgoing traffic on this zone." -#~ msgstr "" -#~ "Zonen teilen das Netzwerk in mehrere Bereiche ein um Netzverkehr sicher " -#~ "zu trennen. Ein oder mehrere Netzwerke gehören zu einer Zone. Das MASQ-" -#~ "Flag legt fest, dass aller ausgehende Netzverkehr einer Zone NAT-maskiert " -#~ "wird." - -#~ msgid "MASQ" -#~ msgstr "MASQ" - -#~ msgid "contained networks" -#~ msgstr "verbundene Netzwerke" diff --git a/applications/luci-app-firewall/po/el/firewall.po b/applications/luci-app-firewall/po/el/firewall.po index 6ec03df87d..f54e3d6170 100644 --- a/applications/luci-app-firewall/po/el/firewall.po +++ b/applications/luci-app-firewall/po/el/firewall.po @@ -481,200 +481,3 @@ msgstr "απόρριψη" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Παρακαλώ επιλέξτε --" - -#~ msgid "-- custom --" -#~ msgstr "-- προσαρμοσμένο --" - -#~ msgid "Destination" -#~ msgstr "Προορισμός" - -#~ msgid "Family" -#~ msgstr "Οικογένεια" - -#~ msgid "Forward to %s in %s" -#~ msgstr "Προώθηση του %s στο %s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "Προώθηση στο %s, %s στο %s" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Πηγή" - -#~ msgid "To %s" -#~ msgstr "Προς %s" - -#~ msgid "Accept forward" -#~ msgstr "Αποδοχή προώθησης" - -#~ msgid "Accept input" -#~ msgstr "Αποδοχή εισόδου" - -#~ msgid "Disable" -#~ msgstr "Απενεργοποίηση" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Εύρος IP" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "Refuse forward" -#~ msgstr "Άρνηση προώθησης" - -#~ msgid "Refuse input" -#~ msgstr "Άρνηση εισόδου" - -#~ msgid "day" -#~ msgstr "ημέρα" - -#~ msgid "hour" -#~ msgstr "ώρα" - -#~ msgid "minute" -#~ msgstr "λεπτό" - -#~ msgid "port" -#~ msgstr "θύρα" - -#~ msgid "ports" -#~ msgstr "θύρες" - -#~ msgid "second" -#~ msgstr "δευτερόλεπτο" - -#~ msgid "type" -#~ msgstr "τύπος" - -#~ msgid "types" -#~ msgstr "τύποι" - -#~ msgid "Internal port (optional)" -#~ msgstr "Εσωτερική θύρα (προαιρετικό)" - -#~ msgid "Advanced Rules" -#~ msgstr "Προχωρημένοι Κανόνες" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Οι προχωρημένοι κανόνες σας επιτρέπουν να προσαρμόσετε το τείχος " -#~ "προστασίας στις δικές σας ανάγκες. Οι κανόνες θα εφαρμόζονται μόνο στις " -#~ "νέες συνδέσεις. Πακέτα που ανήκουν σε ήδη ανοιχτές συνδέσεις, θα περνάνε " -#~ "αυτόματα το τείχος προστασίας." - -#~ msgid "Port forwarding" -#~ msgstr "Προώθηση θυρών" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "Η προώθηση θυρών επιτρέπει σε υπηρεσίες δικτύου που λειτουργούν μέσα σε " -#~ "ένα εσωτερικό δίκτυο, να γίνονται διαθέσιμες και σε ένα εξωτερικό." - -#~ msgid "Traffic Redirection" -#~ msgstr "Ανακατεύθυνση Κίνησης" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "Η ανακατεύθυνση κίνησης σας επιτρέπει να αλλάξετε την διεύθυνση " -#~ "προορισμού των προωθημένων πακέτων." - -#, fuzzy -#~ msgid "Network" -#~ msgstr "Δίκτυα" - -#~ msgid "Traffic Control" -#~ msgstr "Έλεγχος Κίνησης" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Κίνηση Ζώνης-προς-Ζώνη" - -#, fuzzy -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "Εδώ μπορείτε να ορίσετε τι δικτυακή κίνηση επιτρέπεται μεταξύ δικτυακών " -#~ "ζωνών. Θα εφαρμόζεται μόνο σε νέες συνδέσεις. Πακέτα που ανήκουν σε ήδη " -#~ "ανοιχτές συνδέσεις θα περνάνε αυτόματα το τείχος προστασίας. Αν " -#~ "αντιμετωπίζεται σποραδικά προβλήματα με τη σύνδεσή σας, δοκιμάστε να " -#~ "ενεργοποιήσετε τον Περιορισμό MSS, αλλιώς απενεργοποιήστε το για " -#~ "μεγαλύτερη απόδοση." - -#~ msgid "Zone" -#~ msgstr "Ζώνη" - -#, fuzzy -#~ msgid "Destination IP" -#~ msgstr "Προορισμός" - -#, fuzzy -#~ msgid "IP address" -#~ msgstr "Διεύθυνση IP" - -#, fuzzy -#~ msgid "Source MAC-address" -#~ msgstr "Διεύθυνση MAC πηγής" - -#~ msgid "Custom forwarding" -#~ msgstr "Προσαρμοσμένη προώθηση" - -#~ msgid "Input Zone" -#~ msgstr "Ζώνη Εισόδου" - -#~ msgid "Output Zone" -#~ msgstr "Ζώνη Εξόδου" - -#~ msgid "External Zone" -#~ msgstr "Εξωτερική Ζώνη" - -#~ msgid "Source MAC" -#~ msgstr "MAC πηγής" - -#~ msgid "Defaults" -#~ msgstr "Προκαθορισμένα" - -#~ msgid "" -#~ "These are the default settings that are used if no other rules match." -#~ msgstr "" -#~ "Αυτές είναι οι προκαθορισμένες ρυθμίσεις που χρησιμοποιούνται αν δεν " -#~ "υπάρχει κάποιος άλλος κανόνας που ταιριάζει." - -#~ msgid "" -#~ "Zones part the network interfaces into certain isolated areas to separate " -#~ "network traffic. One or more networks can belong to a zone. The MASQ-flag " -#~ "enables NAT masquerading for all outgoing traffic on this zone." -#~ msgstr "" -#~ "Οι ζώνες χωρίζουν τις δικτυακές διεπαφές σε απομονωμένες περιοχές ώστε να " -#~ "διαχωρίζεται η δικτυακή κίνηση. Σε μία ζώνη μπορούν να ανήκουν ένα ή " -#~ "περισσότερα δίκτυα. Η σημαία MASQ ενεργοποιεί NAT masquerading για όλη " -#~ "την εξερχόμενη κίνηση της ζώνης." - -#~ msgid "MASQ" -#~ msgstr "MASQ" - -#~ msgid "contained networks" -#~ msgstr "δίκτυα που περιέχονται" diff --git a/applications/luci-app-firewall/po/en/firewall.po b/applications/luci-app-firewall/po/en/firewall.po index ac91bb8797..6e3b9eb5ea 100644 --- a/applications/luci-app-firewall/po/en/firewall.po +++ b/applications/luci-app-firewall/po/en/firewall.po @@ -508,164 +508,3 @@ msgstr "reject" msgid "traffic" msgstr "" - -#~ msgid "Destination" -#~ msgstr "Destination" - -#~ msgid "Source" -#~ msgstr "Source" - -#~ msgid "(optional)" -#~ msgstr "(optional)" - -#~ msgid "Internal port (optional)" -#~ msgstr "Internal port (optional)" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/trule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Name" -# msgstr "" -# -# msgid "(optional)" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -# msgid "Source port" -# msgstr "" -# -# msgid "Destination port" -# msgstr "" -# -# msgid "Action" -# msgstr "" -# -# msgid "drop" -# msgstr "" -# -# msgid "accept" -# msgstr "" -# -# msgid "reject" -# msgstr "" -# -#~ msgid "Advanced Rules" -#~ msgstr "Advanced Rules" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." - -#~ msgid "Device" -#~ msgstr "Device" - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host" -#~ msgstr "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host" - -#~ msgid "Overview" -#~ msgstr "Overview" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/miniportfw.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Name" -# msgstr "" -# -# msgid "(optional)" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -# msgid "External port" -# msgstr "" -# -# msgid "Internal IP address" -# msgstr "" -# -#~ msgid "Port forwarding" -#~ msgstr "Port forwarding" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." - -#~ msgid "Rules" -#~ msgstr "Rules" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/redirect.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Name" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -#~ msgid "Traffic Redirection" -#~ msgstr "Traffic Redirection" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." - -#~ msgid "Network" -#~ msgstr "Network" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/traffic.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Name" -# msgstr "" -# -#~ msgid "Traffic Control" -#~ msgstr "Traffic Control" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Zone-to-Zone traffic" - -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." - -#~ msgid "Zone" -#~ msgstr "Zone" - -#~ msgid "Destination IP" -#~ msgstr "Destination IP" - -#~ msgid "IP address" -#~ msgstr "IP address" - -#~ msgid "Source MAC-address" -#~ msgstr "Source MAC-address" diff --git a/applications/luci-app-firewall/po/es/firewall.po b/applications/luci-app-firewall/po/es/firewall.po index 5aef537a81..4a3e182267 100644 --- a/applications/luci-app-firewall/po/es/firewall.po +++ b/applications/luci-app-firewall/po/es/firewall.po @@ -514,227 +514,3 @@ msgstr "rechazar" msgid "traffic" msgstr "tráfico" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Seleccione --" - -#~ msgid "-- custom --" -#~ msgstr "-- propio --" - -#~ msgid "Destination" -#~ msgstr "Destino" - -#~ msgid "Family" -#~ msgstr "Familia" - -#~ msgid "Forward to %s in %s" -#~ msgstr "Traspasar a %s en %s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "Traspasar a %s, %s en %s" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Origen" - -#~ msgid "To %s" -#~ msgstr "A %s" - -#~ msgid "To %s at %s" -#~ msgstr "A %s en %s" - -#~ msgid "Via" -#~ msgstr "Via" - -#~ msgid "Accept forward" -#~ msgstr "Aceptar traspaso" - -#~ msgid "Accept input" -#~ msgstr "Aceptar entrada" - -#~ msgid "Disable" -#~ msgstr "Desactivar" - -#~ msgid "Discard forward" -#~ msgstr "Descartar traspaso" - -#~ msgid "Discard input" -#~ msgstr "Descartar entrada" - -#~ msgid "Do not track forward" -#~ msgstr "No seguir traspaso" - -#~ msgid "Do not track input" -#~ msgstr "No seguir entrada" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Rango IP" - -#~ msgid "IPs" -#~ msgstr "IPs" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "Refuse forward" -#~ msgstr "Rechazar traspaso" - -#~ msgid "Refuse input" -#~ msgstr "Rechazar entrada" - -#~ msgid "Rule is disabled" -#~ msgstr "La regla está desactivada" - -#~ msgid "Rule is enabled" -#~ msgstr "La regla está activada" - -#~ msgid "day" -#~ msgstr "dia" - -#~ msgid "hour" -#~ msgstr "hora" - -#~ msgid "minute" -#~ msgstr "minuto" - -#~ msgid "not" -#~ msgstr "no" - -#~ msgid "port" -#~ msgstr "puerto" - -#~ msgid "ports" -#~ msgstr "puertos" - -#~ msgid "second" -#~ msgstr "segundo" - -#~ msgid "type" -#~ msgstr "tipo" - -#~ msgid "types" -#~ msgstr "tipos" - -#~ msgid "Internal port (optional)" -#~ msgstr "Puerto interno (opcional)" - -#~ msgid "Advanced Rules" -#~ msgstr "Reglas avanzadas" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Las reglas avanzadas le permite personalizar el corta fuego según sus " -#~ "necesidades. Sólamente las nuevas conexiones serán afectadas por las " -#~ "reglas. Los paquetes pertenecientes a conexiones ya abierta, se les " -#~ "permite el libre paso por el corta fuego." - -#~ msgid "Port forwarding" -#~ msgstr "Reenvío de puerto" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "El reenvío de puerto permite proveer servicios de red en una red interna " -#~ "a una red externa (por ejemplo Internet)" - -#~ msgid "Traffic Redirection" -#~ msgstr "Redirección de tráfico" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "La redirección de tráfico permite cambiar la dirección de destino de los " -#~ "paquetes reenviados." - -#, fuzzy -#~ msgid "Network" -#~ msgstr "Redes" - -#~ msgid "Traffic Control" -#~ msgstr "Control de tráfico" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Tráfico Zona-a-Zona" - -#, fuzzy -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "Aquí puede especificar qué tráfico de red is permitido, discho tráfico " -#~ "fluirá entre las zonas de red definidas. Sólamente las nuevas conexiones " -#~ "serán aplicadas por las reglas. Los paquetes pertenecientes a conexiones " -#~ "ya abierta se les permitirá el paso sobre el corta fuego. Si experimenta " -#~ "ocacionalmente problemas de conexión, intente activar MSS Clamping de " -#~ "otra forma, deshabilitelo para mejorar considerablemente la performance." - -#~ msgid "Zone" -#~ msgstr "Zona" - -#, fuzzy -#~ msgid "Destination IP" -#~ msgstr "Destino" - -#, fuzzy -#~ msgid "IP address" -#~ msgstr "Dirección IP" - -#, fuzzy -#~ msgid "Source MAC-address" -#~ msgstr "Dirección MAC de origen" - -#~ msgid "Custom forwarding" -#~ msgstr "Renvío personalizado" - -#~ msgid "Input Zone" -#~ msgstr "Zona de entrada" - -#~ msgid "Output Zone" -#~ msgstr "Zona de salida" - -#~ msgid "External Zone" -#~ msgstr "Zona Externa" - -#~ msgid "Source MAC" -#~ msgstr "MAC de Origen" - -#~ msgid "Defaults" -#~ msgstr "De fábrica" - -#~ msgid "" -#~ "These are the default settings that are used if no other rules match." -#~ msgstr "" -#~ "Estos son los valores por defecto que son usados si no hay otra regla a " -#~ "aplicar." - -#~ msgid "" -#~ "Zones part the network interfaces into certain isolated areas to separate " -#~ "network traffic. One or more networks can belong to a zone. The MASQ-flag " -#~ "enables NAT masquerading for all outgoing traffic on this zone." -#~ msgstr "" -#~ "Las zonas dividen las interfaces de red en varias partes aisladas para " -#~ "separar el tráfico de red. Una o mas redes pueden pertenecer a una zona. " -#~ "La bandera MASQ activa el enmascaramiento NAT para todo el tráfico " -#~ "saliente sobre esa zona." - -#~ msgid "MASQ" -#~ msgstr "MASQ" - -#~ msgid "contained networks" -#~ msgstr "redes contenidas" diff --git a/applications/luci-app-firewall/po/fr/firewall.po b/applications/luci-app-firewall/po/fr/firewall.po index 796c4c2bb2..6d3111a28a 100644 --- a/applications/luci-app-firewall/po/fr/firewall.po +++ b/applications/luci-app-firewall/po/fr/firewall.po @@ -535,198 +535,3 @@ msgstr "rejeter" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Choisissez SVP --" - -#~ msgid "Destination" -#~ msgstr "Destination" - -#~ msgid "Family" -#~ msgstr "Famille" - -#~ msgid "Source" -#~ msgstr "Source" - -#~ msgid "Via" -#~ msgstr "Via" - -#~ msgid "(optional)" -#~ msgstr "(optionnel)" - -#~ msgid "Intended destination address" -#~ msgstr "Adresse de destination voulue" - -#~ msgid "Internal port (optional)" -#~ msgstr "Port interne (optionnel)" - -#~ msgid "Advanced Options" -#~ msgstr "Options avancées" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# applications/luci-fw/luasrc/model/cbi/luci_fw/trule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Name" -# msgstr "" -# -# msgid "(optional)" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -# msgid "Source port" -# msgstr "" -# -# msgid "Destination port" -# msgstr "" -# -# msgid "Action" -# msgstr "" -# -# msgid "drop" -# msgstr "" -# -# msgid "accept" -# msgstr "" -# -# msgid "reject" -# msgstr "" -# -#~ msgid "Advanced Rules" -#~ msgstr "Règles avancées" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Les règles avancées vous laissent personnaliser le pare-feu selon vos " -#~ "besoins. Seules les nouvelles connexions seront prises en compte. Les " -#~ "paquets appartenant à des connexions déjà ouvertes sont automatiquement " -#~ "admis à passer le pare-feu." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Règles spécifiques (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Équipement" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "Pour le DNAT, sélectionne le trafic entrant correspondant à l'adresse IP " -#~ "destinataire. Pour le SNAT, ré-écrit l'adresse source avec l'adresse " -#~ "donnée." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host" -#~ msgstr "" -#~ "Prendre en compte le trafic entrant provenant du port source donné (ou la " -#~ "gamme de ports) sur l'hôte client" - -#~ msgid "Overview" -#~ msgstr "Vue d'ensemble" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# applications/luci-fw/luasrc/model/cbi/luci_fw/miniportfw.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Name" -# msgstr "" -# -# msgid "(optional)" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -# msgid "External port" -# msgstr "" -# -# msgid "Internal IP address" -# msgstr "" -# -#~ msgid "Port forwarding" -#~ msgstr "Redirection de port" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "La redirection de port vous permet d'exposer des services réseaux de " -#~ "votre réseau local au réseau externe." - -#~ msgid "Redirection type" -#~ msgstr "Type de redirection" - -#~ msgid "Redirections" -#~ msgstr "Redirections" - -#~ msgid "Rules" -#~ msgstr "Règles" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# applications/luci-fw/luasrc/model/cbi/luci_fw/redirect.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Name" -# msgstr "" -# -# msgid "Protocol" -# msgstr "" -# -#~ msgid "Traffic Redirection" -#~ msgstr "Redirection du trafic" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "La redirection de trafic vous permet de changer l'adresse de destination " -#~ "des paquets transférés." - -#~ msgid "Network" -#~ msgstr "Réseau" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# applications/luci-fw/luasrc/model/cbi/luci_fw/traffic.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# -# msgid "Name" -# msgstr "" -# -#~ msgid "Traffic Control" -#~ msgstr "Contrôle de trafic" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Trafic zone-à-zone" - -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "Ici, vous pouvez spécifier quel trafic réseau est autorisé à transiter " -#~ "entre les zones réseau. Seules les nouvelles connexions seront prises en " -#~ "compte. Les paquets appartenant à des connexions déjà ouvertes sont " -#~ "automatiquement admis à passer le pare-feu. Si vous subissez des " -#~ "problèmes de connexion occasionnels, essayer d'activer le MSS clamping; " -#~ "sinon laissez-le désactivé pour des raisons de performance." - -#~ msgid "Zone" -#~ msgstr "Zone" - -#~ msgid "Destination IP" -#~ msgstr "IP de destination" - -#~ msgid "IP address" -#~ msgstr "Adresse IP" - -#~ msgid "Source MAC-address" -#~ msgstr "Adresse MAC source" diff --git a/applications/luci-app-firewall/po/hu/firewall.po b/applications/luci-app-firewall/po/hu/firewall.po index 130e604aa1..78c4b2693e 100644 --- a/applications/luci-app-firewall/po/hu/firewall.po +++ b/applications/luci-app-firewall/po/hu/firewall.po @@ -518,105 +518,3 @@ msgstr "visszautasítás" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Kérem válasszon --" - -#~ msgid "-- custom --" -#~ msgstr "-- egyéni --" - -#~ msgid "Destination" -#~ msgstr "Cél" - -#~ msgid "Family" -#~ msgstr "Család" - -#~ msgid "Forward to %s in %s" -#~ msgstr "Továbbítás ide:%s/%s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "Továbbítás ide: %s, %s/%s" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Forrás" - -#~ msgid "Via" -#~ msgstr "Keresztül" - -#~ msgid "Accept forward" -#~ msgstr "Továbbítás engedélyezése" - -#~ msgid "Accept input" -#~ msgstr "Bemenet engedélyezése" - -#~ msgid "Disable" -#~ msgstr "Letiltás" - -#~ msgid "Discard forward" -#~ msgstr "Kimenet eldobása" - -#~ msgid "Discard input" -#~ msgstr "Bemenet eldobása" - -#~ msgid "Do not track forward" -#~ msgstr "Ne kövesse a továbbítást" - -#~ msgid "Do not track input" -#~ msgstr "Ne kövesse a bemenetet" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP tartomány" - -#~ msgid "IPs" -#~ msgstr "IP-k" - -#~ msgid "MAC" -#~ msgstr "MAC cím" - -#~ msgid "MACs" -#~ msgstr "MAC címek" - -#~ msgid "Refuse forward" -#~ msgstr "Továbbítás megtagadása" - -#~ msgid "Refuse input" -#~ msgstr "Bemenet megtagadása" - -#~ msgid "Rule is disabled" -#~ msgstr "Szabály letiltva" - -#~ msgid "Rule is enabled" -#~ msgstr "Szabály engedélyezve" - -#~ msgid "day" -#~ msgstr "nap" - -#~ msgid "hour" -#~ msgstr "óra" - -#~ msgid "minute" -#~ msgstr "perc" - -#~ msgid "not" -#~ msgstr "nem" - -#~ msgid "port" -#~ msgstr "port" - -#~ msgid "ports" -#~ msgstr "portok" - -#~ msgid "second" -#~ msgstr "másodperc" - -#~ msgid "type" -#~ msgstr "típus" - -#~ msgid "types" -#~ msgstr "típusok" diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po index c256b12609..064f63d502 100644 --- a/applications/luci-app-firewall/po/it/firewall.po +++ b/applications/luci-app-firewall/po/it/firewall.po @@ -93,7 +93,7 @@ msgid "Do not rewrite" msgstr "" msgid "Drop invalid packets" -msgstr "" +msgstr "Attiva" msgid "Enable" msgstr "" @@ -108,28 +108,28 @@ msgid "Enable logging on this zone" msgstr "" msgid "External IP address" -msgstr "" +msgstr "Indirizzo IP Esterno" msgid "External port" msgstr "Porta Esterna" msgid "External zone" -msgstr "" +msgstr "Zona Esterna" msgid "Extra arguments" -msgstr "" +msgstr "Comandi extra" msgid "Firewall" msgstr "Firewall" msgid "Firewall - Custom Rules" -msgstr "" +msgstr "Firewall - Regole Personalizzate" msgid "Firewall - Port Forwards" -msgstr "" +msgstr "Firewall - Inoltro Porte" msgid "Firewall - Traffic Rules" -msgstr "" +msgstr "Firewall - Regole Traffico" msgid "Firewall - Zone Settings" msgstr "Firewall - Opzioni delle Zone" @@ -138,10 +138,10 @@ msgid "Force connection tracking" msgstr "" msgid "Forward" -msgstr "" +msgstr "Inoltra" msgid "Forward to" -msgstr "" +msgstr "Inoltro a" msgid "Friday" msgstr "" @@ -174,7 +174,7 @@ msgid "IPv6 only" msgstr "Solo IPv6" msgid "Input" -msgstr "" +msgstr "Ingresso" msgid "Inter-Zone Forwarding" msgstr "" @@ -186,7 +186,7 @@ msgid "Internal port" msgstr "Porta interna" msgid "Internal zone" -msgstr "" +msgstr "Zona Interna" msgid "Limit log messages" msgstr "" @@ -195,7 +195,7 @@ msgid "MSS clamping" msgstr "" msgid "Masquerading" -msgstr "" +msgstr "Dettagli" msgid "Match" msgstr "" @@ -232,7 +232,7 @@ msgid "New forward rule" msgstr "" msgid "New input rule" -msgstr "" +msgstr "Nuova regola di inoltro porta" msgid "New port forward" msgstr "" @@ -272,7 +272,8 @@ msgstr "" msgid "" "Port forwarding allows remote computers on the Internet to connect to a " "specific computer or service within the private LAN." -msgstr "" +msgstr "L'inoltro delle porte permette ai computer in remoto su Internet di" +"connettersi a uno specifico computer o servizio presente nella tua LAN privata" msgid "Protocol" msgstr "Protocollo" @@ -379,7 +380,8 @@ msgstr "" msgid "" "The firewall creates zones over your network interfaces to control network " "traffic flow." -msgstr "" +msgstr "Il firewall crea delle zone nelle tue interfacce di rete per controllare" +"il flusso del traffico." msgid "" "The options below control the forwarding policies between this zone (%s) and " @@ -496,49 +498,3 @@ msgstr "rifiuta" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr " -- Selezionare --" - -#~ msgid "-- custom --" -#~ msgstr " -- personalizzata --" - -#~ msgid "Destination" -#~ msgstr "Destinazione" - -#~ msgid "Source" -#~ msgstr "Origine" - -#~ msgid "Accept input" -#~ msgstr "Accetta INPUT" - -#~ msgid "(optional)" -#~ msgstr "(facoltativo)" - -#~ msgid "Internal port (optional)" -#~ msgstr "Porta interna (opzionale)" - -#~ msgid "Advanced Options" -#~ msgstr "Opzioni Avanzate" - -#~ msgid "Advanced Rules" -#~ msgstr "Regole Avanzate" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Le regole avanzate consentono di personalizzare il firewall per le tue " -#~ "necessità. Solo le nuove connessioni saranno combinate. I pacchetti " -#~ "appartenenti alle connessioni già aperte sono automaticamente autorizzate " -#~ "ad oltrepassare il firewall." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Regole Personalizzate (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Dispositivo" - -#~ msgid "Rules" -#~ msgstr "Regole" diff --git a/applications/luci-app-firewall/po/ja/firewall.po b/applications/luci-app-firewall/po/ja/firewall.po index 2eefd55c9c..4e88189eb0 100644 --- a/applications/luci-app-firewall/po/ja/firewall.po +++ b/applications/luci-app-firewall/po/ja/firewall.po @@ -551,179 +551,3 @@ msgstr "拒否" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- 選択してください --" - -#~ msgid "-- custom --" -#~ msgstr "-- 手動設定 --" - -#~ msgid "Destination" -#~ msgstr "宛先" - -#~ msgid "Family" -#~ msgstr "アドレスファミリ" - -#~ msgid "Forward to %s in %s" -#~ msgstr "転送先 %s (%s)" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "転送先 %s, %s (%s)" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "送信元" - -#~ msgid "To %s" -#~ msgstr "宛先 %s" - -#~ msgid "To %s at %s" -#~ msgstr "宛先 %s, %s" - -#~ msgid "Via" -#~ msgstr "経由" - -#~ msgid "Accept forward" -#~ msgstr "転送を許可" - -#~ msgid "Accept input" -#~ msgstr "受信を許可" - -#~ msgid "Disable" -#~ msgstr "無効" - -#~ msgid "Discard forward" -#~ msgstr "転送を破棄" - -#~ msgid "Discard input" -#~ msgstr "入力を破棄" - -#~ msgid "Do not track forward" -#~ msgstr "転送の追跡を行わない" - -#~ msgid "Do not track input" -#~ msgstr "入力の追跡を行わない" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IPレンジ" - -#~ msgid "IPs" -#~ msgstr "IP" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC" - -#~ msgid "Refuse forward" -#~ msgstr "転送を拒否" - -#~ msgid "Refuse input" -#~ msgstr "受信を拒否" - -#~ msgid "Rule is disabled" -#~ msgstr "ルール設定は無効になっています" - -#~ msgid "Rule is enabled" -#~ msgstr "ルール設定は有効になっています" - -#~ msgid "day" -#~ msgstr "日" - -#~ msgid "hour" -#~ msgstr "時" - -#~ msgid "minute" -#~ msgstr "分" - -#~ msgid "not" -#~ msgstr "not" - -#~ msgid "port" -#~ msgstr "ポート" - -#~ msgid "ports" -#~ msgstr "ポート" - -#~ msgid "second" -#~ msgstr "秒" - -#~ msgid "type" -#~ msgstr "タイプ" - -#~ msgid "types" -#~ msgstr "タイプ" - -#~ msgid "(optional)" -#~ msgstr "(オプション)" - -#~ msgid "Intended destination address" -#~ msgstr "意図された宛先アドレス" - -#~ msgid "Internal port (optional)" -#~ msgstr "内部ポート(オプション)" - -#~ msgid "Advanced Options" -#~ msgstr "詳細なオプション" - -#~ msgid "Advanced Rules" -#~ msgstr "詳細なルール" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "詳細なルール設定を行うことができます。ただし、すでに接続が行われているパ" -#~ "ケットに関しては、自動的にファイアウォールの通過を許可されます。" - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "手動設定ルール (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "デバイス" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "DNATの場合、設定された宛先アドレスのトラフィックに対して合致を行います。" -#~ "SNATの場合、送信元アドレスを設定されたアドレスで上書きします。" - -#~ msgid "Overview" -#~ msgstr "概要" - -#~ msgid "Port forwarding" -#~ msgstr "ポートフォワーディング" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "ポートフォワーディングを使用することで、内部ネットワークのサービスを外部に" -#~ "提供することができます。" - -#~ msgid "Redirection type" -#~ msgstr "転送タイプ" - -#~ msgid "Redirections" -#~ msgstr "転送" - -#~ msgid "Rules" -#~ msgstr "ルール" - -#~ msgid "Traffic Redirection" -#~ msgstr "トラフィック転送" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "トラフィック転送機能を用いることで、転送したパケットの宛先アドレスを変更す" -#~ "ることが可能です。" diff --git a/applications/luci-app-firewall/po/no/firewall.po b/applications/luci-app-firewall/po/no/firewall.po index 8938378050..e39eee7e43 100644 --- a/applications/luci-app-firewall/po/no/firewall.po +++ b/applications/luci-app-firewall/po/no/firewall.po @@ -512,96 +512,3 @@ msgstr "avslå" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Vennligst velg --" - -#~ msgid "-- custom --" -#~ msgstr "-- egendefinert --" - -#~ msgid "Destination" -#~ msgstr "Destinasjon" - -#~ msgid "Family" -#~ msgstr "Adressefamilie" - -#~ msgid "Source" -#~ msgstr "Kilde" - -#~ msgid "Via" -#~ msgstr "Via" - -#~ msgid "(optional)" -#~ msgstr "(valgfritt)" - -#~ msgid "Intended destination address" -#~ msgstr "Ønsket destinasjon adresse" - -#~ msgid "Internal port (optional)" -#~ msgstr "Intern port (valgfritt)" - -#~ msgid "Advanced Options" -#~ msgstr "Avanserte Valg" - -#~ msgid "Advanced Rules" -#~ msgstr "Avanserte Regler" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Avanserte regler lar deg tilpasse brannmuren til dine behov. Kun nye " -#~ "tilkoblinger blir berørt. Pakker som tilhører eksisterende tilkoblinger " -#~ "slipper derfor igjennom brannmuren." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Egendefinerte Regler (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Enhet" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "DNAT: Matcher innkommende trafikk som er rettet mot destinasjons IP-" -#~ "adressen du angir her. SNAT: Omskriver kilde IP-adressen slik at den blir " -#~ "lik den IP-adressen du angir her." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host" -#~ msgstr "Match innkommende trafikk som kommer fra dette port/portområde" - -#~ msgid "Overview" -#~ msgstr "Oversikt" - -#~ msgid "Port forwarding" -#~ msgstr "Port Videresending" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "<abbr title=\"Port Forwarding\">Port Videresending</abbr> tillater at " -#~ "tjenester fra det interne nettverket kan tilbys et eksternt nettverk." - -#~ msgid "Redirection type" -#~ msgstr "Omadressering type" - -#~ msgid "Redirections" -#~ msgstr "Omadresseringer" - -#~ msgid "Rules" -#~ msgstr "Regler" - -#~ msgid "Traffic Redirection" -#~ msgstr "Trafikk Omadressering" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "<abbr title=\"Traffic Redirection\">Trafikk Omadressering</abbr> lar deg " -#~ "endre destinasjons adresse på videresendte pakker." diff --git a/applications/luci-app-firewall/po/pl/firewall.po b/applications/luci-app-firewall/po/pl/firewall.po index da6917faaf..7a598d8085 100644 --- a/applications/luci-app-firewall/po/pl/firewall.po +++ b/applications/luci-app-firewall/po/pl/firewall.po @@ -525,139 +525,3 @@ msgstr "odrzucaj" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Proszę wybrać --" - -#~ msgid "-- custom --" -#~ msgstr "-- własne --" - -#~ msgid "Destination" -#~ msgstr "Miejsce przeznaczenia" - -#~ msgid "Family" -#~ msgstr "Rodzina" - -#~ msgid "Forward to %s in %s" -#~ msgstr "Przekazuj do %s w %s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "Przekazuj d0 %s, %s w %s" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Źródło" - -#~ msgid "To %s" -#~ msgstr "Do %s" - -#~ msgid "Via" -#~ msgstr "przez" - -#~ msgid "Accept forward" -#~ msgstr "Akceptuj przekazywanie" - -#~ msgid "Accept input" -#~ msgstr "Akceptuj wejście" - -#~ msgid "Disable" -#~ msgstr "Wyłącz" - -#~ msgid "Discard forward" -#~ msgstr "Odrzuć przekazywanie" - -#~ msgid "Discard input" -#~ msgstr "Odrzuć wejście" - -#~ msgid "Do not track forward" -#~ msgstr "Nie śledź przekazywania" - -#~ msgid "Do not track input" -#~ msgstr "Nie śledź wejścia" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "Zakres IP" - -#~ msgid "IPs" -#~ msgstr "Numery IP" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "Adresy MAC" - -#~ msgid "Rule is disabled" -#~ msgstr "Reguła jest wyłączona" - -#~ msgid "Rule is enabled" -#~ msgstr "Reguła jest włączona" - -#~ msgid "day" -#~ msgstr "dzień" - -#~ msgid "port" -#~ msgstr "port" - -#~ msgid "ports" -#~ msgstr "porty" - -#~ msgid "(optional)" -#~ msgstr "(opcjonalne)" - -#~ msgid "Internal port (optional)" -#~ msgstr "Wewnętrzny port (opcjonalnie)" - -#~ msgid "Advanced Options" -#~ msgstr "Opcje zaawansowane" - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Generated from applications/luci-fw/luasrc/model/cbi/luci_fw/trule.lua # -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# msgid "Name" -# msgstr "" -# msgid "(optional)" -# msgstr "" -# msgid "Protocol" -# msgstr "" -# msgid "Source port" -# msgstr "" -# msgid "Destination port" -# msgstr "" -# msgid "Action" -# msgstr "" -# msgid "drop" -# msgstr "" -# msgid "accept" -# msgstr "" -# msgid "reject" -# msgstr "" -#~ msgid "Advanced Rules" -#~ msgstr "Reguły zaawansowane" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Reguły zaawansowane pozwalają dostosować zaporę do Twoich potrzeb. Tylko " -#~ "nowe połączenia zostaną nimi objęte. Pakiety należące do połączeń już " -#~ "otwarte są automatycznie przepuszczane przez zaporę." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Reguły własne (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Urządzenie" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "Dla DNAT, dopasuj ruch przychodzący kierowane na podany adres IP. Dla " -#~ "SNAT zmienić adres źródłowy na podany adres." diff --git a/applications/luci-app-firewall/po/pt-br/firewall.po b/applications/luci-app-firewall/po/pt-br/firewall.po index eba339336c..c1cfb4287d 100644 --- a/applications/luci-app-firewall/po/pt-br/firewall.po +++ b/applications/luci-app-firewall/po/pt-br/firewall.po @@ -517,266 +517,3 @@ msgstr "rejeitar" # 20140621: edersg: tradução msgid "traffic" msgstr "Tráfego" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Por favor, escolha --" - -#~ msgid "-- custom --" -#~ msgstr "-- personalizado --" - -#~ msgid "Destination" -#~ msgstr "Destino" - -#~ msgid "Family" -#~ msgstr "Família" - -#~ msgid "Forward to %s in %s" -#~ msgstr "Encaminhar para %s em %s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "Encaminhar para %s, %s em %s" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Origem" - -#~ msgid "To %s" -#~ msgstr "Para %s" - -#~ msgid "To %s at %s" -#~ msgstr "Para %s em %s" - -#~ msgid "Via" -#~ msgstr "Via" - -#~ msgid "Accept forward" -#~ msgstr "Aceitar encaminhamento" - -#~ msgid "Accept input" -#~ msgstr "Aceitar entrada" - -#~ msgid "Disable" -#~ msgstr "Desabilitado" - -#~ msgid "Discard forward" -#~ msgstr "Descartar o encaminhamento" - -#~ msgid "Discard input" -#~ msgstr "Descartar a entrada" - -#~ msgid "Do not track forward" -#~ msgstr "Não rastreie o encaminhamento" - -#~ msgid "Do not track input" -#~ msgstr "Não rastreie a entrada" - -#~ msgid "IP" -#~ msgstr "Endereço IP" - -#~ msgid "IP range" -#~ msgstr "Faixa de endereço IP" - -#~ msgid "IPs" -#~ msgstr "Endereços IP" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MACs" - -#~ msgid "Refuse forward" -#~ msgstr "Rejeitar encaminhamento" - -#~ msgid "Refuse input" -#~ msgstr "Rejeitar entrada" - -#~ msgid "Rule is disabled" -#~ msgstr "A regra está desabilitada" - -#~ msgid "Rule is enabled" -#~ msgstr "A regra está habilitada" - -#~ msgid "day" -#~ msgstr "dia" - -#~ msgid "hour" -#~ msgstr "hora" - -#~ msgid "minute" -#~ msgstr "minuto" - -#~ msgid "not" -#~ msgstr "não" - -#~ msgid "port" -#~ msgstr "porta" - -#~ msgid "ports" -#~ msgstr "portas" - -#~ msgid "second" -#~ msgstr "segundo" - -#~ msgid "type" -#~ msgstr "tipo" - -#~ msgid "types" -#~ msgstr "tipos" - -#~ msgid "(optional)" -#~ msgstr "(opcional)" - -#~ msgid "Intended destination address" -#~ msgstr "Endereço de destino planejado" - -#~ msgid "Internal port (optional)" -#~ msgstr "Porta interna (opcional)" - -#~ msgid "Advanced Options" -#~ msgstr "Opções Avançadas" - -#~ msgid "Advanced Rules" -#~ msgstr "Regras Avançadas" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "As regras avançadas permitem a personalização da firewall de acordo com " -#~ "as necessidades. Apenas as novas conexões serão processadas. Pacotes que " -#~ "pertençam a conexões já abertas estão automaticamente autorizados a " -#~ "passar pelo firewall." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Regras Personalizadas (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Dispositivo" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "Para DNAT, casa com tráfego entrante direcionado para um dado endereço IP " -#~ "de destino. Para SNAT, reescreve o endereço de origem para um dado " -#~ "endereço." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host" -#~ msgstr "" -#~ "Casa o tráfego entrante originado de uma porta ou faixa de portas de " -#~ "origem específica no computador do cliente" - -#~ msgid "Overview" -#~ msgstr "Visão geral" - -#~ msgid "Port forwarding" -#~ msgstr "Redirecionamento de portas" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "O redirecionamento de portas permite disponibilizar serviços da rede " -#~ "interna para uma rede externa." - -#~ msgid "Redirection type" -#~ msgstr "Tipo de redirecionamento" - -#~ msgid "Redirections" -#~ msgstr "Redirecionamentos" - -#~ msgid "Rules" -#~ msgstr "Regras" - -#~ msgid "Traffic Redirection" -#~ msgstr "Redirecionamento de Tráfego" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "Redirecionamento do tráfego permite a alteração do endereço de destino " -#~ "dos pacotes encaminhados." - -#, fuzzy -#~ msgid "Network" -#~ msgstr "Redes" - -#~ msgid "Traffic Control" -#~ msgstr "Controle de Tráfego" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Tráfego de Zona-para-Zona" - -#, fuzzy -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "Aqui você pode especificar qual tráfego de rede será permitido para o " -#~ "fluxo entre zonas das redes. Somente novas conexões serão processadas. " -#~ "Pacotes pertencentes à conexões já abertas estão automaticamente " -#~ "permitidos para passar pelo firewall." - -#~ msgid "Zone" -#~ msgstr "Zona" - -#, fuzzy -#~ msgid "Destination IP" -#~ msgstr "Destino" - -#, fuzzy -#~ msgid "IP address" -#~ msgstr "Endereço IP" - -#, fuzzy -#~ msgid "Source MAC-address" -#~ msgstr "Endereço MAC de origem" - -#~ msgid "Custom forwarding" -#~ msgstr "Redirecionamento personalizado" - -#~ msgid "Input Zone" -#~ msgstr "Zona de Entrada" - -#~ msgid "Output Zone" -#~ msgstr "Zona de Saída" - -#~ msgid "External Zone" -#~ msgstr "Zona Externa" - -#~ msgid "Source MAC" -#~ msgstr "MAC de origem" - -#~ msgid "Defaults" -#~ msgstr "Padrões" - -#~ msgid "" -#~ "These are the default settings that are used if no other rules match." -#~ msgstr "" -#~ "Estas são as configurações padrões, que serão usadas se não houver outras " -#~ "regras." - -#~ msgid "" -#~ "Zones part the network interfaces into certain isolated areas to separate " -#~ "network traffic. One or more networks can belong to a zone. The MASQ-flag " -#~ "enables NAT masquerading for all outgoing traffic on this zone." -#~ msgstr "" -#~ "Zonas são interfaces de redes usadas para separar o tráfego da rede. Uma " -#~ "ou mais redes podem pertencer a uma zona. A flag-MASQ ativa o " -#~ "mascaramento NAT para todo o tráfego de saída desta zona." - -#~ msgid "MASQ" -#~ msgstr "MASQ" - -#~ msgid "contained networks" -#~ msgstr "redes contidas" diff --git a/applications/luci-app-firewall/po/pt/firewall.po b/applications/luci-app-firewall/po/pt/firewall.po index 1c17affd18..70bf2fa3ef 100644 --- a/applications/luci-app-firewall/po/pt/firewall.po +++ b/applications/luci-app-firewall/po/pt/firewall.po @@ -500,128 +500,3 @@ msgstr "rejeitar" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Escolha por favor --" - -#~ msgid "-- custom --" -#~ msgstr "-- personalizado --" - -#~ msgid "Destination" -#~ msgstr "Destino" - -#~ msgid "Source" -#~ msgstr "Origem" - -#~ msgid "Internal port (optional)" -#~ msgstr "Porta interna (opcional)" - -#~ msgid "Advanced Rules" -#~ msgstr "Regras Avançadas" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "As regras avançadas permitem a personalização da firewall de acordo com " -#~ "as necessidades. Apenas as novas ligações serão processadas. Pacotes que " -#~ "pertençam a ligações já abertas estão automaticamente autorizados a " -#~ "passar pela firewall." - -#~ msgid "Port forwarding" -#~ msgstr "Redirecionamento de portas" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "O redirecionamento de portas permite disponibilizar serviços na rede " -#~ "interna para uma rede externa." - -#~ msgid "Traffic Redirection" -#~ msgstr "Redirecionamento de Tráfego" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "Redirecionamento do tráfego permite a alteração do endereço de destino " -#~ "dos pacotes enviados." - -#, fuzzy -#~ msgid "Network" -#~ msgstr "Redes" - -#~ msgid "Traffic Control" -#~ msgstr "Controle de Tráfego" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Tráfego de Zona-para-Zona" - -#, fuzzy -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "Aqui você pode especificar qual tráfego de rede será permitido para o " -#~ "fluxo entre zonas das redes. Somente novas conexões serão processadas. " -#~ "Pacotes pertencentes à conexões já abertas estão automaticamente " -#~ "permitidos para passar pelo firewall." - -#~ msgid "Zone" -#~ msgstr "Zona" - -#, fuzzy -#~ msgid "Destination IP" -#~ msgstr "Destino" - -#, fuzzy -#~ msgid "IP address" -#~ msgstr "Endereço IP" - -#, fuzzy -#~ msgid "Source MAC-address" -#~ msgstr "Endereço MAC de origem" - -#~ msgid "Custom forwarding" -#~ msgstr "Redirecionamento personalizado" - -#~ msgid "Input Zone" -#~ msgstr "Zona de Entrada" - -#~ msgid "Output Zone" -#~ msgstr "Zona de Saída" - -#~ msgid "External Zone" -#~ msgstr "Zona Externa" - -#~ msgid "Source MAC" -#~ msgstr "MAC de origem" - -#~ msgid "Defaults" -#~ msgstr "Padrões" - -#~ msgid "" -#~ "These are the default settings that are used if no other rules match." -#~ msgstr "" -#~ "Estas são as configurações padrões, que serão usadas se não houver outras " -#~ "regras." - -#~ msgid "" -#~ "Zones part the network interfaces into certain isolated areas to separate " -#~ "network traffic. One or more networks can belong to a zone. The MASQ-flag " -#~ "enables NAT masquerading for all outgoing traffic on this zone." -#~ msgstr "" -#~ "Zonas são interfaces de redes usadas para separar o tráfego da rede. Uma " -#~ "ou mais redes podem pertencer a uma zona. A flag-MASQ ativa o " -#~ "mascaramento NAT para todo o tráfego de saída desta zona." - -#~ msgid "MASQ" -#~ msgstr "MASQ" - -#~ msgid "contained networks" -#~ msgstr "redes contidas" diff --git a/applications/luci-app-firewall/po/ro/firewall.po b/applications/luci-app-firewall/po/ro/firewall.po index 9927d34b03..432a41b897 100644 --- a/applications/luci-app-firewall/po/ro/firewall.po +++ b/applications/luci-app-firewall/po/ro/firewall.po @@ -470,76 +470,3 @@ msgstr "" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Alege --" - -#~ msgid "-- custom --" -#~ msgstr "-- personalizat --" - -#~ msgid "Destination" -#~ msgstr "Destinatie" - -#~ msgid "Family" -#~ msgstr "Familia proto" - -#~ msgid "Source" -#~ msgstr "Sursa" - -#~ msgid "Via" -#~ msgstr "Prin" - -#~ msgid "(optional)" -#~ msgstr "(optional)" - -#~ msgid "Intended destination address" -#~ msgstr "Adresa destinatie intentionata" - -#~ msgid "Internal port (optional)" -#~ msgstr "Port intern (optional)" - -#~ msgid "Advanced Options" -#~ msgstr "Optiuni avansate" - -#~ msgid "Advanced Rules" -#~ msgstr "Reguli avansate" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Regulile avansate iti permit particularizarea firewall-ului dupa nevoi. " -#~ "Numai conexiunile noi vor fi luate in calcul. Pachetele care apartin unor " -#~ "conexiuni deja stabilite trec deja prin firewall." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Reguli suplimentare (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Dispozitiv" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "Pentru DNAT, leaga traficul venit redirectat catre destinatia IP. Pentru " -#~ "SNAT rescrie adresa sursa ca fiind adresa IP." - -#~ msgid "Overview" -#~ msgstr "Sumar" - -#~ msgid "Port forwarding" -#~ msgstr "Forwardare catre port" - -#~ msgid "Redirection type" -#~ msgstr "Tipul de redirectare" - -#~ msgid "Redirections" -#~ msgstr "Redirectari" - -#~ msgid "Rules" -#~ msgstr "Reguli" - -#~ msgid "Traffic Redirection" -#~ msgstr "Redirectarea traficului" diff --git a/applications/luci-app-firewall/po/ru/firewall.po b/applications/luci-app-firewall/po/ru/firewall.po index 4c57719521..294d9db6d9 100644 --- a/applications/luci-app-firewall/po/ru/firewall.po +++ b/applications/luci-app-firewall/po/ru/firewall.po @@ -540,182 +540,3 @@ msgstr "отвергать" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Пожалуйста, выберите --" - -#~ msgid "-- custom --" -#~ msgstr "-- пользовательский --" - -#~ msgid "Destination" -#~ msgstr "Назначение" - -#~ msgid "Family" -#~ msgstr "Семейство" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Источник" - -#~ msgid "To %s" -#~ msgstr "к %s" - -#~ msgid "To %s at %s" -#~ msgstr "к %s на %s" - -#~ msgid "Via" -#~ msgstr "Через" - -#~ msgid "Accept forward" -#~ msgstr "Принимать перенаправление" - -#~ msgid "Accept input" -#~ msgstr "Принимать входящие" - -#~ msgid "Disable" -#~ msgstr "Отключить" - -#~ msgid "Discard forward" -#~ msgstr "Отвергать перенаправление" - -#~ msgid "Discard input" -#~ msgstr "Выбрасывать входящие пакеты" - -#~ msgid "Do not track forward" -#~ msgstr "Не отслеживать перенаправление" - -#~ msgid "Do not track input" -#~ msgstr "Не отслеживать входные пакеты" - -#~ msgid "IP" -#~ msgstr "IP-адрес" - -#~ msgid "IP range" -#~ msgstr "Диапазон IP-адресов" - -#~ msgid "IPs" -#~ msgstr "IP-адреса" - -#~ msgid "MAC" -#~ msgstr "MAC-адрес" - -#~ msgid "MACs" -#~ msgstr "MAC-адреса" - -#~ msgid "Refuse forward" -#~ msgstr "Отвергать перенаправление" - -#~ msgid "Refuse input" -#~ msgstr "Отвергать входящий трафик" - -#~ msgid "Rule is disabled" -#~ msgstr "Правило выключено" - -#~ msgid "Rule is enabled" -#~ msgstr "Правило включено" - -#~ msgid "day" -#~ msgstr "день" - -#~ msgid "hour" -#~ msgstr "час" - -#~ msgid "minute" -#~ msgstr "мин" - -#~ msgid "not" -#~ msgstr "не" - -#~ msgid "port" -#~ msgstr "порт" - -#~ msgid "ports" -#~ msgstr "порты" - -#~ msgid "second" -#~ msgstr "сек" - -#~ msgid "type" -#~ msgstr "тип" - -#~ msgid "types" -#~ msgstr "типы" - -#~ msgid "(optional)" -#~ msgstr "(необязательно)" - -#~ msgid "Intended destination address" -#~ msgstr "Адрес назначения" - -#~ msgid "Internal port (optional)" -#~ msgstr "Внутренний порт (необязательно)" - -#~ msgid "Advanced Options" -#~ msgstr "Расширенные опции" - -#~ msgid "Advanced Rules" -#~ msgstr "Расширенные правила" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Расширенные правила позволяют настроить сетевой экран в соответствии с " -#~ "вашими потребностями. Только новые соединения будут обработаны. Пакеты, " -#~ "принадлежащие уже существующим соединениям, будут автоматически пропущены " -#~ "через сетевой экран." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Пользовательские правила (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Устройство" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "Для DNAT соответствующий трафик перенаправляется на введенный адрес " -#~ "назначения. Для SNAT подменяется адрес источника на введенный." - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host" -#~ msgstr "" -#~ "Выбирать исходящий трафик отправленный с порта или диапазона портов " -#~ "внешнего хоста" - -#~ msgid "Overview" -#~ msgstr "Назад к обзору" - -#~ msgid "Port forwarding" -#~ msgstr "Перенаправление портов" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "Перенаправление портов позволяет открыть доступ к внутренним службам из " -#~ "внешней сети." - -#~ msgid "Redirection type" -#~ msgstr "Тип перенаправления" - -#~ msgid "Redirections" -#~ msgstr "Перенаправления" - -#~ msgid "Rules" -#~ msgstr "Правила" - -#~ msgid "Traffic Redirection" -#~ msgstr "Перенаправление трафика" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "Перенаправление трафика позволяет изменить адрес получателя для " -#~ "проходящих пакетов." diff --git a/applications/luci-app-firewall/po/uk/firewall.po b/applications/luci-app-firewall/po/uk/firewall.po index 0eeed83940..b946d6b955 100644 --- a/applications/luci-app-firewall/po/uk/firewall.po +++ b/applications/luci-app-firewall/po/uk/firewall.po @@ -514,148 +514,3 @@ msgstr "відкидати" msgid "traffic" msgstr "" - -#~ msgid "-- Please choose --" -#~ msgstr "-- Виберіть --" - -#~ msgid "-- custom --" -#~ msgstr "-- додатково --" - -#~ msgid "Destination" -#~ msgstr "Призначення" - -#~ msgid "Family" -#~ msgstr "Сімейство" - -#~ msgid "Forward to %s in %s" -#~ msgstr "спрямовування до %s у %s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "спрямовування до %s, %s у %s" - -#~ msgid "SNAT" -#~ msgstr "SNAT" - -#~ msgid "Source" -#~ msgstr "Джерело" - -#~ msgid "To %s" -#~ msgstr "%s" - -#~ msgid "To %s at %s" -#~ msgstr "%s через %s" - -#~ msgid "Via" -#~ msgstr "Через" - -#~ msgid "Accept forward" -#~ msgstr "Приймати спрямовування" - -#~ msgid "Accept input" -#~ msgstr "Приймати вхідні" - -#~ msgid "Disable" -#~ msgstr "Вимкнути" - -#~ msgid "Discard forward" -#~ msgstr "Скасувати спрямовування" - -#~ msgid "Discard input" -#~ msgstr "Скасувати введення" - -#~ msgid "Do not track forward" -#~ msgstr "Не відстежувати спрямовування" - -#~ msgid "Do not track input" -#~ msgstr "Не відстежувати введення" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "діапазон IP" - -#~ msgid "IPs" -#~ msgstr "IP" - -#~ msgid "MAC" -#~ msgstr "MAC" - -#~ msgid "MACs" -#~ msgstr "MAC" - -#~ msgid "Refuse forward" -#~ msgstr "Відкидати спрямовування" - -#~ msgid "Refuse input" -#~ msgstr "Відкидати вхідні дані" - -#~ msgid "Rule is disabled" -#~ msgstr "Правило вимкнене" - -#~ msgid "Rule is enabled" -#~ msgstr "Правило ввімкнене" - -#~ msgid "day" -#~ msgstr "день" - -#~ msgid "hour" -#~ msgstr "годину" - -#~ msgid "minute" -#~ msgstr "хвилину" - -#~ msgid "not" -#~ msgstr "не" - -#~ msgid "port" -#~ msgstr "порт" - -#~ msgid "ports" -#~ msgstr "порти" - -#~ msgid "second" -#~ msgstr "секунду" - -#~ msgid "type" -#~ msgstr "типом" - -#~ msgid "types" -#~ msgstr "типами" - -#~ msgid "(optional)" -#~ msgstr "(необов'язково)" - -#~ msgid "Intended destination address" -#~ msgstr "Адреса призначення" - -#~ msgid "Internal port (optional)" -#~ msgstr "Внутрішній порт (необов'язково)" - -#~ msgid "Advanced Options" -#~ msgstr "Додаткові параметри" - -#~ msgid "Advanced Rules" -#~ msgstr "Розширені правила" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Розширені правила дозволяють налаштувати брандмауер для ваших потреб. " -#~ "Лише нові з'єднання будуть узгоджені. Пакети, що належать вже відкриті " -#~ "з'єднання автоматично пропускаються брандмауером." - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "Користувацькі правила (/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "Пристрій" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "Для DNAT узгоджує вхідний трафік, спрямований до відповідної IP адреси " -#~ "призначення. Для SNAT заміняє адресу джерела на дану адресу" diff --git a/applications/luci-app-firewall/po/vi/firewall.po b/applications/luci-app-firewall/po/vi/firewall.po index dbbf3b0b79..93d6d6658e 100644 --- a/applications/luci-app-firewall/po/vi/firewall.po +++ b/applications/luci-app-firewall/po/vi/firewall.po @@ -481,121 +481,3 @@ msgstr "Không chấp nhận" msgid "traffic" msgstr "" - -#~ msgid "Destination" -#~ msgstr "Điểm đến" - -#~ msgid "Source" -#~ msgstr "Nguồn" - -#~ msgid "Internal port (optional)" -#~ msgstr "Internal port (tùy chọn)" - -#~ msgid "Advanced Rules" -#~ msgstr "Luật cấp cao" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "Luật cấp cao để bạn tùy chỉnh firewall mà bạn cần. Chỉ những kết nối mới " -#~ "sẽ được làm cho phù hợp. Các gói thuộc đã mở các kết nối sẽ tự động cho " -#~ "phép vượt qua firewall." - -#~ msgid "Port forwarding" -#~ msgstr "Cổng chuyển tiếp" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "" -#~ "Cổng chuyển tiếp cho phép cung cấp những dịch vụ mạng trong vùng tới một " -#~ "ngoại mạng. " - -#~ msgid "Traffic Redirection" -#~ msgstr "Sự chuyển hướng lưu thông" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "" -#~ "Sự chuyển hướng lưu thông cho phép bạn thay đổi địa chỉ điểm đến của gói " -#~ "chuyển tiếp. " - -#, fuzzy -#~ msgid "Network" -#~ msgstr "Networks" - -#~ msgid "Traffic Control" -#~ msgstr "Điều khiển lưu thông" - -#~ msgid "Zone-to-Zone traffic" -#~ msgstr "Lưu thông Zone- to - Zone" - -#, fuzzy -#~ msgid "" -#~ "Here you can specify which network traffic is allowed to flow between " -#~ "network zones. Only new connections will be matched. Packets belonging " -#~ "to already open connections are automatically allowed to pass the " -#~ "firewall. If you experience occasional connection problems try enabling " -#~ "MSS Clamping otherwise disable it for performance reasons." -#~ msgstr "" -#~ "Tại đây bạn có thể xác định được mạng lưới giao thông được phép lưu lượng " -#~ "qua network zone. Chỉ có kết nối mới sẽ là phù hợp. Các gói thuộc kết nối " -#~ "đã mở được tự động được cho phép để vượt qua firewall. Nếu bạn gặp vấn đề " -#~ "kết nối thử kích hoạt MSS Clamping hoặc vô hiệu hóa nó vì lý do thực thi." - -#~ msgid "Zone" -#~ msgstr "Zone" - -#, fuzzy -#~ msgid "Destination IP" -#~ msgstr "Điểm đến" - -#, fuzzy -#~ msgid "IP address" -#~ msgstr "Địa chỉ IP" - -#, fuzzy -#~ msgid "Source MAC-address" -#~ msgstr "Đỉa chỉ MAC nguồn" - -#~ msgid "Custom forwarding" -#~ msgstr "Tùy chỉnh chuyển tiếp" - -#~ msgid "Input Zone" -#~ msgstr "Input Zone" - -#~ msgid "Output Zone" -#~ msgstr "Output Zone" - -#~ msgid "External Zone" -#~ msgstr "External Zone" - -#~ msgid "Source MAC" -#~ msgstr "Nguồn MAC" - -#~ msgid "Defaults" -#~ msgstr "Mặc định" - -#~ msgid "" -#~ "These are the default settings that are used if no other rules match." -#~ msgstr "" -#~ "Có những cài đặt mặc định được dùng nếu những cái luật khác không phù hợp" - -#~ msgid "" -#~ "Zones part the network interfaces into certain isolated areas to separate " -#~ "network traffic. One or more networks can belong to a zone. The MASQ-flag " -#~ "enables NAT masquerading for all outgoing traffic on this zone." -#~ msgstr "" -#~ "Phân vùng các phần giao diện mạng vào những khu vực cô lập nhất định để " -#~ "phân chia mạng lưới lưu thông. Một hoặc nhiều mạng lưới có thể thuộc vào " -#~ "một khu. Các MASQ-flag kích hoạt NAT masquerading cho tất cả các lưu " -#~ "lượng giao thông trên khu vực này." - -#~ msgid "MASQ" -#~ msgstr "MASQ" - -#~ msgid "contained networks" -#~ msgstr "contained networks" diff --git a/applications/luci-app-firewall/po/zh-cn/firewall.po b/applications/luci-app-firewall/po/zh-cn/firewall.po index 99e12e8cf1..48d22b03e5 100644 --- a/applications/luci-app-firewall/po/zh-cn/firewall.po +++ b/applications/luci-app-firewall/po/zh-cn/firewall.po @@ -516,116 +516,3 @@ msgstr "拒绝" msgid "traffic" msgstr "交通" - -#~ msgid "-- Please choose --" -#~ msgstr "-- 请选择 --" - -#~ msgid "-- custom --" -#~ msgstr "-- 自定义 --" - -#~ msgid "Destination" -#~ msgstr "目标" - -#~ msgid "Family" -#~ msgstr "地址集合" - -#~ msgid "Forward to %s in %s" -#~ msgstr "转发到 %s 位于 %s" - -#~ msgid "Forward to %s, %s in %s" -#~ msgstr "转发到 %s, %s 位于 %s" - -#~ msgid "Source" -#~ msgstr "源" - -#~ msgid "Via" -#~ msgstr "通过" - -#~ msgid "Disable" -#~ msgstr "禁用" - -#~ msgid "Do not track forward" -#~ msgstr "不要追踪转发" - -#~ msgid "Do not track input" -#~ msgstr "不要追踪进入" - -#~ msgid "IP" -#~ msgstr "IP" - -#~ msgid "IP range" -#~ msgstr "IP范围" - -#~ msgid "(optional)" -#~ msgstr "(可选)" - -#~ msgid "Intended destination address" -#~ msgstr "目标地址" - -#~ msgid "Internal port (optional)" -#~ msgstr "内部端口(可选)" - -#~ msgid "Advanced Options" -#~ msgstr "高级选项" - -#~ msgid "Advanced Rules" -#~ msgstr "高级规则" - -#~ msgid "" -#~ "Advanced rules let you customize the firewall to your needs. Only new " -#~ "connections will be matched. Packets belonging to already open " -#~ "connections are automatically allowed to pass the firewall." -#~ msgstr "" -#~ "高级规则允许按需定制防火墙。此规则只限制新建立的连接,对于已建立链路的数据" -#~ "包会自动允许通过。" - -#~ msgid "Custom Rules (/etc/firewall.user)" -#~ msgstr "自定义规则(/etc/firewall.user)" - -#~ msgid "Device" -#~ msgstr "设备" - -#~ msgid "" -#~ "For DNAT, match incoming traffic directed at the given destination ip " -#~ "address. For SNAT rewrite the source address to the given address." -#~ msgstr "" -#~ "DNAT:将目标地址转换为指定的IP地址;SNAT:将源地址转换为指定的IP地址。" - -#~ msgid "" -#~ "Match incoming traffic originating from the given source port or port " -#~ "range on the client host" -#~ msgstr "在客户端上,比较输入通道与给定的源端口是否一致。" - -#~ msgid "Overview" -#~ msgstr "概览" - -#~ msgid "Port forwarding" -#~ msgstr "端口转发" - -#~ msgid "" -#~ "Port forwarding allows to provide network services in the internal " -#~ "network to an external network." -#~ msgstr "端口转发-允许外部网络访问内部网络" - -#~ msgid "Redirection type" -#~ msgstr "重定向类型" - -#~ msgid "Redirections" -#~ msgstr "重定向" - -#~ msgid "Rules" -#~ msgstr "规则" - -#~ msgid "Traffic Redirection" -#~ msgstr "流量重定向" - -#~ msgid "" -#~ "Traffic redirection allows you to change the destination address of " -#~ "forwarded packets." -#~ msgstr "流量重定向允许你修改数据包转发地址" - -#~ msgid "Zone" -#~ msgstr "区" - -#~ msgid "MASQ" -#~ msgstr "MASQ" diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua index af515fc59a..1bbee83c35 100644 --- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua +++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua @@ -235,7 +235,6 @@ for _, option in ipairs(params) do o.value = option[3] else if option[1] == DynamicList then - o.cast = nil function o.cfgvalue(...) local val = AbstractValue.cfgvalue(...) return ( val and type(val) ~= "table" ) and { val } or val diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua index 8385839a8f..aaa1979c41 100644 --- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua +++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua @@ -62,7 +62,6 @@ for _, option in ipairs(basicParams) do o.value = option[3] else if option[1] == DynamicList then - o.cast = nil function o.cfgvalue(...) local val = AbstractValue.cfgvalue(...) return ( val and type(val) ~= "table" ) and { val } or val diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua index 8b2ce5a85a..719145b887 100644 --- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua +++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn.lua @@ -25,6 +25,15 @@ uci:foreach( "openvpn_recipes", "openvpn_recipe", end ) +function s.getPID(section) -- Universal function which returns valid pid # or nil + local pid = sys.exec("%s | grep -w %s | grep openvpn | grep -v grep | awk '{print $1}'" % { psstring,section} ) + if pid and #pid > 0 and tonumber(pid) ~= nil then + return tonumber(pid) + else + return nil + end +end + function s.parse(self, section) local recipe = luci.http.formvalue( luci.cbi.CREATE_PREFIX .. self.config .. "." .. @@ -68,8 +77,8 @@ s:option( Flag, "enabled", translate("Enabled") ) local active = s:option( DummyValue, "_active", translate("Started") ) function active.cfgvalue(self, section) - local pid = sys.exec("%s | grep %s | grep openvpn | grep -v grep | awk '{print $1}'" % { psstring,section} ) - if pid and #pid > 0 and tonumber(pid) ~= nil then + local pid = s.getPID(section) + if pid ~= nil then return (sys.process.signal(pid, 0)) and translatef("yes (%i)", pid) or translate("no") @@ -83,8 +92,8 @@ updown.redirect = luci.dispatcher.build_url( "admin", "services", "openvpn" ) function updown.cbid(self, section) - local pid = sys.exec("%s | grep %s | grep openvpn | grep -v grep | awk '{print $1}'" % { psstring,section} ) - self._state = pid and #pid > 0 and sys.process.signal(pid, 0) + local pid = s.getPID(section) + self._state = pid ~= nil and sys.process.signal(pid, 0) self.option = self._state and "stop" or "start" return AbstractValue.cbid(self, section) end @@ -94,8 +103,10 @@ function updown.cfgvalue(self, section) end function updown.write(self, section, value) if self.option == "stop" then - local pid = sys.exec("%s | grep %s | grep openvpn | grep -v grep | awk '{print $1}'" % { psstring,section} ) - sys.process.signal(pid,15) + local pid = s.getPID(section) + if pid ~= nil then + sys.process.signal(pid,15) + end else luci.sys.call("/etc/init.d/openvpn start %s" % section) end diff --git a/applications/luci-app-p2pblock/Makefile b/applications/luci-app-p2pblock/Makefile index 4dbeb5eaa5..137849cd25 100644 --- a/applications/luci-app-p2pblock/Makefile +++ b/applications/luci-app-p2pblock/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Support for the Freifunk P2P-Block addon -LUCI_DEPENDS:=+luci-app-firewall +freifunk-p2pblock +LUCI_DEPENDS:=+luci-app-firewall +freifunk-p2pblock @BROKEN include ../../luci.mk diff --git a/applications/luci-app-pbx-voicemail/Makefile b/applications/luci-app-pbx-voicemail/Makefile index d31d429f13..eefe0fd249 100644 --- a/applications/luci-app-pbx-voicemail/Makefile +++ b/applications/luci-app-pbx-voicemail/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI PBX Administration Voicemail Support -LUCI_DEPENDS:=+luci-app-pbx +asterisk18 +msmtp +coreutils-base64 +LUCI_DEPENDS:=+luci-app-pbx +asterisk18 +msmtp +coreutils-base64 @BROKEN include ../../luci.mk diff --git a/applications/luci-app-pbx/Makefile b/applications/luci-app-pbx/Makefile index 1379dcf890..772713b444 100644 --- a/applications/luci-app-pbx/Makefile +++ b/applications/luci-app-pbx/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI PBX Administration -LUCI_DEPENDS:= \ +LUCI_DEPENDS:= @BROKEN \ +asterisk18 +asterisk18-app-authenticate +asterisk18-app-disa \ +asterisk18-app-setcallerid +asterisk18-app-system +asterisk18-chan-gtalk \ +asterisk18-codec-a-mu +asterisk18-codec-alaw +asterisk18-func-cut \ diff --git a/applications/luci-app-polipo/luasrc/model/cbi/polipo.lua b/applications/luci-app-polipo/luasrc/model/cbi/polipo.lua index 967a47aa7b..6031c84236 100644 --- a/applications/luci-app-polipo/luasrc/model/cbi/polipo.lua +++ b/applications/luci-app-polipo/luasrc/model/cbi/polipo.lua @@ -80,7 +80,7 @@ o = s:taboption("proxy", Value, "parentProxy", "will forward the requests.")) o.optional = true -o.datatype = "ipaddr" +o.datatype = "hostport" o = s:taboption("proxy", Value, "parentAuthCredentials", diff --git a/applications/luci-app-privoxy/Makefile b/applications/luci-app-privoxy/Makefile index 45d72d4ef0..e174c807b8 100644 --- a/applications/luci-app-privoxy/Makefile +++ b/applications/luci-app-privoxy/Makefile @@ -10,7 +10,7 @@ PKG_NAME:=luci-app-privoxy # Version == major.minor.patch # increase "minor" on new functionality and "patch" on patches/optimization -PKG_VERSION:=1.0.5 +PKG_VERSION:=1.0.6 # Release == build # increase on changes of translation files diff --git a/applications/luci-app-privoxy/luasrc/controller/privoxy.lua b/applications/luci-app-privoxy/luasrc/controller/privoxy.lua index 0cedab48ae..6439a30c3f 100644 --- a/applications/luci-app-privoxy/luasrc/controller/privoxy.lua +++ b/applications/luci-app-privoxy/luasrc/controller/privoxy.lua @@ -1,16 +1,24 @@ --- Copyright 2014 Christian Schoenebeck <christian dot schoenebeck at gmail dot com> +-- Copyright 2014-2016 Christian Schoenebeck <christian dot schoenebeck at gmail dot com> -- Licensed under the Apache License, Version 2.0 module("luci.controller.privoxy", package.seeall) local NX = require "nixio" local NXFS = require "nixio.fs" +local DISP = require "luci.dispatcher" local HTTP = require "luci.http" +local I18N = require "luci.i18n" -- not globally avalible here +local IPKG = require "luci.model.ipkg" local UCI = require "luci.model.uci" local UTIL = require "luci.util" local SYS = require "luci.sys" -PRIVOXY_MIN = "3.0.22-0" -- minimum version of service required +local srv_name = "privoxy" +local srv_ver_min = "3.0.23" -- minimum version of service required +local srv_ver_cmd = [[/usr/sbin/privoxy --version | awk {'print $3'}]] +local app_name = "luci-app-privoxy" +local app_title = "Privoxy WEB proxy" +local app_version = "1.0.6-1" function index() entry( {"admin", "services", "privoxy"}, cbi("privoxy"), _("Privoxy WEB proxy"), 59) @@ -19,6 +27,73 @@ function index() entry( {"admin", "services", "privoxy", "status"}, call("get_pid") ).leaf = true end +-- Application specific information functions +function app_description() + return I18N.translate("Privoxy is a non-caching web proxy with advanced filtering " + .. "capabilities for enhancing privacy, modifying web page data and HTTP headers, " + .. "controlling access, and removing ads and other obnoxious Internet junk.") + .. [[<br /><strong>]] + .. I18N.translate("For help use link at the relevant option") + .. [[</strong>]] +end + +-- Standardized application/service functions +function app_title_main() + return [[<a href="javascript:alert(']] + .. I18N.translate("Version Information") + .. [[\n\n]] .. app_name + .. [[\n\t]] .. I18N.translate("Version") .. [[:\t]] .. app_version + .. [[\n\n]] .. srv_name .. [[ ]] .. I18N.translate("required") .. [[:]] + .. [[\n\t]] .. I18N.translate("Version") .. [[:\t]] + .. srv_ver_min .. [[ ]] .. I18N.translate("or higher") + .. [[\n\n]] .. srv_name .. [[ ]] .. I18N.translate("installed") .. [[:]] + .. [[\n\t]] .. I18N.translate("Version") .. [[:\t]] + .. (service_version() or I18N.translate("NOT installed")) + .. [[\n\n]] + .. [[')">]] + .. I18N.translate(app_title) + .. [[</a>]] +end +function service_version() + local ver = nil + IPKG.list_installed(srv_name, function(n, v, d) + if v and (#v > 0) then ver = v end + end + ) + if not ver or (#ver == 0) then + ver = UTIL.exec(srv_ver_cmd) + if #ver == 0 then ver = nil end + end + return ver +end +function service_ok() + return IPKG.compare_versions((service_version() or "0"), ">=", srv_ver_min) +end +function service_update() + local url = DISP.build_url("admin", "system", "packages") + if not service_version() then + return [[<h3><strong><br /><font color="red"> ]] + .. I18N.translate("Software package '%s' is not installed." % srv_name) + .. [[</font><br /><br /> ]] + .. I18N.translate("required") .. [[: ]] .. srv_name .. [[ ]] .. srv_ver_min .. " " .. I18N.translate("or higher") + .. [[<br /><br /> ]] + .. [[<a href="]] .. url ..[[">]] + .. I18N.translate("Please install current version !") + .. [[</a><br /> </strong></h3>]] + else + return [[<h3><strong><br /><br /><font color="red"> ]] + .. I18N.translate("Software package '%s' is outdated." % srv_name) + .. [[</font><br /><br /> ]] + .. I18N.translate("installed") .. ": " .. service_version() + .. [[<br /><br /> ]] + .. I18N.translate("required") .. ": " .. srv_ver_min .. " " .. I18N.translate("or higher") + .. [[<br /><br /> ]] + .. [[<a href="]] .. url ..[[">]] + .. I18N.translate("Please update to the current version!") + .. [[</a><br /><br /> </strong></h3>]] + end +end + -- called by XHR.get from detail_logview.htm function logread() -- read application settings @@ -27,8 +102,7 @@ function logread() local logfile = uci:get("privoxy", "privoxy", "logfile") or "privoxy.log" uci:unload("privoxy") - local lfile=logdir .. "/" .. logfile - local ldata=NXFS.readfile(lfile) + local ldata=NXFS.readfile(logdir .. "/" .. logfile) if not ldata or #ldata == 0 then ldata="_nodata_" end @@ -70,76 +144,98 @@ function get_pid(from_lua) end end --- compare versions using "<=" "<" ">" ">=" "=" "<<" ">>" -function ipkg_ver_compare(ver1, comp, ver2) - if not ver1 or not ver2 - or not comp or not (#comp > 0) then return nil end - -- correct compare string - if comp == "<>" or comp == "><" or comp == "!=" or comp == "~=" then comp = "~=" - elseif comp == "<=" or comp == "<" or comp == "=<" then comp = "<=" - elseif comp == ">=" or comp == ">" or comp == "=>" then comp = ">=" - elseif comp == "=" or comp == "==" then comp = "==" - elseif comp == "<<" then comp = "<" - elseif comp == ">>" then comp = ">" - else return nil end - - local av1 = UTIL.split(ver1, "[%.%-]", nil, true) - local av2 = UTIL.split(ver2, "[%.%-]", nil, true) - - for i = 1, math.max(table.getn(av1),table.getn(av2)), 1 do - local s1 = av1[i] or "" - local s2 = av2[i] or "" - - -- first "not equal" found return true - if comp == "~=" and (s1 ~= s2) then return true end - -- first "lower" found return true - if (comp == "<" or comp == "<=") and (s1 < s2) then return true end - -- first "greater" found return true - if (comp == ">" or comp == ">=") and (s1 > s2) then return true end - -- not equal then return false - if (s1 ~= s2) then return false end +-- replacement of build-in parse of UCI option +-- modified AbstractValue.parse(self, section, novld) from cbi.lua +-- validate is called if rmempty/optional true or false +-- write is called if rmempty/optional true or false +function value_parse(self, section, novld) + local fvalue = self:formvalue(section) + local fexist = ( fvalue and (#fvalue > 0) ) -- not "nil" and "not empty" + local cvalue = self:cfgvalue(section) + local rm_opt = ( self.rmempty or self.optional ) + local eq_cfg -- flag: equal cfgvalue + + -- If favlue and cvalue are both tables and have the same content + -- make them identical + if type(fvalue) == "table" and type(cvalue) == "table" then + eq_cfg = (#fvalue == #cvalue) + if eq_cfg then + for i=1, #fvalue do + if cvalue[i] ~= fvalue[i] then + eq_cfg = false + end + end + end + if eq_cfg then + fvalue = cvalue + end end - -- all equal and not compare greater or lower then true - return not (comp == "<" or comp == ">") -end + -- removed parameter "section" from function call because used/accepted nowhere + -- also removed call to function "transfer" + local vvalue, errtxt = self:validate(fvalue) --- read version information for given package if installed -function ipkg_ver_installed(pkg) - local version = nil - local control = io.open("/usr/lib/opkg/info/%s.control" % pkg, "r") - if control then - local ln - repeat - ln = control:read("*l") - if ln and ln:match("^Version: ") then - version = ln:gsub("^Version: ", "") - break - end - until not ln - control:close() + -- error handling; validate return "nil" + if not vvalue then + if novld then -- and "novld" set + return -- then exit without raising an error + end + + if fexist then -- and there is a formvalue + self:add_error(section, "invalid", errtxt or self.title .. ": invalid") + return -- so data are invalid + elseif not rm_opt then -- and empty formvalue but NOT (rmempty or optional) set + self:add_error(section, "missing", errtxt or self.title .. ": missing") + return -- so data is missing + elseif errtxt then + self:add_error(section, "invalid", errtxt) + return + end +-- error ("\n option: " .. self.option .. +-- "\n fvalue: " .. tostring(fvalue) .. +-- "\n fexist: " .. tostring(fexist) .. +-- "\n cvalue: " .. tostring(cvalue) .. +-- "\n vvalue: " .. tostring(vvalue) .. +-- "\n vexist: " .. tostring(vexist) .. +-- "\n rm_opt: " .. tostring(rm_opt) .. +-- "\n eq_cfg: " .. tostring(eq_cfg) .. +-- "\n eq_def: " .. tostring(eq_def) .. +-- "\n novld : " .. tostring(novld) .. +-- "\n errtxt: " .. tostring(errtxt) ) end - return version -end --- replacement of build-in Flag.parse of cbi.lua --- modified to mark section as changed if value changes --- current parse did not do this, but it is done AbstaractValue.parse() -function flag_parse(self, section) - local fexists = self.map:formvalue( - luci.cbi.FEXIST_PREFIX .. self.config .. "." .. section .. "." .. self.option) - - if fexists then - local fvalue = self:formvalue(section) and self.enabled or self.disabled - local cvalue = self:cfgvalue(section) - if fvalue ~= self.default or (not self.optional and not self.rmempty) then - self:write(section, fvalue) - else - self:remove(section) + -- lets continue with value returned from validate + eq_cfg = ( vvalue == cvalue ) -- update equal_config flag + local vexist = ( vvalue and (#vvalue > 0) ) and true or false -- not "nil" and "not empty" + local eq_def = ( vvalue == self.default ) -- equal_default flag + + -- (rmempty or optional) and (no data or equal_default) + if rm_opt and (not vexist or eq_def) then + if self:remove(section) then -- remove data from UCI + self.section.changed = true -- and push events end - if (fvalue ~= cvalue) then self.section.changed = true end - else - self:remove(section) + return + end + + -- not forcewrite and no changes, so nothing to write + if not self.forcewrite and eq_cfg then + return + end + + -- we should have a valid value here + assert (vvalue, "\n option: " .. self.option .. + "\n fvalue: " .. tostring(fvalue) .. + "\n fexist: " .. tostring(fexist) .. + "\n cvalue: " .. tostring(cvalue) .. + "\n vvalue: " .. tostring(vvalue) .. + "\n vexist: " .. tostring(vexist) .. + "\n rm_opt: " .. tostring(rm_opt) .. + "\n eq_cfg: " .. tostring(eq_cfg) .. + "\n eq_def: " .. tostring(eq_def) .. + "\n errtxt: " .. tostring(errtxt) ) + + -- write data to UCI; raise event only on changes + if self:write(section, vvalue) and not eq_cfg then self.section.changed = true end end diff --git a/applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua b/applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua index 8ea2496173..90754c2bc1 100644 --- a/applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua +++ b/applications/luci-app-privoxy/luasrc/model/cbi/privoxy.lua @@ -8,64 +8,35 @@ local DISP = require "luci.dispatcher" local DTYP = require "luci.cbi.datatypes" local CTRL = require "luci.controller.privoxy" -- this application's controller --- Bootstrap theme needs 2 or 3 additional linefeeds for tab description for better optic local HELP = [[<a href="http://www.privoxy.org/user-manual/config.html#%s" target="_blank">%s</a>]] -local VERINST = CTRL.ipkg_ver_installed("privoxy") -local VEROK = CTRL.ipkg_ver_compare(VERINST,">=",CTRL.PRIVOXY_MIN) - -local TITLE = [[<a href="javascript:alert(']] - .. translate("Version Information") - .. [[\n\nluci-app-privoxy]] - .. [[\n\t]] .. translate("Version") .. [[:\t]] - .. CTRL.ipkg_ver_installed("luci-app-privoxy") - .. [[\n\nprivoxy ]] .. translate("required") .. [[:]] - .. [[\n\t]] .. translate("Version") .. [[:\t]] .. CTRL.PRIVOXY_MIN .. [[ ]] .. translate("or higher") - .. [[\n\nprivoxy ]] .. translate("installed") .. [[:]] - .. [[\n\t]] .. translate("Version") .. [[:\t]] .. VERINST - .. [[\n\n]] - .. [[')">]] - .. translate("Privoxy WEB proxy") - .. [[</a>]] - -local DESC = translate("Privoxy is a non-caching web proxy with advanced filtering " - .. "capabilities for enhancing privacy, modifying web page data and HTTP headers, " - .. "controlling access, and removing ads and other obnoxious Internet junk.") - .. [[<br /><strong>]] - .. translate("For help use link at the relevant option") - .. [[</strong>]] - -- Error handling if wrong privoxy version installed -- ######################## -if not nixio.fs.access("/etc/config/privoxy") or not VEROK then - local f = SimpleForm("_no_config") - f.title = TITLE - f.description = DESC - f.embedded = true - f.submit = false - f.reset = false - - local s = f:section(SimpleSection) - s.title = [[<font color="red">]] .. [[<strong>]] - .. translate("Software update required") - .. [[</strong>]] .. [[</font>]] - - local v = s:option(DummyValue, "_update_needed") +if not CTRL.service_ok() then + local f = SimpleForm("_sf") + f.title = CTRL.app_title_main() + f.description = CTRL.app_description() + f.embedded = true + f.submit = false + f.reset = false + + local s = f:section(SimpleSection) + local v = s:option(DummyValue, "_dv") v.titleref = DISP.build_url("admin", "system", "packages") v.rawhtml = true - v.value = [[<h3><strong><br /><br /> ]] - .. translate("The currently installed 'privoxy' package is not supported by LuCI application.") - .. [[<br /><br /> ]] - .. translate("required") .. ": " .. CTRL.PRIVOXY_MIN .. " *** ".. translate("installed") .. ": " .. VERINST - .. [[<br /><br /> ]] - .. translate("Please update to the current version!") - .. [[<br /><br /></strong></h3>]] + v.value = CTRL.service_update() return f end +-- ################################################################################################# +-- Error handling if no config, create an empty one -- ######################### +if not NXFS.access("/etc/config/privoxy") then + NXFS.writefile("/etc/config/privoxy", "") +end + -- cbi-map -- ################################################################## local m = Map("privoxy") -m.title = TITLE -m.description = DESC +m.title = CTRL.app_title_main() +m.description = CTRL.app_description() function m.commit_handler(self) if self.changed then -- changes ? os.execute("/etc/init.d/privoxy reload &") -- reload configuration @@ -74,14 +45,30 @@ end -- cbi-section -- ############################################################## local ns = m:section( NamedSection, "privoxy", "privoxy") +function ns.cfgvalue(self, section) + if not self.map:get("system") then -- section might not exist + self.map:set("system", nil, "system") + end + if not self.map:get(section) then -- section might not exist + self.map:set(section, nil, self.sectiontype) + end + return self.map:get(section) +end + +ns:tab("sys", + translate("System"), + nil ) +local function err_tab_sys(title, msg) + return string.format(translate("System") .. " - %s: %s", title, msg ) +end -ns:tab("local", - translate("Local Set-up"), +ns:tab("doc", + translate("Documentation"), translate("If you intend to operate Privoxy for more users than just yourself, " .. "it might be a good idea to let them know how to reach you, what you block " .. "and why you do that, your policies, etc.") ) -local function err_tab_local(title, msg) - return string.format(translate("Local Set-up") .. " - %s: %s", title, msg ) +local function err_tab_doc(title, msg) + return string.format(translate("Documentation") .. " - %s: %s", title, msg ) end ns:tab("filter", @@ -124,7 +111,7 @@ ns:tab("logview", -- tab: local -- ############################################################### -- start/stop button ----------------------------------------------------------- -local btn = ns:taboption("local", Button, "_startstop") +local btn = ns:taboption("sys", Button, "_startstop") btn.title = translate("Start / Stop") btn.description = translate("Start/Stop Privoxy WEB Proxy") btn.template = "privoxy/detail_startstop" @@ -143,7 +130,7 @@ function btn.cfgvalue(self, section) end -- enabled --------------------------------------------------------------------- -local ena = ns:taboption("local", Flag, "_enabled") +local ena = ns:taboption("sys", Flag, "_enabled") ena.title = translate("Enabled") ena.description = translate("Enable/Disable autostart of Privoxy on system startup and interface events") ena.orientation = "horizontal" -- put description under the checkbox @@ -151,11 +138,7 @@ ena.rmempty = false function ena.cfgvalue(self, section) return (SYS.init.enabled("privoxy")) and "1" or "0" end -function ena.validate(self, value) - error("Validate " .. value) -end function ena.write(self, section, value) - --error("Write " .. value) if value == "1" then return SYS.init.enable("privoxy") else @@ -163,24 +146,61 @@ function ena.write(self, section, value) end end +-- boot_delay ------------------------------------------------------------------ +local bd = ns:taboption("sys", Value, "boot_delay") +bd.title = translate("Boot delay") +bd.description = translate("Delay (in seconds) during system boot before Privoxy start") + .. [[<br />]] + .. translate("During delay ifup-events are not monitored !") +bd.default = "10" +bd.rmempty = false +-- value is in a separate section so we need to do by hand +function bd.cfgvalue(self, section) + local value = tonumber(self.map:get("system", "boot_delay") ) + if not value then return nil end + return tostring(value) +end +function bd.validate(self, value) + local val = tonumber(value) + if not val then + return nil, err_tab_sys(self.title, translate("Value is not a number") ) + elseif val < 0 or val > 300 then + return nil, err_tab_sys(self.title, translate("Value not between 0 and 300") ) + end + return value +end +function bd.write(self, section, value) + local fvalue = self:formvalue(section) + local cvalue = self:cfgvalue(section) + if (fvalue ~= cvalue) then + self.map:set("system", "boot_delay", value) + end +end + -- hostname -------------------------------------------------------------------- -local hn = ns:taboption("local", Value, "hostname") +local hn = ns:taboption("doc", Value, "hostname") hn.title = string.format(HELP, "HOSTNAME", "Hostname" ) hn.description = translate("The hostname shown on the CGI pages.") hn.placeholder = SYS.hostname() hn.optional = true hn.rmempty = true +function hn.parse(self, section, novld) + CTRL.value_parse(self, section, novld) +end -- user-manual ----------------------------------------------------------------- -local um = ns:taboption("local", Value, "user_manual") +local um = ns:taboption("doc", Value, "user_manual") um.title = string.format(HELP, "USER-MANUAL", "User Manual" ) um.description = translate("Location of the Privoxy User Manual.") um.placeholder = "http://www.privoxy.org/user-manual/" um.optional = true um.rmempty = true +function um.parse(self, section, novld) + CTRL.value_parse(self, section, novld) +end -- admin-address --------------------------------------------------------------- -local aa = ns:taboption("local", Value, "admin_address") +local aa = ns:taboption("doc", Value, "admin_address") aa.title_base = "Admin Email" aa.title = string.format(HELP, "ADMIN-ADDRESS", aa.title_base ) aa.description = translate("An email address to reach the Privoxy administrator.") @@ -192,20 +212,26 @@ function aa.validate(self, value) return "" end if not (value:match("[A-Za-z0-9%.%%%+%-]+@[A-Za-z0-9%.%%%+%-]+%.%w%w%w?%w?")) then - return nil, err_tab_local(self.title_base, translate("Invalid email address") ) + return nil, err_tab_doc(self.title_base, translate("Invalid email address") ) end return value end +function aa.parse(self, section, novld) + CTRL.value_parse(self, section, novld) +end -- proxy-info-url -------------------------------------------------------------- -local piu = ns:taboption("local", Value, "proxy_info_url") +local piu = ns:taboption("doc", Value, "proxy_info_url") piu.title = string.format(HELP, "PROXY-INFO-URL", "Proxy Info URL" ) piu.description = translate("A URL to documentation about the local Privoxy setup, configuration or policies.") piu.optional = true piu.rmempty = true +function piu.parse(self, section, novld) + CTRL.value_parse(self, section, novld) +end -- trust-info-url -------------------------------------------------------------- -local tiu = ns:taboption("local", Value, "trust_info_url") +local tiu = ns:taboption("doc", Value, "trust_info_url") tiu.title = string.format(HELP, "TRUST-INFO-URL", "Trust Info URLs" ) tiu.description = translate("A URL to be displayed in the error page that users will see if access to an untrusted page is denied.") .. [[<br /><strong>]] @@ -213,6 +239,9 @@ tiu.description = translate("A URL to be displayed in the error page that users .. [[</strong>]] tiu.optional = true tiu.rmepty = true +function tiu.parse(self, section, novld) + CTRL.value_parse(self, section, novld) +end -- tab: filter -- ############################################################## @@ -234,6 +263,9 @@ function ld.validate(self, value) return value end end +function ld.parse(self, section, novld) + CTRL.value_parse(self, section, novld) +end -- logfile --------------------------------------------------------------------- local lf = ns:taboption("filter", Value, "logfile") @@ -526,9 +558,6 @@ tgl.description = translate("Enable/Disable filtering when Privoxy starts.") tgl.orientation = "horizontal" tgl.default = "1" tgl.rmempty = false -function tgl.parse(self, section) - CTRL.flag_parse(self, section) -end -- enable-remote-toggle -------------------------------------------------------- local ert = ns:taboption("access", Flag, "enable_remote_toggle") @@ -536,9 +565,6 @@ ert.title = string.format(HELP, "ENABLE-REMOTE-TOGGLE", "Enable remote toggle" ) ert.description = translate("Whether or not the web-based toggle feature may be used.") ert.orientation = "horizontal" ert.rmempty = true -function ert.parse(self, section) - CTRL.flag_parse(self, section) -end -- enable-remote-http-toggle --------------------------------------------------- local eht = ns:taboption("access", Flag, "enable_remote_http_toggle") @@ -549,9 +575,6 @@ eht.description = translate("Whether or not Privoxy recognizes special HTTP head .. [[</strong>]] eht.orientation = "horizontal" eht.rmempty = true -function eht.parse(self, section) - CTRL.flag_parse(self, section) -end -- enable-edit-actions --------------------------------------------------------- local eea = ns:taboption("access", Flag, "enable_edit_actions") @@ -559,9 +582,6 @@ eea.title = string.format(HELP, "ENABLE-EDIT-ACTIONS", "Enable action file edito eea.description = translate("Whether or not the web-based actions file editor may be used.") eea.orientation = "horizontal" eea.rmempty = true -function eea.parse(self, section) - CTRL.flag_parse(self, section) -end -- enforce-blocks -------------------------------------------------------------- local eb = ns:taboption("access", Flag, "enforce_blocks") @@ -570,9 +590,6 @@ eb.description = translate("If enabled, Privoxy hides the 'go there anyway' link .. "The user obviously should not be able to bypass any blocks.") eb.orientation = "horizontal" eb.rmempty = true -function eb.parse(self, section) - CTRL.flag_parse(self, section) -end -- tab: forward -- ############################################################# @@ -586,9 +603,6 @@ paf.description = translate("Whether or not proxy authentication through Privoxy .. [[</strong>]] --paf.orientation = "horizontal" paf.rmempty = true -function paf.parse(self, section) - CTRL.flag_parse(self, section) -end -- forward --------------------------------------------------------------------- local fwd = ns:taboption("forward", DynamicList, "forward") @@ -632,9 +646,6 @@ air.title = string.format(HELP, "ACCEPT-INTERCEPTED-REQUESTS", "Accept intercept air.description = translate("Whether intercepted requests should be treated as valid.") air.orientation = "horizontal" air.rmempty = true -function air.parse(self, section) - CTRL.flag_parse(self, section) -end -- allow-cgi-request-crunching ------------------------------------------------- local crc = ns:taboption("misc", Flag, "allow_cgi_request_crunching") @@ -642,9 +653,6 @@ crc.title = string.format(HELP, "ALLOW-CGI-REQUEST-CRUNCHING", "Allow CGI reques crc.description = translate("Whether requests to Privoxy's CGI pages can be blocked or redirected.") crc.orientation = "horizontal" crc.rmempty = true -function crc.parse(self, section) - CTRL.flag_parse(self, section) -end -- split-large-forms ----------------------------------------------------------- local slf = ns:taboption("misc", Flag, "split_large_forms") @@ -652,9 +660,6 @@ slf.title = string.format(HELP, "SPLIT-LARGE-FORMS", "Split large forms" ) slf.description = translate("Whether the CGI interface should stay compatible with broken HTTP clients.") slf.orientation = "horizontal" slf.rmempty = true -function slf.parse(self, section) - CTRL.flag_parse(self, section) -end -- keep-alive-timeout ---------------------------------------------------------- local kat = ns:taboption("misc", Value, "keep_alive_timeout") @@ -678,9 +683,6 @@ tp.title = string.format(HELP, "TOLERATE-PIPELINING", "Tolerate pipelining" ) tp.description = translate("Whether or not pipelined requests should be served.") tp.orientation = "horizontal" tp.rmempty = true -function tp.parse(self, section) - CTRL.flag_parse(self, section) -end -- default-server-timeout ------------------------------------------------------ local dst = ns:taboption("misc", Value, "default_server_timeout") @@ -704,9 +706,6 @@ cs.title = string.format(HELP, "CONNECTION-SHARING", "Connection sharing" ) cs.description = translate("Whether or not outgoing connections that have been kept alive should be shared between different incoming connections.") cs.orientation = "horizontal" cs.rmempty = true -function cs.parse(self, section) - CTRL.flag_parse(self, section) -end -- socket-timeout -------------------------------------------------------------- local st = ns:taboption("misc", Value, "socket_timeout") @@ -752,9 +751,6 @@ her.title = string.format(HELP, "HANDLE-AS-EMPTY-DOC-RETURNS-OK", "Handle as emp her.description = translate("The status code Privoxy returns for pages blocked with +handle-as-empty-document.") her.orientation = "horizontal" her.rmempty = true -function her.parse(self, section) - CTRL.flag_parse(self, section) -end -- enable-compression ---------------------------------------------------------- local ec = ns:taboption("misc", Flag, "enable_compression") @@ -762,9 +758,6 @@ ec.title = string.format(HELP, "ENABLE-COMPRESSION", "Enable compression" ) ec.description = translate("Whether or not buffered content is compressed before delivery.") ec.orientation = "horizontal" ec.rmempty = true -function ec.parse(self, section) - CTRL.flag_parse(self, section) -end -- compression-level ----------------------------------------------------------- local cl = ns:taboption("misc", Value, "compression_level") @@ -803,135 +796,90 @@ st.description = translate("Whether to run only one server thread.") .. translate("This option is only there for debugging purposes. It will drastically reduce performance.") .. [[</strong>]] st.rmempty = true -function st.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 1 --------------------------------------------------------------------- local d0 = ns:taboption("debug", Flag, "debug_1") d0.title = string.format(HELP, "DEBUG", "Debug 1" ) d0.description = translate("Log the destination for each request Privoxy let through. See also 'Debug 1024'.") d0.rmempty = true -function d0.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 2 --------------------------------------------------------------------- local d1 = ns:taboption("debug", Flag, "debug_2") d1.title = string.format(HELP, "DEBUG", "Debug 2" ) d1.description = translate("Show each connection status") d1.rmempty = true -function d1.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 4 --------------------------------------------------------------------- local d2 = ns:taboption("debug", Flag, "debug_4") d2.title = string.format(HELP, "DEBUG", "Debug 4" ) d2.description = translate("Show I/O status") d2.rmempty = true -function d2.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 8 --------------------------------------------------------------------- local d3 = ns:taboption("debug", Flag, "debug_8") d3.title = string.format(HELP, "DEBUG", "Debug 8" ) d3.description = translate("Show header parsing") d3.rmempty = true -function d3.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 16 -------------------------------------------------------------------- local d4 = ns:taboption("debug", Flag, "debug_16") d4.title = string.format(HELP, "DEBUG", "Debug 16" ) d4.description = translate("Log all data written to the network") d4.rmempty = true -function d4.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 32 -------------------------------------------------------------------- local d5 = ns:taboption("debug", Flag, "debug_32") d5.title = string.format(HELP, "DEBUG", "Debug 32" ) d5.description = translate("Debug force feature") d5.rmempty = true -function d5.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 64 -------------------------------------------------------------------- local d6 = ns:taboption("debug", Flag, "debug_64") d6.title = string.format(HELP, "DEBUG", "Debug 64" ) d6.description = translate("Debug regular expression filters") d6.rmempty = true -function d6.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 128 ------------------------------------------------------------------- local d7 = ns:taboption("debug", Flag, "debug_128") d7.title = string.format(HELP, "DEBUG", "Debug 128" ) d7.description = translate("Debug redirects") d7.rmempty = true -function d7.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 256 ------------------------------------------------------------------- local d8 = ns:taboption("debug", Flag, "debug_256") d8.title = string.format(HELP, "DEBUG", "Debug 256" ) d8.description = translate("Debug GIF de-animation") d8.rmempty = true -function d8.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 512 ------------------------------------------------------------------- local d9 = ns:taboption("debug", Flag, "debug_512") d9.title = string.format(HELP, "DEBUG", "Debug 512" ) d9.description = translate("Common Log Format") d9.rmempty = true -function d9.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 1024 ------------------------------------------------------------------ local d10 = ns:taboption("debug", Flag, "debug_1024") d10.title = string.format(HELP, "DEBUG", "Debug 1024" ) d10.description = translate("Log the destination for requests Privoxy didn't let through, and the reason why.") d10.rmempty = true -function d10.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 2048 ------------------------------------------------------------------ local d11 = ns:taboption("debug", Flag, "debug_2048") d11.title = string.format(HELP, "DEBUG", "Debug 2048" ) d11.description = translate("CGI user interface") d11.rmempty = true -function d11.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 4096 ------------------------------------------------------------------ local d12 = ns:taboption("debug", Flag, "debug_4096") d12.title = string.format(HELP, "DEBUG", "Debug 4096" ) d12.description = translate("Startup banner and warnings.") d12.rmempty = true -function d12.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 8192 ------------------------------------------------------------------ local d13 = ns:taboption("debug", Flag, "debug_8192") d13.title = string.format(HELP, "DEBUG", "Debug 8192" ) d13.description = translate("Non-fatal errors - *we highly recommended enabling this*") d13.rmempty = true -function d13.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 16384 ----------------------------------------------------------------- --[[ TODO ??? @@ -939,9 +887,6 @@ local d14 = ns:taboption("debug", Flag, "debug_16384") d14.title = string.format(HELP, "DEBUG", "Debug 16384" ) d14.description = translate("") d14.rmempty = true -function d14.parse(self, section) - CTRL.flag_parse(self, section) -end ]]-- -- debug 32768 ----------------------------------------------------------------- @@ -949,18 +894,12 @@ local d15 = ns:taboption("debug", Flag, "debug_32768") d15.title = string.format(HELP, "DEBUG", "Debug 32768" ) d15.description = translate("Log all data read from the network") d15.rmempty = true -function d15.parse(self, section) - CTRL.flag_parse(self, section) -end -- debug 65536 ----------------------------------------------------------------- local d16 = ns:taboption("debug", Flag, "debug_65536") d16.title = string.format(HELP, "DEBUG", "Debug 65536" ) d16.description = translate("Log the applying actions") d16.rmempty = true -function d16.parse(self, section) - CTRL.flag_parse(self, section) -end -- tab: logview -- ############################################################# diff --git a/applications/luci-app-privoxy/po/de/privoxy.po b/applications/luci-app-privoxy/po/de/privoxy.po index b01f99e31c..9e2a29eb63 100644 --- a/applications/luci-app-privoxy/po/de/privoxy.po +++ b/applications/luci-app-privoxy/po/de/privoxy.po @@ -51,6 +51,9 @@ msgstr "" "Angenommenes serverseitiges Keep-Alive-Timeout (in Sekunden), falls nicht " "vom Server festgelegt." +msgid "Boot delay" +msgstr "" + msgid "CGI user interface" msgstr "Protokolliert die CGI Benutzer Schnittstelle" @@ -79,12 +82,21 @@ msgstr "Protokolliert Weiterleitungen" msgid "Debug regular expression filters" msgstr "Protokolliert Filter für reguläre Ausdrücke" +msgid "Delay (in seconds) during system boot before Privoxy start" +msgstr "" + msgid "Directory does not exist!" msgstr "Verzeichnis existiert nicht!" msgid "Disabled == Transparent Proxy Mode" msgstr "Deaktiviert == Transparent Proxy Betrieb" +msgid "Documentation" +msgstr "" + +msgid "During delay ifup-events are not monitored !" +msgstr "" + msgid "Enable proxy authentication forwarding" msgstr "Aktivieren die Weiterleitung von Proxy-Authentifizierungen" @@ -146,9 +158,6 @@ msgstr "Ungültige Email Adresse" msgid "It is NOT recommended for the casual user." msgstr "Es wird NICHT für den gelegentlichen Anwender empfohlen." -msgid "Local Set-up" -msgstr "Lokale Einstellungen" - msgid "Location of the Privoxy User Manual." msgstr "Ort des Privoxy Benutzer Handbuches" @@ -218,6 +227,9 @@ msgstr "Maximale Größe (in KB) des Puffers für die Inhaltsfilterung." msgid "Miscellaneous" msgstr "Verschiedenes" +msgid "NOT installed" +msgstr "" + msgid "No trailing '/', please." msgstr "Bitte kein '/' am Ende." @@ -242,6 +254,9 @@ msgid "" "Only when using 'external filters', Privoxy has to create temporary files." msgstr "" +msgid "Please install current version !" +msgstr "" + msgid "Please press [Read] button" msgstr "Bitte Protokolldatei einlesen" @@ -286,8 +301,11 @@ msgstr "Protokolliert jeden Verbindungsstatus" msgid "Show header parsing" msgstr "Protokolliert das 'Header parsing'" -msgid "Software update required" -msgstr "Softwareaktualisierung nötig" +msgid "Software package '%s' is not installed." +msgstr "" + +msgid "Software package '%s' is outdated." +msgstr "" msgid "Start" msgstr "Start" @@ -313,6 +331,9 @@ msgstr "Syntax: target_pattern http_parent[:port]" msgid "Syntax: target_pattern socks_proxy[:port] http_parent[:port]" msgstr "Syntax: target_pattern socks_proxy[:port] http_parent[:port]" +msgid "System" +msgstr "" + msgid "" "The actions file(s) to use. Multiple actionsfile lines are permitted, and " "are in fact recommended!" @@ -334,13 +355,6 @@ msgstr "" "gepufferten Inhaltes übergeben wird." msgid "" -"The currently installed 'privoxy' package is not supported by LuCI " -"application." -msgstr "" -"Das aktuell installierte 'privoxy' Paket wird von dieser LuCI Anwendung " -"NICHT unterstützt." - -msgid "" "The directory where all logging takes place (i.e. where the logfile is " "located)." msgstr "Das Verzeichnis in dem die Protokolldatei gespeichert wird." @@ -424,6 +438,9 @@ msgstr "Benutzerdefinierte Anpassungen" msgid "Value is not a number" msgstr "Eingabe ist keine Zahl" +msgid "Value not between 0 and 300" +msgstr "" + msgid "Value not between 0 and 9" msgstr "Wert nicht zwischen 0 und 9" @@ -501,3 +518,16 @@ msgstr "oder höher" msgid "required" msgstr "benötigt" + +#~ msgid "Local Set-up" +#~ msgstr "Lokale Einstellungen" + +#~ msgid "Software update required" +#~ msgstr "Softwareaktualisierung nötig" + +#~ msgid "" +#~ "The currently installed 'privoxy' package is not supported by LuCI " +#~ "application." +#~ msgstr "" +#~ "Das aktuell installierte 'privoxy' Paket wird von dieser LuCI Anwendung " +#~ "NICHT unterstützt." diff --git a/applications/luci-app-privoxy/po/sv/privoxy.po b/applications/luci-app-privoxy/po/sv/privoxy.po index d9c63aa3b0..14e47e190f 100644 --- a/applications/luci-app-privoxy/po/sv/privoxy.po +++ b/applications/luci-app-privoxy/po/sv/privoxy.po @@ -33,6 +33,9 @@ msgid "" "server." msgstr "" +msgid "Boot delay" +msgstr "" + msgid "CGI user interface" msgstr "CGI-användargränssnitt" @@ -57,12 +60,21 @@ msgstr "Felsök omdirigeringar" msgid "Debug regular expression filters" msgstr "" +msgid "Delay (in seconds) during system boot before Privoxy start" +msgstr "" + msgid "Directory does not exist!" msgstr "Mappen finns inte!" msgid "Disabled == Transparent Proxy Mode" msgstr "Inaktiverad == " +msgid "Documentation" +msgstr "" + +msgid "During delay ifup-events are not monitored !" +msgstr "" + msgid "Enable proxy authentication forwarding" msgstr "" @@ -115,9 +127,6 @@ msgstr "Ogiltig e-postadress" msgid "It is NOT recommended for the casual user." msgstr "Det är INTE rekommenderat för den vanliga användaren." -msgid "Local Set-up" -msgstr "Lokal installation" - msgid "Location of the Privoxy User Manual." msgstr "Plats för Privoxy's användarmanual." @@ -182,6 +191,9 @@ msgstr "" msgid "Miscellaneous" msgstr "Diverse" +msgid "NOT installed" +msgstr "" + msgid "No trailing '/', please." msgstr "Vänligen, inget eftersläpande '/'" @@ -201,6 +213,9 @@ msgid "" "Only when using 'external filters', Privoxy has to create temporary files." msgstr "" +msgid "Please install current version !" +msgstr "" + msgid "Please press [Read] button" msgstr "Vänligen tryck på [Läs]-knappen" @@ -237,8 +252,11 @@ msgstr "Visa varje anslutnings status" msgid "Show header parsing" msgstr "" -msgid "Software update required" -msgstr "Uppdatering av mjukvara krävs" +msgid "Software package '%s' is not installed." +msgstr "" + +msgid "Software package '%s' is outdated." +msgstr "" msgid "Start" msgstr "Starta" @@ -264,6 +282,9 @@ msgstr "" msgid "Syntax: target_pattern socks_proxy[:port] http_parent[:port]" msgstr "" +msgid "System" +msgstr "" + msgid "" "The actions file(s) to use. Multiple actionsfile lines are permitted, and " "are in fact recommended!" @@ -279,11 +300,6 @@ msgid "" msgstr "" msgid "" -"The currently installed 'privoxy' package is not supported by LuCI " -"application." -msgstr "" - -msgid "" "The directory where all logging takes place (i.e. where the logfile is " "located)." msgstr "" @@ -348,6 +364,9 @@ msgstr "Anpassningar för användare" msgid "Value is not a number" msgstr "Värdet är inte ett nummer" +msgid "Value not between 0 and 300" +msgstr "" + msgid "Value not between 0 and 9" msgstr "Värdet är inte mellan 0 och 9" @@ -415,3 +434,9 @@ msgstr "eller högre" msgid "required" msgstr "krävs" + +#~ msgid "Local Set-up" +#~ msgstr "Lokal installation" + +#~ msgid "Software update required" +#~ msgstr "Uppdatering av mjukvara krävs" diff --git a/applications/luci-app-privoxy/po/templates/privoxy.pot b/applications/luci-app-privoxy/po/templates/privoxy.pot index 150ee3157f..2e44ea8b7c 100644 --- a/applications/luci-app-privoxy/po/templates/privoxy.pot +++ b/applications/luci-app-privoxy/po/templates/privoxy.pot @@ -31,6 +31,9 @@ msgid "" "server." msgstr "" +msgid "Boot delay" +msgstr "" + msgid "CGI user interface" msgstr "" @@ -55,12 +58,21 @@ msgstr "" msgid "Debug regular expression filters" msgstr "" +msgid "Delay (in seconds) during system boot before Privoxy start" +msgstr "" + msgid "Directory does not exist!" msgstr "" msgid "Disabled == Transparent Proxy Mode" msgstr "" +msgid "Documentation" +msgstr "" + +msgid "During delay ifup-events are not monitored !" +msgstr "" + msgid "Enable proxy authentication forwarding" msgstr "" @@ -111,9 +123,6 @@ msgstr "" msgid "It is NOT recommended for the casual user." msgstr "" -msgid "Local Set-up" -msgstr "" - msgid "Location of the Privoxy User Manual." msgstr "" @@ -178,6 +187,9 @@ msgstr "" msgid "Miscellaneous" msgstr "" +msgid "NOT installed" +msgstr "" + msgid "No trailing '/', please." msgstr "" @@ -196,6 +208,9 @@ msgid "" "Only when using 'external filters', Privoxy has to create temporary files." msgstr "" +msgid "Please install current version !" +msgstr "" + msgid "Please press [Read] button" msgstr "" @@ -232,7 +247,10 @@ msgstr "" msgid "Show header parsing" msgstr "" -msgid "Software update required" +msgid "Software package '%s' is not installed." +msgstr "" + +msgid "Software package '%s' is outdated." msgstr "" msgid "Start" @@ -259,6 +277,9 @@ msgstr "" msgid "Syntax: target_pattern socks_proxy[:port] http_parent[:port]" msgstr "" +msgid "System" +msgstr "" + msgid "" "The actions file(s) to use. Multiple actionsfile lines are permitted, and " "are in fact recommended!" @@ -274,11 +295,6 @@ msgid "" msgstr "" msgid "" -"The currently installed 'privoxy' package is not supported by LuCI " -"application." -msgstr "" - -msgid "" "The directory where all logging takes place (i.e. where the logfile is " "located)." msgstr "" @@ -343,6 +359,9 @@ msgstr "" msgid "Value is not a number" msgstr "" +msgid "Value not between 0 and 300" +msgstr "" + msgid "Value not between 0 and 9" msgstr "" diff --git a/applications/luci-app-privoxy/po/zh-cn/privoxy.po b/applications/luci-app-privoxy/po/zh-cn/privoxy.po index f69a8f9280..75d1a921cf 100644 --- a/applications/luci-app-privoxy/po/zh-cn/privoxy.po +++ b/applications/luci-app-privoxy/po/zh-cn/privoxy.po @@ -1,468 +1,464 @@ -msgid ""
-msgstr ""
-"Project-Id-Version: luci-app-privoxy\n"
-"POT-Creation-Date: 2015-06-10 20:16+0100\n"
-"PO-Revision-Date: 2015-06-10 20:16+0100\n"
-"Last-Translator: maz-1 <ohmygod19993 at gmail dotcom>\n"
-"Language-Team: \n"
-"Language: zh-cn\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.4\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Poedit-SourceCharset: UTF-8\n"
-
-msgid ""
-"A URL to be displayed in the error page that users will see if access to an "
-"untrusted page is denied."
-msgstr ""
-"当用户试图访问不受信任的页面时,错误页面所显示的URL。"
-
-
-msgid ""
-"A URL to documentation about the local Privoxy setup, configuration or "
-"policies."
-msgstr ""
-"指向Privoxy安装、设置和规则说明文档的URL"
-
-
-msgid "A directory where Privoxy can create temporary files."
-msgstr "Privoxy存放临时文件的目录。"
-
-msgid "Access Control"
-msgstr "访问控制"
-
-msgid "Actions that are applied to all sites and maybe overruled later on."
-msgstr ""
-"作用在所有站点上的规则,可能被后面的规则覆盖。"
-
-
-msgid "An alternative directory where the templates are loaded from."
-msgstr "可选的目录,放在里面的模板会被加载。"
-
-msgid "An email address to reach the Privoxy administrator."
-msgstr "用于联系privoxy管理员的邮箱地址。"
-
-msgid ""
-"Assumed server-side keep-alive timeout (in seconds) if not specified by the "
-"server."
-msgstr ""
-"当服务端没有指定超时时间时假定的超时时间(单位秒)。"
-
-msgid "CGI user interface"
-msgstr "CGI用户界面"
-
-msgid "Common Log Format"
-msgstr "通用日志格式"
-
-msgid ""
-"Configure here the routing of HTTP requests through a chain of multiple "
-"proxies. Note that parent proxies can severely decrease your privacy level. "
-"Also specified here are SOCKS proxies."
-msgstr ""
-"在这里设置http请求所经过的多重代理链。"
-"注意父级代理可能严重降低你的隐私安全度。"
-"在这里还可以设置SOCKS代理。"
-
-msgid "Debug GIF de-animation"
-msgstr "GIF动画日志"
-
-msgid "Debug force feature"
-msgstr "force feature日志"
-
-msgid "Debug redirects"
-msgstr "重定向日志"
-
-msgid "Debug regular expression filters"
-msgstr "正则表达式日志"
-
-msgid "Directory does not exist!"
-msgstr "目录不存在!"
-
-msgid "Disabled == Transparent Proxy Mode"
-msgstr "禁用 == 透明代理模式"
-
-msgid "Enable proxy authentication forwarding"
-msgstr "允许转发代理认证"
-
-msgid ""
-"Enable/Disable autostart of Privoxy on system startup and interface events"
-msgstr ""
-"开启/关闭Privoxy在系统启动或者设置界面更改时自动启动。"
-
-msgid "Enable/Disable filtering when Privoxy starts."
-msgstr "Privoxy启动时开启/关闭过滤。"
-
-msgid "Enabled"
-msgstr "已开启"
-
-msgid ""
-"Enabling this option is NOT recommended if there is no parent proxy that "
-"requires authentication!"
-msgstr ""
-"父级代理不需要认证时不推荐开启这个选项!"
-
-msgid "File '%s' not found inside Configuration Directory"
-msgstr "文件 '%s' 没有在设置目录中找到!"
-
-msgid "File not found or empty"
-msgstr "文件不存在或为空"
-
-msgid "Files and Directories"
-msgstr "文件和目录"
-
-msgid "For help use link at the relevant option"
-msgstr ""
-"在相应选项下的连接可获取帮助。"
-
-msgid "Forwarding"
-msgstr "转发"
-
-msgid ""
-"If enabled, Privoxy hides the 'go there anyway' link. The user obviously "
-"should not be able to bypass any blocks."
-msgstr ""
-"如果启用,Privoxy会隐藏'go there anyway'链接。用户显然不应能绕过屏蔽。"
-
-msgid ""
-"If you intend to operate Privoxy for more users than just yourself, it might "
-"be a good idea to let them know how to reach you, what you block and why you "
-"do that, your policies, etc."
-msgstr ""
-"如果除了你还有其他用户通过privoxy连接,让他们知道如何联系你、什么内容被屏蔽了、"
-"你为什么要这么做、你所制定的规范等等是一个好主意。"
-
-msgid "Invalid email address"
-msgstr "邮箱地址无效"
-
-msgid "It is NOT recommended for the casual user."
-msgstr "不推荐新手使用。"
-
-msgid "Local Set-up"
-msgstr "本地设置"
-
-msgid "Location of the Privoxy User Manual."
-msgstr "Privoxy用户手册位置"
-
-msgid "Log File Viewer"
-msgstr "日志查看器"
-
-msgid "Log all data read from the network"
-msgstr "记录所有从网络接收的数据"
-
-msgid "Log all data written to the network"
-msgstr "记录所有发送给网络的数据"
-
-msgid "Log the applying actions"
-msgstr "记录被应用的规则"
-
-msgid ""
-"Log the destination for each request Privoxy let through. See also 'Debug "
-"1024'."
-msgstr ""
-"记录Privoxy所允许的所有请求。另请参考'Debug 1024'。"
-
-msgid ""
-"Log the destination for requests Privoxy didn't let through, and the reason "
-"why."
-msgstr ""
-"记录被Privoxy拒绝的请求目标以及拒绝原因。"
-
-msgid "Logging"
-msgstr "日志"
-
-msgid "Main actions file"
-msgstr "主要规则文件"
-
-msgid "Mandatory Input: No Data given!"
-msgstr "必需选项: 没有设置数据!"
-
-msgid "Mandatory Input: No Directory given!"
-msgstr "必需选项: 没有设置目录!"
-
-msgid "Mandatory Input: No File given!"
-msgstr "必需选项: 没有设置文件!"
-
-msgid "Mandatory Input: No Port given!"
-msgstr "必需选项: 没有设置端口!"
-
-msgid "Mandatory Input: No files given!"
-msgstr "必需选项: 没有设置文件!"
-
-msgid "Mandatory Input: No valid IPv4 address or host given!"
-msgstr ""
-"必需选项: 没有设置有效的IPV4地址或者主机!"
-
-msgid "Mandatory Input: No valid IPv6 address given!"
-msgstr "必需选项: 没有设置有效的IPV6地址!"
-
-msgid "Mandatory Input: No valid Port given!"
-msgstr "必需选项: 没有设置有效的端口!"
-
-msgid "Maximum number of client connections that will be served."
-msgstr "客户端数量上限。"
-
-msgid "Maximum size (in KB) of the buffer for content filtering."
-msgstr "内容过滤的最大缓冲(单位KB)。"
-
-msgid "Miscellaneous"
-msgstr "杂项"
-
-msgid "No trailing '/', please."
-msgstr "路径结尾不要加'/' ."
-
-msgid "Non-fatal errors - *we highly recommended enabling this*"
-msgstr ""
-"非致命性错误 - * 建议开启 *"
-
-msgid ""
-"Number of seconds after which a socket times out if no data is received."
-msgstr ""
-"socket连接未收到数据的超时时间。"
-
-msgid ""
-"Number of seconds after which an open connection will no longer be reused."
-msgstr ""
-"一个开放的连接不再重复使用的超时时间。"
-
-msgid ""
-"Only when using 'external filters', Privoxy has to create temporary files."
-msgstr ""
-"只有使用外置规则时,privoxy才需要创建临时文件。"
-
-msgid "Please press [Read] button"
-msgstr "请点击[读取]按钮"
-
-msgid "Please read Privoxy manual for details!"
-msgstr "请阅读Privoxy手册以了解详情!"
-
-msgid "Please update to the current version!"
-msgstr "请升级到当前版本!"
-
-msgid "Privoxy WEB proxy"
-msgstr "Privoxy 网络代理"
-
-msgid ""
-"Privoxy can (and normally does) use a number of other files for additional "
-"configuration, help and logging. This section of the configuration file "
-"tells Privoxy where to find those other files."
-msgstr ""
-"Privoxy可以使用其他一些文件用于附加设置,帮助和日志。这个区域用来告诉Privoxy从哪里找到这些文件。"
-
-msgid ""
-"Privoxy is a non-caching web proxy with advanced filtering capabilities for "
-"enhancing privacy, modifying web page data and HTTP headers, controlling "
-"access, and removing ads and other obnoxious Internet junk."
-msgstr ""
-"Privoxy是一个无缓存的网络代理,具有高级过滤功能,能够修改网页数据和HTTP头,控制访问,移除广告等。"
-
-msgid "Read / Reread log file"
-msgstr "读取/刷新日志文件"
-
-msgid "Show I/O status"
-msgstr "显示 I/O 状态"
-
-msgid "Show each connection status"
-msgstr "显示每个连接的状态"
-
-msgid "Show header parsing"
-msgstr "Show header parsing"
-
-msgid "Software update required"
-msgstr "需要升级软件"
-
-msgid "Start"
-msgstr "启动"
-
-msgid "Start / Stop"
-msgstr "启动 / 停止"
-
-msgid "Start/Stop Privoxy WEB Proxy"
-msgstr "启动/停止 Privoxy 网络代理"
-
-msgid "Startup banner and warnings."
-msgstr "启动标语和警告。"
-
-msgid "Syntax:"
-msgstr "格式:"
-
-msgid "Syntax: Client header names delimited by spaces."
-msgstr "格式: Client header names delimited by spaces."
-
-msgid "Syntax: target_pattern http_parent[:port]"
-msgstr "格式: target_pattern http_parent[:port]"
-
-msgid "Syntax: target_pattern socks_proxy[:port] http_parent[:port]"
-msgstr "格式: target_pattern socks_proxy[:port] http_parent[:port]"
-
-msgid ""
-"The actions file(s) to use. Multiple actionsfile lines are permitted, and "
-"are in fact recommended!"
-msgstr ""
-"所使用的规则文件。允许并且推荐使用多个规则文件。"
-
-msgid ""
-"The address and TCP port on which Privoxy will listen for client requests."
-msgstr ""
-"Privoxy接收客户端请求时监听的地址和TCP端口。"
-
-msgid ""
-"The compression level that is passed to the zlib library when compressing "
-"buffered content."
-msgstr ""
-"使用zlib压缩缓冲内容时的压缩级别。"
-
-msgid ""
-"The currently installed 'privoxy' package is not supported by LuCI "
-"application."
-msgstr ""
-"目前安装的privoxy版本不被luci支持。"
-
-msgid ""
-"The directory where all logging takes place (i.e. where the logfile is "
-"located)."
-msgstr "所有日志所在的目录。"
-
-msgid "The directory where the other configuration files are located."
-msgstr "其他设置文件所在的目录。"
-
-msgid ""
-"The filter files contain content modification rules that use regular "
-"expressions."
-msgstr ""
-"过滤文件包含了使用正则表达式编写的内容修改规则"
-
-msgid "The hostname shown on the CGI pages."
-msgstr "CGI页面显示的主机名。"
-
-msgid "The log file to use. File name, relative to log directory."
-msgstr ""
-"日志文件名称,与日志路径相对。"
-
-msgid "The order in which client headers are sorted before forwarding them."
-msgstr ""
-"转发数据前,client headers的排序。"
-
-msgid ""
-"The status code Privoxy returns for pages blocked with +handle-as-empty-"
-"document."
-msgstr ""
-"当页面因为handle-as-empty-document规则被阻止时返回的状态码(选上为200 OK,不选上为403 Forbidden)"
-
-msgid ""
-"The trust mechanism is an experimental feature for building white-lists and "
-"should be used with care."
-msgstr ""
-"信任机制是一个实验性的白名单特性,使用时应小心。"
-
-msgid ""
-"The value of this option only matters if the experimental trust mechanism "
-"has been activated."
-msgstr ""
-"只有开启了信任机制时这个选项的值才有效"
-
-msgid ""
-"This option is only there for debugging purposes. It will drastically reduce "
-"performance."
-msgstr ""
-"这个选项仅用于调试,开启后会极大地降低性能。"
-
-msgid ""
-"This option will be removed in future releases as it has been obsoleted by "
-"the more general header taggers."
-msgstr "这个选项在以后的版本中将被移除,因为它被header taggers所取代了。"
-
-msgid ""
-"This tab controls the security-relevant aspects of Privoxy's configuration."
-msgstr ""
-"这个标签用于设置与安全相关的Privoxy选项。"
-
-msgid ""
-"Through which SOCKS proxy (and optionally to which parent HTTP proxy) "
-"specific requests should be routed."
-msgstr ""
-"指定的请求应该通过哪一个SOCKS代理(并且通过哪一个HTTP父代理,可选)"
-
-msgid "To which parent HTTP proxy specific requests should be routed."
-msgstr ""
-"请求应转发至哪一个父级HTTP代理。"
-
-msgid "User customizations"
-msgstr "用户自定义"
-
-msgid "Value is not a number"
-msgstr "输入值不是数字"
-
-msgid "Value not between 0 and 9"
-msgstr "输入值不在0和9之间。"
-
-msgid "Value not between 1 and 4096"
-msgstr "输入值不在1和4096之间"
-
-msgid "Value not greater 0 or empty"
-msgstr "输入值为空或者不是大于零。"
-
-msgid "Value range 1 to 4096, no entry defaults to 4096"
-msgstr "输入值为1到4096,默认为4096"
-
-msgid "Version"
-msgstr "版本"
-
-msgid "Version Information"
-msgstr "版本信息"
-
-msgid "Whether intercepted requests should be treated as valid."
-msgstr "被拦截的请求是否应被当作有效的。"
-
-msgid ""
-"Whether or not Privoxy recognizes special HTTP headers to change toggle "
-"state."
-msgstr ""
-"Privoxy是否识别特殊的HTTP头以切换状态。"
-
-msgid "Whether or not buffered content is compressed before delivery."
-msgstr ""
-"缓冲内容在传递之前是否压缩。"
-
-msgid ""
-"Whether or not outgoing connections that have been kept alive should be "
-"shared between different incoming connections."
-msgstr ""
-"持久出站连接是否应在不同的入站连接之间共享。"
-
-msgid "Whether or not pipelined requests should be served."
-msgstr "是否处理管道化的请求。"
-
-msgid "Whether or not proxy authentication through Privoxy should work."
-msgstr "是否可以通过Privoxy进行代理验证。"
-
-msgid "Whether or not the web-based actions file editor may be used."
-msgstr "是否使用基于网页的规则编辑器。"
-
-msgid "Whether or not the web-based toggle feature may be used."
-msgstr "是否启用基于网页的切换功能。"
-
-msgid "Whether requests to Privoxy's CGI pages can be blocked or redirected."
-msgstr "访问Privoxy CGI页面的请求是否可以被拦截或重定向。"
-
-
-msgid ""
-"Whether the CGI interface should stay compatible with broken HTTP clients."
-msgstr ""
-"CGI界面是否应兼容过时的HTTP客户端。"
-
-msgid "Whether to run only one server thread."
-msgstr "是否只运行一个服务线程。"
-
-msgid "Who can access what."
-msgstr "谁可以访问什么。"
-
-msgid "installed"
-msgstr "已安装"
-
-msgid "or higher"
-msgstr "或更高"
-
-msgid "required"
-msgstr "需要"
+msgid "" +msgstr "" +"Project-Id-Version: luci-app-privoxy\n" +"POT-Creation-Date: 2015-06-10 20:16+0100\n" +"PO-Revision-Date: 2015-06-10 20:16+0100\n" +"Last-Translator: maz-1 <ohmygod19993 at gmail dotcom>\n" +"Language-Team: \n" +"Language: zh-cn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +msgid "" +"A URL to be displayed in the error page that users will see if access to an " +"untrusted page is denied." +msgstr "当用户试图访问不受信任的页面时,错误页面所显示的URL。" + +msgid "" +"A URL to documentation about the local Privoxy setup, configuration or " +"policies." +msgstr "指向Privoxy安装、设置和规则说明文档的URL" + +msgid "A directory where Privoxy can create temporary files." +msgstr "Privoxy存放临时文件的目录。" + +msgid "Access Control" +msgstr "访问控制" + +msgid "Actions that are applied to all sites and maybe overruled later on." +msgstr "作用在所有站点上的规则,可能被后面的规则覆盖。" + +msgid "An alternative directory where the templates are loaded from." +msgstr "可选的目录,放在里面的模板会被加载。" + +msgid "An email address to reach the Privoxy administrator." +msgstr "用于联系privoxy管理员的邮箱地址。" + +msgid "" +"Assumed server-side keep-alive timeout (in seconds) if not specified by the " +"server." +msgstr "当服务端没有指定超时时间时假定的超时时间(单位秒)。" + +msgid "Boot delay" +msgstr "" + +msgid "CGI user interface" +msgstr "CGI用户界面" + +msgid "Common Log Format" +msgstr "通用日志格式" + +msgid "" +"Configure here the routing of HTTP requests through a chain of multiple " +"proxies. Note that parent proxies can severely decrease your privacy level. " +"Also specified here are SOCKS proxies." +msgstr "" +"在这里设置http请求所经过的多重代理链。注意父级代理可能严重降低你的隐私安全" +"度。在这里还可以设置SOCKS代理。" + +msgid "Debug GIF de-animation" +msgstr "GIF动画日志" + +msgid "Debug force feature" +msgstr "force feature日志" + +msgid "Debug redirects" +msgstr "重定向日志" + +msgid "Debug regular expression filters" +msgstr "正则表达式日志" + +msgid "Delay (in seconds) during system boot before Privoxy start" +msgstr "" + +msgid "Directory does not exist!" +msgstr "目录不存在!" + +msgid "Disabled == Transparent Proxy Mode" +msgstr "禁用 == 透明代理模式" + +msgid "Documentation" +msgstr "" + +msgid "During delay ifup-events are not monitored !" +msgstr "" + +msgid "Enable proxy authentication forwarding" +msgstr "允许转发代理认证" + +msgid "" +"Enable/Disable autostart of Privoxy on system startup and interface events" +msgstr "开启/关闭Privoxy在系统启动或者设置界面更改时自动启动。" + +msgid "Enable/Disable filtering when Privoxy starts." +msgstr "Privoxy启动时开启/关闭过滤。" + +msgid "Enabled" +msgstr "已开启" + +msgid "" +"Enabling this option is NOT recommended if there is no parent proxy that " +"requires authentication!" +msgstr "父级代理不需要认证时不推荐开启这个选项!" + +msgid "File '%s' not found inside Configuration Directory" +msgstr "文件 '%s' 没有在设置目录中找到!" + +msgid "File not found or empty" +msgstr "文件不存在或为空" + +msgid "Files and Directories" +msgstr "文件和目录" + +msgid "For help use link at the relevant option" +msgstr "在相应选项下的连接可获取帮助。" + +msgid "Forwarding" +msgstr "转发" + +msgid "" +"If enabled, Privoxy hides the 'go there anyway' link. The user obviously " +"should not be able to bypass any blocks." +msgstr "如果启用,Privoxy会隐藏'go there anyway'链接。用户显然不应能绕过屏蔽。" + +msgid "" +"If you intend to operate Privoxy for more users than just yourself, it might " +"be a good idea to let them know how to reach you, what you block and why you " +"do that, your policies, etc." +msgstr "" +"如果除了你还有其他用户通过privoxy连接,让他们知道如何联系你、什么内容被屏蔽" +"了、你为什么要这么做、你所制定的规范等等是一个好主意。" + +msgid "Invalid email address" +msgstr "邮箱地址无效" + +msgid "It is NOT recommended for the casual user." +msgstr "不推荐新手使用。" + +msgid "Location of the Privoxy User Manual." +msgstr "Privoxy用户手册位置" + +msgid "Log File Viewer" +msgstr "日志查看器" + +msgid "Log all data read from the network" +msgstr "记录所有从网络接收的数据" + +msgid "Log all data written to the network" +msgstr "记录所有发送给网络的数据" + +msgid "Log the applying actions" +msgstr "记录被应用的规则" + +msgid "" +"Log the destination for each request Privoxy let through. See also 'Debug " +"1024'." +msgstr "记录Privoxy所允许的所有请求。另请参考'Debug 1024'。" + +msgid "" +"Log the destination for requests Privoxy didn't let through, and the reason " +"why." +msgstr "记录被Privoxy拒绝的请求目标以及拒绝原因。" + +msgid "Logging" +msgstr "日志" + +msgid "Main actions file" +msgstr "主要规则文件" + +msgid "Mandatory Input: No Data given!" +msgstr "必需选项: 没有设置数据!" + +msgid "Mandatory Input: No Directory given!" +msgstr "必需选项: 没有设置目录!" + +msgid "Mandatory Input: No File given!" +msgstr "必需选项: 没有设置文件!" + +msgid "Mandatory Input: No Port given!" +msgstr "必需选项: 没有设置端口!" + +msgid "Mandatory Input: No files given!" +msgstr "必需选项: 没有设置文件!" + +msgid "Mandatory Input: No valid IPv4 address or host given!" +msgstr "必需选项: 没有设置有效的IPV4地址或者主机!" + +msgid "Mandatory Input: No valid IPv6 address given!" +msgstr "必需选项: 没有设置有效的IPV6地址!" + +msgid "Mandatory Input: No valid Port given!" +msgstr "必需选项: 没有设置有效的端口!" + +msgid "Maximum number of client connections that will be served." +msgstr "客户端数量上限。" + +msgid "Maximum size (in KB) of the buffer for content filtering." +msgstr "内容过滤的最大缓冲(单位KB)。" + +msgid "Miscellaneous" +msgstr "杂项" + +msgid "NOT installed" +msgstr "" + +msgid "No trailing '/', please." +msgstr "路径结尾不要加'/' ." + +msgid "Non-fatal errors - *we highly recommended enabling this*" +msgstr "非致命性错误 - * 建议开启 *" + +msgid "" +"Number of seconds after which a socket times out if no data is received." +msgstr "socket连接未收到数据的超时时间。" + +msgid "" +"Number of seconds after which an open connection will no longer be reused." +msgstr "一个开放的连接不再重复使用的超时时间。" + +msgid "" +"Only when using 'external filters', Privoxy has to create temporary files." +msgstr "只有使用外置规则时,privoxy才需要创建临时文件。" + +msgid "Please install current version !" +msgstr "" + +msgid "Please press [Read] button" +msgstr "请点击[读取]按钮" + +msgid "Please read Privoxy manual for details!" +msgstr "请阅读Privoxy手册以了解详情!" + +msgid "Please update to the current version!" +msgstr "请升级到当前版本!" + +msgid "Privoxy WEB proxy" +msgstr "Privoxy 网络代理" + +msgid "" +"Privoxy can (and normally does) use a number of other files for additional " +"configuration, help and logging. This section of the configuration file " +"tells Privoxy where to find those other files." +msgstr "" +"Privoxy可以使用其他一些文件用于附加设置,帮助和日志。这个区域用来告诉Privoxy" +"从哪里找到这些文件。" + +msgid "" +"Privoxy is a non-caching web proxy with advanced filtering capabilities for " +"enhancing privacy, modifying web page data and HTTP headers, controlling " +"access, and removing ads and other obnoxious Internet junk." +msgstr "" +"Privoxy是一个无缓存的网络代理,具有高级过滤功能,能够修改网页数据和HTTP头,控" +"制访问,移除广告等。" + +msgid "Read / Reread log file" +msgstr "读取/刷新日志文件" + +msgid "Show I/O status" +msgstr "显示 I/O 状态" + +msgid "Show each connection status" +msgstr "显示每个连接的状态" + +msgid "Show header parsing" +msgstr "Show header parsing" + +msgid "Software package '%s' is not installed." +msgstr "" + +msgid "Software package '%s' is outdated." +msgstr "" + +msgid "Start" +msgstr "启动" + +msgid "Start / Stop" +msgstr "启动 / 停止" + +msgid "Start/Stop Privoxy WEB Proxy" +msgstr "启动/停止 Privoxy 网络代理" + +msgid "Startup banner and warnings." +msgstr "启动标语和警告。" + +msgid "Syntax:" +msgstr "格式:" + +msgid "Syntax: Client header names delimited by spaces." +msgstr "格式: Client header names delimited by spaces." + +msgid "Syntax: target_pattern http_parent[:port]" +msgstr "格式: target_pattern http_parent[:port]" + +msgid "Syntax: target_pattern socks_proxy[:port] http_parent[:port]" +msgstr "格式: target_pattern socks_proxy[:port] http_parent[:port]" + +msgid "System" +msgstr "" + +msgid "" +"The actions file(s) to use. Multiple actionsfile lines are permitted, and " +"are in fact recommended!" +msgstr "所使用的规则文件。允许并且推荐使用多个规则文件。" + +msgid "" +"The address and TCP port on which Privoxy will listen for client requests." +msgstr "Privoxy接收客户端请求时监听的地址和TCP端口。" + +msgid "" +"The compression level that is passed to the zlib library when compressing " +"buffered content." +msgstr "使用zlib压缩缓冲内容时的压缩级别。" + +msgid "" +"The directory where all logging takes place (i.e. where the logfile is " +"located)." +msgstr "所有日志所在的目录。" + +msgid "The directory where the other configuration files are located." +msgstr "其他设置文件所在的目录。" + +msgid "" +"The filter files contain content modification rules that use regular " +"expressions." +msgstr "过滤文件包含了使用正则表达式编写的内容修改规则" + +msgid "The hostname shown on the CGI pages." +msgstr "CGI页面显示的主机名。" + +msgid "The log file to use. File name, relative to log directory." +msgstr "日志文件名称,与日志路径相对。" + +msgid "The order in which client headers are sorted before forwarding them." +msgstr "转发数据前,client headers的排序。" + +msgid "" +"The status code Privoxy returns for pages blocked with +handle-as-empty-" +"document." +msgstr "" +"当页面因为handle-as-empty-document规则被阻止时返回的状态码(选上为200 OK,不" +"选上为403 Forbidden)" + +msgid "" +"The trust mechanism is an experimental feature for building white-lists and " +"should be used with care." +msgstr "信任机制是一个实验性的白名单特性,使用时应小心。" + +msgid "" +"The value of this option only matters if the experimental trust mechanism " +"has been activated." +msgstr "只有开启了信任机制时这个选项的值才有效" + +msgid "" +"This option is only there for debugging purposes. It will drastically reduce " +"performance." +msgstr "这个选项仅用于调试,开启后会极大地降低性能。" + +msgid "" +"This option will be removed in future releases as it has been obsoleted by " +"the more general header taggers." +msgstr "这个选项在以后的版本中将被移除,因为它被header taggers所取代了。" + +msgid "" +"This tab controls the security-relevant aspects of Privoxy's configuration." +msgstr "这个标签用于设置与安全相关的Privoxy选项。" + +msgid "" +"Through which SOCKS proxy (and optionally to which parent HTTP proxy) " +"specific requests should be routed." +msgstr "指定的请求应该通过哪一个SOCKS代理(并且通过哪一个HTTP父代理,可选)" + +msgid "To which parent HTTP proxy specific requests should be routed." +msgstr "请求应转发至哪一个父级HTTP代理。" + +msgid "User customizations" +msgstr "用户自定义" + +msgid "Value is not a number" +msgstr "输入值不是数字" + +msgid "Value not between 0 and 300" +msgstr "" + +msgid "Value not between 0 and 9" +msgstr "输入值不在0和9之间。" + +msgid "Value not between 1 and 4096" +msgstr "输入值不在1和4096之间" + +msgid "Value not greater 0 or empty" +msgstr "输入值为空或者不是大于零。" + +msgid "Value range 1 to 4096, no entry defaults to 4096" +msgstr "输入值为1到4096,默认为4096" + +msgid "Version" +msgstr "版本" + +msgid "Version Information" +msgstr "版本信息" + +msgid "Whether intercepted requests should be treated as valid." +msgstr "被拦截的请求是否应被当作有效的。" + +msgid "" +"Whether or not Privoxy recognizes special HTTP headers to change toggle " +"state." +msgstr "Privoxy是否识别特殊的HTTP头以切换状态。" + +msgid "Whether or not buffered content is compressed before delivery." +msgstr "缓冲内容在传递之前是否压缩。" + +msgid "" +"Whether or not outgoing connections that have been kept alive should be " +"shared between different incoming connections." +msgstr "持久出站连接是否应在不同的入站连接之间共享。" + +msgid "Whether or not pipelined requests should be served." +msgstr "是否处理管道化的请求。" + +msgid "Whether or not proxy authentication through Privoxy should work." +msgstr "是否可以通过Privoxy进行代理验证。" + +msgid "Whether or not the web-based actions file editor may be used." +msgstr "是否使用基于网页的规则编辑器。" + +msgid "Whether or not the web-based toggle feature may be used." +msgstr "是否启用基于网页的切换功能。" + +msgid "Whether requests to Privoxy's CGI pages can be blocked or redirected." +msgstr "访问Privoxy CGI页面的请求是否可以被拦截或重定向。" + +msgid "" +"Whether the CGI interface should stay compatible with broken HTTP clients." +msgstr "CGI界面是否应兼容过时的HTTP客户端。" + +msgid "Whether to run only one server thread." +msgstr "是否只运行一个服务线程。" + +msgid "Who can access what." +msgstr "谁可以访问什么。" + +msgid "installed" +msgstr "已安装" + +msgid "or higher" +msgstr "或更高" + +msgid "required" +msgstr "需要" + +#~ msgid "Local Set-up" +#~ msgstr "本地设置" + +#~ msgid "Software update required" +#~ msgstr "需要升级软件" + +#~ msgid "" +#~ "The currently installed 'privoxy' package is not supported by LuCI " +#~ "application." +#~ msgstr "目前安装的privoxy版本不被luci支持。" diff --git a/applications/luci-app-radvd/Makefile b/applications/luci-app-radvd/Makefile index 9b353ed596..214205683a 100644 --- a/applications/luci-app-radvd/Makefile +++ b/applications/luci-app-radvd/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org> +# Copyright (C) 2008-2016 The LuCI Team <luci@lists.subsignal.org> # # This is free software, licensed under the Apache License, Version 2.0 . # @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Support for Radvd -LUCI_DEPENDS:=+radvd +LUCI_DEPENDS:=+radvd @BROKEN include ../../luci.mk diff --git a/applications/luci-app-rp-pppoe-server/Makefile b/applications/luci-app-rp-pppoe-server/Makefile new file mode 100644 index 0000000000..6cf4595cea --- /dev/null +++ b/applications/luci-app-rp-pppoe-server/Makefile @@ -0,0 +1,15 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Roaring Penguing PPPoE Server +LUCI_DEPENDS:=+rp-pppoe-server + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua b/applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua new file mode 100644 index 0000000000..105a80e28d --- /dev/null +++ b/applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua @@ -0,0 +1,13 @@ +-- Copyright 2015 Daniel Dickinson <openwrt@daniel.thecshore.com> +-- Licensed to the public under the Apache License 2.0. + +module("luci.controller.rp-pppoe-server", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/pppoe") then + return + end + + entry({"admin", "services", "rp-pppoe-server"}, cbi("rp-pppoe-server"), _("RP PPPoE Server")) +end + diff --git a/applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua b/applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua new file mode 100644 index 0000000000..ef15ed6127 --- /dev/null +++ b/applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua @@ -0,0 +1,72 @@ +-- Copyright 2015 Daniel Dickinson <openwrt@daniel.thecshore.com> +-- Licensed to the public under the Apache License 2.0. + +local m, s, o + +local nixio = require "nixio" + +m = Map("pppoe", translate("Roaring Penguin PPPoE Server"), + translate("PPPoE Server Configuration")) + +s = m:section(TypedSection, "pppoe_server", translate("Server Configuration")) +s.addremove = false +s.anonymous = true + +o = s:option(Value, "interface", translate("Interface"), translate("Interface on which to listen.")) +o.template = "cbi/network_ifacelist" +o.nocreate = true + +o = s:option(Value, "ac_name", translate("Access Concentrator Name")) +o.optional = true + +o = s:option(DynamicList, "service_name", translate("Service Name")) +o.optional = true + +o = s:option(Value, "maxsessionsperpeer", translate("Maximum sessions per peer")) +o.optional = true +o.datatype = "uinteger" + +o = s:option(Value, "localip", translate("IP of listening side")) +o.datetype = "ipaddr" + +o = s:option(Value, "firstremoteip", translate("First remote IP")) +o.datatype = "ipaddr" + +o = s:option(Value, "maxsessions", translate("Maximum sessions")) +o.datatype = "uinteger" +o.default = 64 +o.optional = true + +o = s:option(Value, "optionsfile", translate("Options file")) +o.default = "/etc/ppp/pppoe-server-options" +o.optional = true + +o = s:option(Flag, "randomsessions", translate("Random session selection"), translate("Instead of starting at beginning and going to end, randomize session number")) +o.optional = true + +o = s:option(Value, "unit", translate("Unit"), translate("PPP unit number")) +o.optional = true +o.datatype = "uinteger" +o.default = 0 + +o = s:option(Value, "offset", translate("Offset"), translate("PPP offset")) +o.optional = true +o.datatype = "uinteger" +o.default = 0 + +o = s:option(Value, "timeout", translate("Timeout")) +o.optional = true +o.datatype = "uinteger" +o.default = 60 + +o = s:option(Value, "mss", translate("MSS")) +o.optional = true +o.datatype = "uinteger" +o.default = 1468 + + +o = s:option(Flag, "sync", translate("Sync")) +o.optional = true +o.default = false + +return m diff --git a/applications/luci-app-splash/Makefile b/applications/luci-app-splash/Makefile index 345f8910ff..5740aa5f7c 100644 --- a/applications/luci-app-splash/Makefile +++ b/applications/luci-app-splash/Makefile @@ -9,6 +9,12 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=Freifunk DHCP-Splash application LUCI_DEPENDS:=+luci-lib-nixio +tc +kmod-sched +iptables-mod-nat-extra +iptables-mod-ipopt +define Package/luci-app-splash/conffiles +/etc/config/luci_splash +/usr/lib/luci-splash/splashtext.html +/usr/lib/luci-splash/splashtextinclude.html +endef + include ../../luci.mk # call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-statistics/Makefile b/applications/luci-app-statistics/Makefile index af07cfbd02..008792a5d0 100644 --- a/applications/luci-app-statistics/Makefile +++ b/applications/luci-app-statistics/Makefile @@ -9,8 +9,13 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Statistics Application LUCI_DEPENDS:= \ +collectd +rrdtool1 +collectd-mod-rrdtool +collectd-mod-iwinfo \ + +collectd-mod-cpu +collectd-mod-memory \ +collectd-mod-interface +collectd-mod-load +collectd-mod-network +define Package/luci-app-statistics/conffiles +/etc/config/luci_statistics +endef + include ../../luci.mk # call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua index 3f26aeed6f..36c5554d35 100644 --- a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua +++ b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua @@ -25,6 +25,7 @@ function index() conntrack = _("Conntrack"), cpu = _("Processor"), + cpufreq = _("CPU Frequency"), csv = _("CSV Output"), df = _("Disk Space Usage"), disk = _("Disk Usage"), @@ -49,6 +50,7 @@ function index() sensors = _("Sensors"), splash_leases = _("Splash Leases"), tcpconns = _("TCP Connections"), + thermal = _("Thermal"), unixsock = _("UnixSock"), uptime = _("Uptime") } @@ -56,8 +58,12 @@ function index() -- our collectd menu local collectd_menu = { output = { "csv", "network", "rrdtool", "unixsock" }, - general = { "cpu", "df", "disk", "email", "entropy", "exec", "irq", "load", "memory", "nut", "processes", "sensors", "uptime" }, - network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "openvpn", "ping", "splash_leases", "tcpconns", "iwinfo" } + general = { "cpu", "cpufreq", "df", "disk", "email", + "entropy", "exec", "irq", "load", "memory", + "nut", "processes", "sensors", "thermal", "uptime" }, + network = { "conntrack", "dns", "interface", "iptables", + "netlink", "olsrd", "openvpn", "ping", + "splash_leases", "tcpconns", "iwinfo" } } -- create toplevel menu nodes diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua new file mode 100644 index 0000000000..d1116630b4 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/cpufreq.lua @@ -0,0 +1,14 @@ +-- Licensed to the public under the Apache License 2.0. + +m = Map("luci_statistics", + translate("CPU Frequency Plugin Configuration"), + translate("This plugin collects statistics about the processor frequency scaling.")) + +-- collectd_cpufreq config section +s = m:section( NamedSection, "collectd_cpufreq", "luci_statistics" ) + +-- collectd_cpufreq.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua index b3bdf874c8..f31fb20938 100644 --- a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/rrdtool.lua @@ -47,10 +47,16 @@ heartbeat:depends( "enable", 1 ) rrasingle = s:option( Flag, "RRASingle", translate("Only create average RRAs"), translate("reduces rrd size") ) rrasingle.default = true -rrasingle.rmempty = true -rrasingle.optional = true rrasingle:depends( "enable", 1 ) +-- collectd_rrdtool.rramax (RRAMax) +rramax = s:option( Flag, "RRAMax", + translate("Show max values instead of averages"), + translate("Max values for a period can be used instead of averages when not using 'only average RRAs'") ) +rramax.default = false +rramax.rmempty = true +rramax:depends( "RRASingle", 0 ) + -- collectd_rrdtool.rratimespans (RRATimespan) rratimespans = s:option( Value, "RRATimespans", translate("Stored timespans"), translate("seconds; multiple separated by space") ) diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua new file mode 100644 index 0000000000..bdf41b79bc --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/thermal.lua @@ -0,0 +1,29 @@ +-- Licensed to the public under the Apache License 2.0. + +m = Map("luci_statistics", + translate("Thermal Plugin Configuration"), + translate("The thermal plugin will monitor temperature of the system. " .. + "Data is typically read from /sys/class/thermal/*/temp " .. + "( '*' denotes the thermal device to be read, e.g. thermal_zone1 )") + ) + +-- collectd_thermal config section +s = m:section( NamedSection, "collectd_thermal", "luci_statistics" ) + +-- collectd_thermal.enable +enable = s:option( Flag, "enable", translate("Enable this plugin") ) +enable.default = 0 + +-- collectd_thermal.tz (Device) +tz = s:option( Value, "Device", translate("Monitor device(s) / thermal zone(s)"), + translate("Empty value = monitor all") ) +tz.optional = true +tz:depends( "enable", 1 ) + +-- collectd_thermal.ignoreselected (IgnoreSelected) +ignoreselected = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") ) +ignoreselected.default = 0 +ignoreselected.optional = true +ignoreselected:depends( "enable", 1 ) + +return m diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua index 5d4ad9859d..4e00e7f1fc 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua @@ -25,6 +25,7 @@ function Graph.__init__( self, timespan, opts ) -- options opts.timespan = timespan or sections.rrdtool.default_timespan or 900 opts.rrasingle = opts.rrasingle or ( sections.collectd_rrdtool.RRASingle == "1" ) + opts.rramax = opts.rramax or ( sections.collectd_rrdtool.RRAMax == "1" ) opts.host = opts.host or sections.collectd.Hostname or luci.sys.hostname() opts.width = opts.width or sections.rrdtool.image_width or 400 opts.rrdpath = opts.rrdpath or sections.collectd_rrdtool.DataDir or "/tmp/rrd" @@ -171,16 +172,29 @@ function Graph._generic( self, opts, plugin, plugin_instance, dtype, index ) -- is first source in stack or overlay source: source_stk = source_nnl if not prev or source.overlay then + if self.opts.rrasingle or not self.opts.rramax then -- create cdef statement for cumulative stack (no NaNs) and also -- for display (preserving NaN where no points should be displayed) _tif( _args, "CDEF:%s_stk=%s_nnl", source.sname, source.sname ) _tif( _args, "CDEF:%s_plot=%s_avg", source.sname, source.sname ) + else + -- create cdef statement for cumulative stack (no NaNs) and also + -- for display (preserving NaN where no points should be displayed) + _tif( _args, "CDEF:%s_stk=%s_nnl", source.sname, source.sname ) + _tif( _args, "CDEF:%s_plot=%s_max", source.sname, source.sname ) + end -- is subsequent source without overlay: source_stk = source_nnl + previous_stk else + if self.opts.rrasingle or not self.opts.rramax then -- create cdef statement _tif( _args, "CDEF:%s_stk=%s_nnl,%s_stk,+", source.sname, source.sname, prev ) _tif( _args, "CDEF:%s_plot=%s_avg,%s_stk,+", source.sname, source.sname, prev ) + else + -- create cdef statement + _tif( _args, "CDEF:%s_stk=%s_nnl,%s_stk,+", source.sname, source.sname, prev ) + _tif( _args, "CDEF:%s_plot=%s_max,%s_stk,+", source.sname, source.sname, prev ) + end end -- create multiply by minus one cdef if flip is enabled diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua new file mode 100644 index 0000000000..25a72d2285 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/cpufreq.lua @@ -0,0 +1,25 @@ +-- Licensed to the public under the Apache License 2.0. + +module("luci.statistics.rrdtool.definitions.cpufreq",package.seeall) + +function rrdargs( graph, plugin, plugin_instance, dtype ) + + return { + title = "%H: Processor frequency", + alt_autoscale = true, + vlabel = "Frequency (Hz)", + number_format = "%3.2lf%s", + data = { + sources = { + cpufreq = { "" } + }, + options = { + cpufreq_0 = { color = "ff0000", title = "Core 0", noarea=true, overlay=true }, + cpufreq_1 = { color = "0000ff", title = "Core 1", noarea=true, overlay=true }, + cpufreq_2 = { color = "00ff00", title = "Core 2", noarea=true, overlay=true }, + cpufreq_3 = { color = "00ffff", title = "Core 3", noarea=true, overlay=true } + } + } + } +end + diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/df.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/df.lua index 78c9ef5044..fbc3884b46 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/df.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/df.lua @@ -6,27 +6,33 @@ module("luci.statistics.rrdtool.definitions.df", package.seeall) function rrdargs( graph, plugin, plugin_instance, dtype ) return { - title = "%H: Disk space usage on %di", + title = "%H: Disk space usage on %pi", vlabel = "Bytes", per_instance = true, number_format = "%5.1lf%sB", data = { - sources = { - df = { "free", "used" } + instances = { + df_complex = { "free", "used", "reserved" } }, options = { - df__free = { + df_complex_free = { color = "00ff00", overlay = false, title = "free" }, - df__used = { + df_complex_used = { color = "ff0000", overlay = false, title = "used" + }, + + df_complex_reserved = { + color = "0000ff", + overlay = false, + title = "reserved" } } } diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua index 8b04ab8b38..dd93196902 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua @@ -32,23 +32,24 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) options = { current_output = { color = "00e000", title = "Output current", noarea=true, overlay=true }, - current_battery = { color = "0000ff", title = "Battery current", noarea=true, overlay=true }, + current_battery = { color = "0000ff", title = "Battery current", noarea=true, overlay=true } } } } local percentage = { - title = "%H: Battery charge on UPS \"%pi\"", + title = "%H: Battery charge/load on UPS \"%pi\"", vlabel = "Percent", y_min = "0", y_max = "100", number_format = "%5.1lf%%", data = { instances = { - percent = "charge" + percent = { "charge", "load" } }, options = { - percent_charge = { color = "00ff00", title = "Charge level" } + percent_charge = { color = "00ff00", title = "Charge level" }, + percent_load = { color = "ff0000", title = "Load" } } } } @@ -78,10 +79,39 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) timeleft = { "battery" } }, options = { - timeleft_battery = { color = "0000ff", title = "Time left", transform_rpn = "60,/" } + timeleft_battery = { color = "0000ff", title = "Time left", transform_rpn = "60,/", noarea=true } } } } - return { voltages, currents, percentage, temperature, timeleft } + local power = { + title = "%H: Power on UPS \"%pi\"", + vlabel = "Power", + number_format = "%5.1lf%%", + data = { + instances = { + power = { "ups" } + }, + options = { + power_ups = { color = "00ff00", title = "Power level" } + } + } + } + + local frequencies = { + title = "%H: Frequencies on UPS \"%pi\"", + vlabel = "Hz", + number_format = "%5.1lfHz", + data = { + instances = { + frequency = { "input", "output" } + }, + + options = { + frequency_output = { color = "00e000", title = "Output frequency", noarea=true, overlay=true }, + frequency_input = { color = "ffb000", title = "Input frequency", noarea=true, overlay=true } + } + } + } + return { voltages, currents, percentage, temperature, timeleft, power, frequencies } end diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua new file mode 100644 index 0000000000..532246465e --- /dev/null +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/thermal.lua @@ -0,0 +1,20 @@ +-- Licensed to the public under the Apache License 2.0. + +module("luci.statistics.rrdtool.definitions.thermal",package.seeall) + +function rrdargs( graph, plugin, plugin_instance, dtype ) + + return { + title = "%H: Temperature of %pi", + alt_autoscale = true, + vlabel = "Celsius", + number_format = "%3.1lf%s", + data = { + types = { "temperature" }, + options = { + temperature = { color = "ff0000", title = "Temperature", noarea=true }, + } + } + } +end + diff --git a/applications/luci-app-statistics/po/ca/statistics.po b/applications/luci-app-statistics/po/ca/statistics.po index 5ccaa4a409..2c648ceca9 100644 --- a/applications/luci-app-statistics/po/ca/statistics.po +++ b/applications/luci-app-statistics/po/ca/statistics.po @@ -245,6 +245,11 @@ msgstr "Interfícies que reben connexions" msgid "Load Plugin Configuration" msgstr "Configuració de connector de càrrega" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Connexions màximes permeses" @@ -413,6 +418,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Monitoreig de classe shaping" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Fitxer d'endoll" diff --git a/applications/luci-app-statistics/po/cs/statistics.po b/applications/luci-app-statistics/po/cs/statistics.po index bfa1b899ba..2a725461e7 100644 --- a/applications/luci-app-statistics/po/cs/statistics.po +++ b/applications/luci-app-statistics/po/cs/statistics.po @@ -240,6 +240,11 @@ msgstr "Rozhraní naslouchajícího" msgid "Load Plugin Configuration" msgstr "Načíst nastavení pluginů" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Maximální množství povolených spojení" @@ -409,6 +414,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Soubor socketu" diff --git a/applications/luci-app-statistics/po/de/statistics.po b/applications/luci-app-statistics/po/de/statistics.po index 91baf0e064..51697bfd5e 100644 --- a/applications/luci-app-statistics/po/de/statistics.po +++ b/applications/luci-app-statistics/po/de/statistics.po @@ -247,6 +247,11 @@ msgstr "Listen-Schnittstelle" msgid "Load Plugin Configuration" msgstr "Load Plugin Konfiguration" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Maximale Anzahl erlaubter Verbindungen" @@ -415,6 +420,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Shapingklassen überwachen" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Socket-Datei" diff --git a/applications/luci-app-statistics/po/el/statistics.po b/applications/luci-app-statistics/po/el/statistics.po index 746284f8d8..3388ea510e 100644 --- a/applications/luci-app-statistics/po/el/statistics.po +++ b/applications/luci-app-statistics/po/el/statistics.po @@ -238,6 +238,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -406,6 +411,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/en/statistics.po b/applications/luci-app-statistics/po/en/statistics.po index 79f710c97a..fe1f8beb96 100644 --- a/applications/luci-app-statistics/po/en/statistics.po +++ b/applications/luci-app-statistics/po/en/statistics.po @@ -243,6 +243,11 @@ msgstr "Listener interfaces" msgid "Load Plugin Configuration" msgstr "Load Plugin Configuration" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Maximum allowed connections" @@ -411,6 +416,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Shaping class monitoring" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/es/statistics.po b/applications/luci-app-statistics/po/es/statistics.po index 7067710f13..0d47b659c4 100644 --- a/applications/luci-app-statistics/po/es/statistics.po +++ b/applications/luci-app-statistics/po/es/statistics.po @@ -242,6 +242,11 @@ msgstr "Interfaces para escuchar" msgid "Load Plugin Configuration" msgstr "Configuración del plugin de carga" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Máximo número de conexiones" @@ -410,6 +415,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Monitorización de la clase shaping" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Fichero de sockets" diff --git a/applications/luci-app-statistics/po/fr/statistics.po b/applications/luci-app-statistics/po/fr/statistics.po index 194a220480..b7ace0cac1 100644 --- a/applications/luci-app-statistics/po/fr/statistics.po +++ b/applications/luci-app-statistics/po/fr/statistics.po @@ -244,6 +244,11 @@ msgstr "Interfaces en écoute" msgid "Load Plugin Configuration" msgstr "Configuration du greffon de charge-système" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Nb de Connexions autorisées au maximum" @@ -412,6 +417,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Surveillance liées à la priorité" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/he/statistics.po b/applications/luci-app-statistics/po/he/statistics.po index 10e8a12688..a5da218a25 100644 --- a/applications/luci-app-statistics/po/he/statistics.po +++ b/applications/luci-app-statistics/po/he/statistics.po @@ -233,6 +233,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -401,6 +406,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/hu/statistics.po b/applications/luci-app-statistics/po/hu/statistics.po index 5d384144bd..bf4dd53a0e 100644 --- a/applications/luci-app-statistics/po/hu/statistics.po +++ b/applications/luci-app-statistics/po/hu/statistics.po @@ -245,6 +245,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "Terhelés bővítmény beállítása" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Megengedett kapcsolatok maximális száma" @@ -413,6 +418,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Socket fájlok" diff --git a/applications/luci-app-statistics/po/it/statistics.po b/applications/luci-app-statistics/po/it/statistics.po index ab5a783b37..1313336120 100644 --- a/applications/luci-app-statistics/po/it/statistics.po +++ b/applications/luci-app-statistics/po/it/statistics.po @@ -243,6 +243,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -411,6 +416,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/ja/statistics.po b/applications/luci-app-statistics/po/ja/statistics.po index 7ee9ae0846..7469fe68ab 100644 --- a/applications/luci-app-statistics/po/ja/statistics.po +++ b/applications/luci-app-statistics/po/ja/statistics.po @@ -233,6 +233,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -401,6 +406,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/ms/statistics.po b/applications/luci-app-statistics/po/ms/statistics.po index 02dfae9eef..3f32b633bc 100644 --- a/applications/luci-app-statistics/po/ms/statistics.po +++ b/applications/luci-app-statistics/po/ms/statistics.po @@ -230,6 +230,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -398,6 +403,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/no/statistics.po b/applications/luci-app-statistics/po/no/statistics.po index c4300bc445..945fa79b12 100644 --- a/applications/luci-app-statistics/po/no/statistics.po +++ b/applications/luci-app-statistics/po/no/statistics.po @@ -232,6 +232,11 @@ msgstr "Lyttende grensesnitt" msgid "Load Plugin Configuration" msgstr "Belastning plugin konfigurasjon" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Maksimum tillatte tilkoblinger" @@ -400,6 +405,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Shaping class overvåking" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/pl/statistics.po b/applications/luci-app-statistics/po/pl/statistics.po index d352bedb26..f8176b657a 100644 --- a/applications/luci-app-statistics/po/pl/statistics.po +++ b/applications/luci-app-statistics/po/pl/statistics.po @@ -246,6 +246,11 @@ msgstr "Interfejsy nasłuchującego" msgid "Load Plugin Configuration" msgstr "Konfiguracja wtyczki Obciążenie" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Maksymalna ilość połączeń" @@ -414,6 +419,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Shaping Klasa Monitoring" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Plik Gniazdo" diff --git a/applications/luci-app-statistics/po/pt-br/statistics.po b/applications/luci-app-statistics/po/pt-br/statistics.po index 9abba4975b..92213a8cef 100644 --- a/applications/luci-app-statistics/po/pt-br/statistics.po +++ b/applications/luci-app-statistics/po/pt-br/statistics.po @@ -246,6 +246,11 @@ msgstr "Escutar na(s) interface(s)" msgid "Load Plugin Configuration" msgstr "Configuração do plugin carga" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Máximo de conexões permitidas" @@ -414,6 +419,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Monitoramento das Classes de Shaping" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Arquivo do socket" diff --git a/applications/luci-app-statistics/po/pt/statistics.po b/applications/luci-app-statistics/po/pt/statistics.po index 34b435c5d1..e215df87d2 100644 --- a/applications/luci-app-statistics/po/pt/statistics.po +++ b/applications/luci-app-statistics/po/pt/statistics.po @@ -245,6 +245,11 @@ msgstr "Escutar na(s) interface(s)" msgid "Load Plugin Configuration" msgstr "Configuração do plugin carga" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Máximo de conexões permitidas" @@ -413,6 +418,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Monitoramento das Classes de Shaping" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/ro/statistics.po b/applications/luci-app-statistics/po/ro/statistics.po index 7990970d20..a8042b435c 100644 --- a/applications/luci-app-statistics/po/ro/statistics.po +++ b/applications/luci-app-statistics/po/ro/statistics.po @@ -237,6 +237,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -405,6 +410,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/ru/statistics.po b/applications/luci-app-statistics/po/ru/statistics.po index d41248f8a5..41f8110823 100644 --- a/applications/luci-app-statistics/po/ru/statistics.po +++ b/applications/luci-app-statistics/po/ru/statistics.po @@ -247,6 +247,11 @@ msgstr "Использовать интерфейсы" msgid "Load Plugin Configuration" msgstr "Конфигурация модуля Load" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Максимальное число соединений" @@ -417,6 +422,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Мониторинг классов шейпинга" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Файл сокета" diff --git a/applications/luci-app-statistics/po/sk/statistics.po b/applications/luci-app-statistics/po/sk/statistics.po index e0400c2fde..c8100e3e77 100644 --- a/applications/luci-app-statistics/po/sk/statistics.po +++ b/applications/luci-app-statistics/po/sk/statistics.po @@ -228,6 +228,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -396,6 +401,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/sv/statistics.po b/applications/luci-app-statistics/po/sv/statistics.po index bbc7b77856..a7443b3077 100644 --- a/applications/luci-app-statistics/po/sv/statistics.po +++ b/applications/luci-app-statistics/po/sv/statistics.po @@ -233,6 +233,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "Konfiguration av insticksprogrammet Load" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Maximalt tillåtna anslutningar" @@ -401,6 +406,9 @@ msgstr "Installera" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "Socketfil" diff --git a/applications/luci-app-statistics/po/templates/statistics.pot b/applications/luci-app-statistics/po/templates/statistics.pot index 2b4ba7fbc2..c07f4dc4ad 100644 --- a/applications/luci-app-statistics/po/templates/statistics.pot +++ b/applications/luci-app-statistics/po/templates/statistics.pot @@ -221,6 +221,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -389,6 +394,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/tr/statistics.po b/applications/luci-app-statistics/po/tr/statistics.po index 505b5a16b9..235ad1cc0a 100644 --- a/applications/luci-app-statistics/po/tr/statistics.po +++ b/applications/luci-app-statistics/po/tr/statistics.po @@ -229,6 +229,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -397,6 +402,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/uk/statistics.po b/applications/luci-app-statistics/po/uk/statistics.po index ee5ea8f35f..0be5b367b5 100644 --- a/applications/luci-app-statistics/po/uk/statistics.po +++ b/applications/luci-app-statistics/po/uk/statistics.po @@ -234,6 +234,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -402,6 +407,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/vi/statistics.po b/applications/luci-app-statistics/po/vi/statistics.po index 28bc8b4bc6..ef99e551ad 100644 --- a/applications/luci-app-statistics/po/vi/statistics.po +++ b/applications/luci-app-statistics/po/vi/statistics.po @@ -244,6 +244,11 @@ msgstr "Giao diện listener" msgid "Load Plugin Configuration" msgstr "Tải cấu hình plugin" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "Tối đã kết nối cho phép" @@ -412,6 +417,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "Shaping class monitoring" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/po/zh-cn/statistics.po b/applications/luci-app-statistics/po/zh-cn/statistics.po index 4714ab5e80..7b3bbfc0c6 100644 --- a/applications/luci-app-statistics/po/zh-cn/statistics.po +++ b/applications/luci-app-statistics/po/zh-cn/statistics.po @@ -239,6 +239,11 @@ msgstr "监听接口" msgid "Load Plugin Configuration" msgstr "Load插件配置" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "最大允许连接数" @@ -407,6 +412,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "整形类监控" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "套接字文件" diff --git a/applications/luci-app-statistics/po/zh-tw/statistics.po b/applications/luci-app-statistics/po/zh-tw/statistics.po index 367f567245..9a9ca34a1a 100644 --- a/applications/luci-app-statistics/po/zh-tw/statistics.po +++ b/applications/luci-app-statistics/po/zh-tw/statistics.po @@ -227,6 +227,11 @@ msgstr "" msgid "Load Plugin Configuration" msgstr "" +msgid "" +"Max values for a period can be used instead of averages when not using 'only " +"average RRAs'" +msgstr "" + msgid "Maximum allowed connections" msgstr "" @@ -395,6 +400,9 @@ msgstr "" msgid "Shaping class monitoring" msgstr "" +msgid "Show max values instead of averages" +msgstr "" + msgid "Socket file" msgstr "" diff --git a/applications/luci-app-statistics/root/etc/config/luci_statistics b/applications/luci-app-statistics/root/etc/config/luci_statistics index de16f29de9..774a8382e2 100644 --- a/applications/luci-app-statistics/root/etc/config/luci_statistics +++ b/applications/luci-app-statistics/root/etc/config/luci_statistics @@ -53,6 +53,9 @@ config statistics 'collectd_conntrack' option enable '0' config statistics 'collectd_cpu' + option enable '1' + +config statistics 'collectd_cpufreq' option enable '0' config statistics 'collectd_df' @@ -113,7 +116,7 @@ config statistics 'collectd_load' option enable '1' config statistics 'collectd_memory' - option enable '0' + option enable '1' config statistics 'collectd_netlink' option enable '0' @@ -151,6 +154,11 @@ config statistics 'collectd_tcpconns' option ListeningPorts '0' option LocalPorts '22 80' +config statistics 'collectd_thermal' + option enable '0' + option IgnoreSelected '0' + option Device '' + config statistics 'collectd_uptime' option enable '0' diff --git a/applications/luci-app-statistics/root/usr/bin/stat-genconfig b/applications/luci-app-statistics/root/usr/bin/stat-genconfig index 49d8a09935..df9af15261 100755 --- a/applications/luci-app-statistics/root/usr/bin/stat-genconfig +++ b/applications/luci-app-statistics/root/usr/bin/stat-genconfig @@ -273,6 +273,12 @@ plugins = { { } }, + cpufreq = { + { }, + { }, + { } + }, + csv = { { "DataDir" }, { "StoreRates" }, @@ -417,6 +423,12 @@ plugins = { { "LocalPorts", "RemotePorts" } }, + thermal = { + { }, + { "IgnoreSelected" }, + { "Device" } + }, + unixsock = { { "SocketFile", "SocketGroup", "SocketPerms" }, { }, diff --git a/applications/luci-app-transmission/Makefile b/applications/luci-app-transmission/Makefile index 45175b7d17..668c73185b 100644 --- a/applications/luci-app-transmission/Makefile +++ b/applications/luci-app-transmission/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org> +# Copyright (C) 2008-2016 The LuCI Team <luci@lists.subsignal.org> # # This is free software, licensed under the Apache License, Version 2.0 . # @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Support for Transmission -LUCI_DEPENDS:=+transmission-daemon +LUCI_DEPENDS:= include ../../luci.mk diff --git a/applications/luci-app-travelmate/Makefile b/applications/luci-app-travelmate/Makefile new file mode 100644 index 0000000000..f4b1b0a4e3 --- /dev/null +++ b/applications/luci-app-travelmate/Makefile @@ -0,0 +1,13 @@ +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for Travelmate +LUCI_DEPENDS:=+travelmate +LUCI_PKGARCH:=all + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua new file mode 100644 index 0000000000..27c19c4e52 --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua @@ -0,0 +1,11 @@ +-- Licensed to the public under the Apache License 2.0. + +module("luci.controller.travelmate", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/travelmate") then + return + end + + entry({"admin", "services", "travelmate"}, cbi("travelmate"), _("Travelmate"), 60) +end diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua new file mode 100644 index 0000000000..9050ae9686 --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua @@ -0,0 +1,53 @@ +-- Licensed to the public under the Apache License 2.0. + +m = Map("travelmate", translate("Travelmate"), + translate("Configuration of the Travelmate package to enable travel router functionality. ") .. [[</p>]] .. + translate("Brief advice: Create a wwan interface, configure it to use dhcp and " .. + "add it to the wan zone in firewall. Create the wifi interfaces to be used ('client' mode, " .. + "assigned to wwan network, left as disabled). Travelmate will try " .. + "to connect to the known wifi client interfaces in the defined order. ") .. + [[<a href="https://github.com/openwrt/packages/tree/master/net/travelmate/files/README.md" target="_blank">]] + .. translate("Link to detailed advice") + .. [[</a>]] ) + +-- General options + +s = m:section(NamedSection, "global", "travelmate", translate("Global options")) + +o = s:option(Flag, "trm_enabled", translate("Enable Travelmate")) +o.rmempty = false +o.default = 0 + +o = s:option(Value, "trm_loop", translate("Loop timeout in seconds for wlan monitoring"), + translate("Default 30, range 5-60")) +o.rmempty = false +o.default = 30 +o.datatype = "range(5,60)" + +o = s:option(Value, "trm_maxretry", translate("Max. number of connection retries to an uplink"), + translate("Default 3, range 0-10. Set to 0 to allow unlimited retries")) +o.rmempty = false +o.default = 3 +o.datatype = "range(0,10)" + +-- Extra options + +e = m:section(NamedSection, "global", "travelmate", translate("Extra options")) + +a = e:option(Flag, "trm_debug", translate("Debug logging")) +a.rmempty = true +a.default = a.disabled + +a = e:option(Value, "trm_device", translate("Use only one radio, e.g. 'radio0'"), + translate("Default: empty = use all radios.")) +a.rmempty = true +a.default = "" +a.datatype = "uciname" + +a = e:option(Flag, "trm_iw", translate("Use iw for scanning"), + translate("Disable this if you want to use iwinfo instead of iw")) +a.rmempty = true +a.default = a.enabled + +return m + diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot new file mode 100644 index 0000000000..533b3e2639 --- /dev/null +++ b/applications/luci-app-travelmate/po/templates/travelmate.pot @@ -0,0 +1,56 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "" +"Brief advice: Create a wwan interface, configure it to use dhcp and add it " +"to the wan zone in firewall. Create the wifi interfaces to be used ('client' " +"mode, assigned to wwan network, left as disabled). Travelmate will try to " +"connect to the known wifi client interfaces in the defined order." +msgstr "" + +msgid "" +"Configuration of the Travelmate package to enable travel router " +"functionality." +msgstr "" + +msgid "Debug logging" +msgstr "" + +msgid "Default 3, range 0-10. Set to 0 to allow unlimited retries" +msgstr "" + +msgid "Default 30, range 5-60" +msgstr "" + +msgid "Default: empty = use all radios." +msgstr "" + +msgid "Disable this if you want to use iwinfo instead of iw" +msgstr "" + +msgid "Enable Travelmate" +msgstr "" + +msgid "Extra options" +msgstr "" + +msgid "Global options" +msgstr "" + +msgid "Link to detailed advice" +msgstr "" + +msgid "Loop timeout in seconds for wlan monitoring" +msgstr "" + +msgid "Max. number of connection retries to an uplink" +msgstr "" + +msgid "Travelmate" +msgstr "" + +msgid "Use iw for scanning" +msgstr "" + +msgid "Use only one radio, e.g. 'radio0'" +msgstr "" diff --git a/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate b/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate new file mode 100755 index 0000000000..f7676774a1 --- /dev/null +++ b/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@travelmate[-1] + add ucitrack travelmate + set ucitrack.@travelmate[-1].init=travelmate + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/applications/luci-app-unbound/Makefile b/applications/luci-app-unbound/Makefile new file mode 100644 index 0000000000..6d953e13b2 --- /dev/null +++ b/applications/luci-app-unbound/Makefile @@ -0,0 +1,14 @@ +# +# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org> +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Unbound Recursive DNS Resolver Configuration +LUCI_DEPENDS:=+unbound + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-unbound/luasrc/controller/unbound.lua b/applications/luci-app-unbound/luasrc/controller/unbound.lua new file mode 100644 index 0000000000..0a5abc5a5e --- /dev/null +++ b/applications/luci-app-unbound/luasrc/controller/unbound.lua @@ -0,0 +1,17 @@ +-- Copyright 2008 Steven Barth <steven@midlink.org> +-- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> +-- Licensed to the public under the Apache License 2.0. + +module("luci.controller.unbound", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/unbound") then + return + end + + local page + + page = entry({"admin", "services", "unbound"}, cbi("unbound"), _("Recursive DNS")) + page.dependent = true +end + diff --git a/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua b/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua new file mode 100644 index 0000000000..22f020021c --- /dev/null +++ b/applications/luci-app-unbound/luasrc/model/cbi/unbound.lua @@ -0,0 +1,123 @@ +-- Copyright 2008 Steven Barth <steven@midlink.org> +-- Copyright 2016 Eric Luehrsen <ericluehrsen@hotmail.com> +-- Licensed to the public under the Apache License 2.0. + +m = Map("unbound", translate("Recursive DNS"), + translate("Unbound is a validating, recursive, and caching DNS resolver.")) + +s = m:section(TypedSection, "unbound", translate("Unbound Settings")) +s.addremove = false +s.anonymous = true + +s:tab("service", translate("Unbound Service")) +s:tab("resource", translate("Unbound Resources")) +s:tab("dnsmasq", translate("Dnsmasq Link")) + +--Enable Unbound + +e = s:taboption("service", Flag, "enabled", translate("Enable Unbound:"), + translate("Enable the initialization scripts for Unbound")) +e.rmempty = false + +function e.cfgvalue(self, section) + return luci.sys.init.enabled("unbound") and self.enabled or self.disabled +end + +function e.write(self, section, value) + if value == "1" then + luci.sys.init.enable("unbound") + luci.sys.call("/etc/init.d/unbound start >/dev/null") + else + luci.sys.call("/etc/init.d/unbound stop >/dev/null") + luci.sys.init.disable("unbound") + end + + return Flag.write(self, section, value) +end + +--Service Tab + +mcf = s:taboption("service", Flag, "manual_conf", translate("Manual Conf:"), + translate("Skip UCI and use /etc/unbound/unbound.conf")) +mcf.rmempty = false + +lsv = s:taboption("service", Flag, "localservice", translate("Local Service:"), + translate("Accept queries only from local subnets")) +lsv.rmempty = false + +qry = s:taboption("service", Flag, "query_minimize", translate("Query Minimize:"), + translate("Break down query components for small added privacy")) +qry.rmempty = false + +rlh = s:taboption("service", Flag, "rebind_localhost", translate("Block Localhost Rebind:"), + translate("Prevent upstream response of 127.0.0.0/8")) +rlh.rmempty = false + +rpv = s:taboption("service", Flag, "rebind_protection", translate("Block Private Rebind:"), + translate("Prevent upstream response of RFC1918 ranges")) +rpv.rmempty = false + +vld = s:taboption("service", Flag, "validator", translate("Enable DNSSEC:"), + translate("Enable the DNSSEC validator module")) +vld.rmempty = false + +nvd = s:taboption("service", Flag, "validator_ntp", translate("DNSSEC NTP Fix:"), + translate("Break the loop where DNSSEC needs NTP and NTP needs DNS")) +nvd.rmempty = false + +eds = s:taboption("service", Value, "edns_size", translate("EDNS Size:"), + translate("Limit extended DNS packet size")) +eds.datatype = "and(uinteger,min(512),max(4096))" +eds.rmempty = false + +prt = s:taboption("service", Value, "listen_port", translate("Listening Port:"), + translate("Choose Unbounds listening port")) +prt.datatype = "port" +prt.rmempty = false + +tlm = s:taboption("service", Value, "ttl_min", translate("TTL Minimum:"), + translate("Prevent excessively short cache periods")) +tlm.datatype = "and(uinteger,min(0),max(600))" +tlm.rmempty = false + +--Resource Tuning Tab + +rsn = s:taboption("resource", ListValue, "recursion", translate("Recursion Strength:"), + translate("Recursion activity affects memory growth and CPU load")) +rsn:value("aggressive", translate("Aggressive")) +rsn:value("default", translate("Default")) +rsn:value("passive", translate("Passive")) +rsn.rmempty = false + +rsc = s:taboption("resource", ListValue, "resource", translate("Memory Resource:"), + translate("Use menu System/Processes to observe any memory growth")) +rsc:value("large", translate("Large")) +rsc:value("medium", translate("Medium")) +rsc:value("small", translate("Small")) +rsc:value("tiny", translate("Tiny")) +rsc.rmempty = false + +age = s:taboption("resource", Value, "root_age", translate("Root DSKEY Age:"), + translate("Limit days between RFC5011 to reduce flash writes")) +age.datatype = "and(uinteger,min(1),max(99))" +age:value("14", "14") +age:value("28", "28 ("..translate("default")..")") +age:value("45", "45") +age:value("90", "90") +age:value("99", "99 ("..translate("never")..")") + +--Dnsmasq Link Tab + +dld = s:taboption("dnsmasq", Flag, "dnsmasq_link_dns", translate("Link dnsmasq:"), + translate("Forward queries to dnsmasq for local clients")) +dld.rmempty = false + +dgn = s:taboption("dnsmasq", Flag, "dnsmsaq_gate_name", translate("Local Gateway Name:"), + translate("Also query dnsmasq for this hosts outbound gateway")) +dgn.rmempty = false + +--TODO: Read only repective dnsmasq options and inform user of link requirements. +--TODO: dnsmasq needs to not reference resolve-file and get off port 53. + +return m + diff --git a/applications/luci-app-wifischedule/Makefile b/applications/luci-app-wifischedule/Makefile new file mode 100644 index 0000000000..1708562a4e --- /dev/null +++ b/applications/luci-app-wifischedule/Makefile @@ -0,0 +1,22 @@ +# Copyright (c) 2016, prpl Foundation +# +# Permission to use, copy, modify, and/or distribute this software for any purpose with or without +# fee is hereby granted, provided that the above copyright notice and this permission notice appear +# in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +# FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# Author: Nils Koenig <openwrt@newk.it> + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Turns WiFi on and off according to a schedule +LUCI_DEPENDS:=+wifischedule + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-wifischedule/README.md b/applications/luci-app-wifischedule/README.md new file mode 100644 index 0000000000..591abb1049 --- /dev/null +++ b/applications/luci-app-wifischedule/README.md @@ -0,0 +1,86 @@ +# wifischedule +Turns WiFi on and off according to a schedule on an openwrt router + +## Components +* wifischedule: Shell script that creates cron jobs based on configuration provided in UCI and does all the other logic of enabling and disabling wifi with the use of `/sbin/wifi` and `/usr/bin/iwinfo`. Can be used standalone. +* luci-app-wifischedule: LUCI frontend for creating the UCI configuration and triggering the actions. Depends on wifischedule. + + +## Use cases +You can create user-defined events when to enable or disable WiFi. +There are various use cases why you would like to do so: + +1. Reduce power consumption and therefore reduce CO2 emissions. +2. Reduce emitted electromagnatic radiation. +3. Force busincess hours when WiFi is available. + +Regarding 1: Please note, that you need to unload the wireless driver modules in order to get the most effect of saving power. +In my test scenario only disabling WiFi saves about ~0.4 Watt, unloading the modules removes another ~0.4 Watt. + +Regarding 2: Think of a wireless accesspoint e.g. in your bedrom, kids room where you want to remove the ammount of radiation emitted. + +Regarding 3: E.g. in a company, why would wireless need to be enabled weekends if no one is there working? +Or think of an accesspoint in your kids room when you want the youngsters to sleep after 10 pm instead of facebooking... + +## Configuration +You can create an arbitrary number of schedule events. Please note that there is on sanity check done wheather the start / stop times overlap or make sense. +If start and stop time are equal, this leads to disabling the WiFi at the given time. + +Logging if enabled is done to the file `/var/log/wifi_schedule.log` and can be reviewed through the "View Logfile" tab. +The cron jobs created can be reviewed through the "View Cron Jobs" tab. + +Please note that the "Unload Modules" function is currently considered as experimental. You can manually add / remove modules in the text field. +The button "Determine Modules Automatically" tries to make a best guess determining regarding the driver module and its dependencies. +When un-/loading the modules, there is a certain number of retries (`module_load`) performed. + +The option "Force disabling wifi even if stations associated" does what it says - when activated it simply shuts down WiFi. +When unchecked, its checked every `recheck_interval` minutes if there are still stations associated. Once the stations disconnect, WiFi is disabled. + +Please note, that the parameters `module_load` and `recheck_interval` are only accessible through uci. + +## UCI Configuration `wifi_schedule` +UCI configuration file: `/etc/config/wifi_schedule`: + +``` +config global + option logging '0' + option enabled '0' + option recheck_interval '10' + option modules_retries '10' + +config entry 'Businesshours' + option enabled '0' + option daysofweek 'Monday Tuesday Wednesday Thursday Friday' + option starttime '06:00' + option stoptime '22:00' + option forcewifidown '0' + +config entry 'Weekend' + option enabled '0' + option daysofweek 'Saturday Sunday' + option starttime '00:00' + option stoptime '00:00' + option forcewifidown '1' +``` + +## Script: `wifi_schedule.sh` +This is the script that does the work. Make your changes to the UCI config file: `/etc/config/wifi_schedule` + +Then call the script as follows in order to get the necessary cron jobs created: + +`wifi_schedule.sh cron` + +All commands: + +``` +wifi_schedule.sh cron|start|stop|forcestop|recheck|getmodules|savemodules|help + + cron: Create cronjob entries. + start: Start wifi. + stop: Stop wifi gracefully, i.e. check if there are stations associated and if so keep retrying. + forcestop: Stop wifi immediately. + recheck: Recheck if wifi can be disabled now. + getmodules: Returns a list of modules used by the wireless driver(s) + savemodules: Saves a list of automatic determined modules to UCI + help: This description. +``` diff --git a/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua b/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua new file mode 100644 index 0000000000..a33c7aab9a --- /dev/null +++ b/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua @@ -0,0 +1,32 @@ +-- Copyright (c) 2016, prpl Foundation +-- +-- Permission to use, copy, modify, and/or distribute this software for any purpose with or without +-- fee is hereby granted, provided that the above copyright notice and this permission notice appear +-- in all copies. +-- +-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE +-- INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +-- FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +-- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +-- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-- +-- Author: Nils Koenig <openwrt@newk.it> + +module("luci.controller.wifischedule.wifi_schedule", package.seeall) + +function index() + entry({"admin", "wifi_schedule"}, firstchild(), "Wifi Schedule", 60).dependent=false + entry({"admin", "wifi_schedule", "tab_from_cbi"}, cbi("wifischedule/wifi_schedule"), "Schedule", 1) + entry({"admin", "wifi_schedule", "wifi_schedule"}, call("wifi_schedule_log"), "View Logfile", 2) + entry({"admin", "wifi_schedule", "cronjob"}, call("view_crontab"), "View Cron Jobs", 3) +end + +function wifi_schedule_log() + local logfile = luci.sys.exec("cat /tmp/log/wifi_schedule.log") + luci.template.render("wifischedule/file_viewer", {title="Wifi Schedule Logfile", content=logfile}) +end + +function view_crontab() + local crontab = luci.sys.exec("cat /etc/crontabs/root") + luci.template.render("wifischedule/file_viewer", {title="Cron Jobs", content=crontab}) +end diff --git a/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua b/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua new file mode 100644 index 0000000000..2cca476b4f --- /dev/null +++ b/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua @@ -0,0 +1,259 @@ +-- Copyright (c) 2016, prpl Foundation +-- +-- Permission to use, copy, modify, and/or distribute this software for any purpose with or without +-- fee is hereby granted, provided that the above copyright notice and this permission notice appear +-- in all copies. +-- +-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE +-- INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +-- FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +-- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +-- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-- +-- Author: Nils Koenig <openwrt@newk.it> + +function file_exists(name) + local f=io.open(name,"r") + if f~=nil then io.close(f) return true else return false end +end + + +function time_validator(self, value, desc) + if value ~= nil then + + h_str, m_str = string.match(value, "^(%d%d?):(%d%d?)$") + h = tonumber(h_str) + m = tonumber(m_str) + if ( h ~= nil and + h >= 0 and + h <= 23 and + m ~= nil and + m >= 0 and + m <= 59) then + return value + end + end + return nil, translate("The value '" .. desc .. "' is invalid") +end + +-- ------------------------------------------------------------------------------------------------- + +-- BEGIN Map +m = Map("wifi_schedule", translate("Wifi Schedule"), translate("Defines a schedule when to turn on and off wifi.")) +function m.on_commit(self) + luci.sys.exec("/usr/bin/wifi_schedule.sh cron") +end +-- END Map + +-- BEGIN Global Section +global_section = m:section(TypedSection, "global", "Global Settings") +global_section.optional = false +global_section.rmempty = false +global_section.anonymous = true +-- END Section + +-- BEGIN Global Enable Checkbox +global_enable = global_section:option(Flag, "enabled", translate("Enable Wifi Schedule")) +global_enable.optional=false; +global_enable.rmempty = false; + +function global_enable.validate(self, value, global_section) + if value == "1" then + if ( file_exists("/sbin/wifi") and + file_exists("/usr/bin/wifi_schedule.sh") )then + return value + else + return nil, translate("Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi") + end + else + return "0" + end +end +-- END Global Enable Checkbox + + +-- BEGIN Global Logging Checkbox +global_logging = global_section:option(Flag, "logging", translate("Enable logging")) +global_logging.optional=false; +global_logging.rmempty = false; +global_logging.default = 0 +-- END Global Enable Checkbox + +-- BEGIN Global Activate WiFi Button +enable_wifi = global_section:option(Button, "enable_wifi", translate("Activate wifi")) +function enable_wifi.write() + luci.sys.exec("/usr/bin/wifi_schedule.sh start manual") +end +-- END Global Activate Wifi Button + +-- BEGIN Global Disable WiFi Gracefully Button +disable_wifi_gracefully = global_section:option(Button, "disable_wifi_gracefully", translate("Disable wifi gracefully")) +function disable_wifi_gracefully.write() + luci.sys.exec("/usr/bin/wifi_schedule.sh stop manual") +end +-- END Global Disable Wifi Gracefully Button + +-- BEGIN Disable WiFi Forced Button +disable_wifi_forced = global_section:option(Button, "disable_wifi_forced", translate("Disabled wifi forced")) +function disable_wifi_forced.write() + luci.sys.exec("/usr/bin/wifi_schedule.sh forcestop manual") +end +-- END Global Disable WiFi Forced Button + +-- BEGIN Global Unload Modules Checkbox +global_unload_modules = global_section:option(Flag, "unload_modules", translate("Unload Modules (experimental; saves more power)")) +global_unload_modules.optional = false; +global_unload_modules.rmempty = false; +global_unload_modules.default = 0 +-- END Global Unload Modules Checkbox + + +-- BEGIN Modules +modules = global_section:option(TextValue, "modules", "") +modules:depends("unload_modules", global_unload_modules.enabled); +modules.wrap = "off" +modules.rows = 10 + +function modules.cfgvalue(self, section) + mod=uci.get("wifi_schedule", section, "modules") + if mod == nil then + mod="" + end + return mod:gsub(" ", "\r\n") +end + +function modules.write(self, section, value) + if value then + value_list = value:gsub("\r\n", " ") + ListValue.write(self, section, value_list) + uci.set("wifi_schedule", section, "modules", value_list) + end +end +-- END Modules + +-- BEGIN Determine Modules +determine_modules = global_section:option(Button, "determine_modules", translate("Determine Modules Automatically")) +determine_modules:depends("unload_modules", global_unload_modules.enabled); +function determine_modules.write(self, section) + output = luci.sys.exec("/usr/bin/wifi_schedule.sh getmodules") + modules:write(section, output) +end +-- END Determine Modules + + +-- BEGIN Section +d = m:section(TypedSection, "entry", "Schedule events") +d.addremove = true +--d.anonymous = true +-- END Section + +-- BEGIN Enable Checkbox +c = d:option(Flag, "enabled", translate("Enable")) +c.optional=false; c.rmempty = false; +-- END Enable Checkbox + + +-- BEGIN Day(s) of Week +dow = d:option(MultiValue, "daysofweek", translate("Day(s) of Week")) +dow.optional = false +dow.rmempty = false +dow:value("Monday") +dow:value("Tuesday") +dow:value("Wednesday") +dow:value("Thursday") +dow:value("Friday") +dow:value("Saturday") +dow:value("Sunday") +-- END Day(s) of Weel + +-- BEGIN Start Wifi Dropdown +starttime = d:option(Value, "starttime", translate("Start WiFi")) +starttime.optional=false; +starttime.rmempty = false; +starttime:value("00:00") +starttime:value("01:00") +starttime:value("02:00") +starttime:value("03:00") +starttime:value("04:00") +starttime:value("05:00") +starttime:value("06:00") +starttime:value("07:00") +starttime:value("08:00") +starttime:value("09:00") +starttime:value("10:00") +starttime:value("11:00") +starttime:value("12:00") +starttime:value("13:00") +starttime:value("14:00") +starttime:value("15:00") +starttime:value("16:00") +starttime:value("17:00") +starttime:value("18:00") +starttime:value("19:00") +starttime:value("20:00") +starttime:value("21:00") +starttime:value("22:00") +starttime:value("23:00") + +function starttime.validate(self, value, d) + return time_validator(self, value, translate("Start Time")) +end + +-- END Start Wifi Dropdown + + +-- BEGIN Stop Wifi Dropdown +stoptime = d:option(Value, "stoptime", translate("Stop WiFi")) +stoptime.optional=false; +stoptime.rmempty = false; +stoptime:value("00:00") +stoptime:value("01:00") +stoptime:value("02:00") +stoptime:value("03:00") +stoptime:value("04:00") +stoptime:value("05:00") +stoptime:value("06:00") +stoptime:value("07:00") +stoptime:value("08:00") +stoptime:value("09:00") +stoptime:value("10:00") +stoptime:value("11:00") +stoptime:value("12:00") +stoptime:value("13:00") +stoptime:value("14:00") +stoptime:value("15:00") +stoptime:value("16:00") +stoptime:value("17:00") +stoptime:value("18:00") +stoptime:value("19:00") +stoptime:value("20:00") +stoptime:value("21:00") +stoptime:value("22:00") +stoptime:value("23:00") + +function stoptime.validate(self, value, d) + return time_validator(self, value, translate("Stop Time")) +end +-- END Stop Wifi Dropdown + + +-- BEGIN Force Wifi Stop Checkbox +force_wifi = d:option(Flag, "forcewifidown", translate("Force disabling wifi even if stations associated")) +force_wifi.default = false +force_wifi.rmempty = false; + +function force_wifi.validate(self, value, d) + if value == "0" then + if file_exists("/usr/bin/iwinfo") then + return value + else + return nil, translate("Could not find required programm /usr/bin/iwinfo") + end + else + return "1" + end +end +-- END Force Wifi Checkbox + + +return m diff --git a/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm b/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm new file mode 100644 index 0000000000..f67a2bea99 --- /dev/null +++ b/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm @@ -0,0 +1,22 @@ +<%# +Copyright (c) 2016, prpl Foundation + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without +fee is hereby granted, provided that the above copyright notice and this permission notice appear +in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Author: Nils Koenig <openwrt@newk.it> +-%> + +<%+header%> +<h2 name="title"><%=title%></h2> +<div id="content_fileviewer"> +<textarea style="width: 100%" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+1%>" id="content_id"><%=content:pcdata()%></textarea> +</div> +<%+footer%> diff --git a/applications/luci-app-wshaper/po/sv/wshaper.po b/applications/luci-app-wshaper/po/sv/wshaper.po index 84c5ce199f..4f0fc53468 100644 --- a/applications/luci-app-wshaper/po/sv/wshaper.po +++ b/applications/luci-app-wshaper/po/sv/wshaper.po @@ -10,13 +10,13 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgid "Downlink" -msgstr "Ner-länk" +msgstr "Nerladdningslänk" msgid "Downstream bandwidth in kbit/s" msgstr "Nerströms bandbredd i kbit/s" msgid "Host or Network in CIDR notation." -msgstr "" +msgstr "Värd eller Nätverk i CIDR-noteringen" msgid "Interface" msgstr "Gränssnitt" @@ -34,7 +34,7 @@ msgid "Low priority source ports" msgstr "Käll-portar med låg prioritet" msgid "Uplink" -msgstr "Upplänk" +msgstr "Uppladdningslänk" msgid "Upstream bandwidth in kbit/s" msgstr "Bandbredd uppströms i kbit/s" @@ -49,3 +49,5 @@ msgid "" "Wondershaper shapes traffic to ensure low latencies for interactive traffic " "even when your internet connection is highly saturated." msgstr "" +"Wondershaper formar trafiken för att säkerställa låga latenser för " +"interaktiv trafik även när din internetanslutning är mättad som mest." |