summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-ddns
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-ddns')
-rw-r--r--applications/luci-app-ddns/Makefile27
-rw-r--r--applications/luci-app-ddns/luasrc/controller/ddns.lua45
-rw-r--r--applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua2
-rw-r--r--applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua3
-rw-r--r--applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua16
-rw-r--r--applications/luci-app-ddns/luasrc/tools/ddns.lua42
-rw-r--r--applications/luci-app-ddns/luasrc/view/ddns/detail_lvalue.htm2
-rw-r--r--applications/luci-app-ddns/luasrc/view/ddns/detail_value.htm2
-rw-r--r--applications/luci-app-ddns/luasrc/view/ddns/overview_startstop.htm2
-rw-r--r--applications/luci-app-ddns/luasrc/view/ddns/overview_status.htm36
-rw-r--r--applications/luci-app-ddns/luasrc/view/ddns/system_status.htm7
-rw-r--r--applications/luci-app-ddns/po/de/ddns.po118
-rw-r--r--applications/luci-app-ddns/po/templates/ddns.pot102
13 files changed, 229 insertions, 175 deletions
diff --git a/applications/luci-app-ddns/Makefile b/applications/luci-app-ddns/Makefile
index d116f06a46..18906cd1c2 100644
--- a/applications/luci-app-ddns/Makefile
+++ b/applications/luci-app-ddns/Makefile
@@ -6,17 +6,32 @@
include $(TOPDIR)/rules.mk
-LUCI_TITLE:=LuCI Support for Dynamic DNS (ddns-scripts)
-LUCI_DEPENDS:=+ddns-scripts +luci-mod-admin-full
+# LuCI specific settings
+LUCI_TITLE:=LuCI Support for Dynamic DNS Client (ddns-scripts)
+LUCI_DEPENDS:=+luci-mod-admin-full +ddns-scripts
PKG_NAME:=luci-app-ddns
-PKG_VERSION:=2.1.0
-PKG_RELEASE:=4
-PKG_LICENSE:=Apache-2.0
-PKGARCH:=all
+# Version == major.minor.patch
+# increase on new functionality (minor) or patches (patch)
+PKG_VERSION:=2.1.1
+
+# Release == build
+# increase on changes of translation files
+PKG_RELEASE:=0
+
+PKG_LICENSE:=Apache-2.0
PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
+define Package/$(PKG_NAME)/config
+# shown in make menuconfig <Help>
+help
+ $(LUCI_TITLE)
+
+ Version : $(PKG_VERSION)-$(PKG_RELEASE)
+ Maintainer: $(PKG_MAINTAINER)
+endef
+
include ../../luci.mk
# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-ddns/luasrc/controller/ddns.lua b/applications/luci-app-ddns/luasrc/controller/ddns.lua
index 3cd52e5e3c..56d2b66e21 100644
--- a/applications/luci-app-ddns/luasrc/controller/ddns.lua
+++ b/applications/luci-app-ddns/luasrc/controller/ddns.lua
@@ -15,19 +15,21 @@ local SYS = require "luci.sys"
local DDNS = require "luci.tools.ddns" -- ddns multiused functions
local UTIL = require "luci.util"
-local luci_ddns_version = "2.1.0-4" -- luci-app-ddns / openwrt Makefile compatible version
-local ddns_scripts_min = "2.1.0-3" -- minimum version of ddns-scripts required
+DDNS_MIN = "2.1.0-2" -- minimum version of service required
function index()
- -- no services_ipv6 file or no dynamic_dns_lucihelper.sh
- -- do NOT start
- if not nixio.fs.access("/usr/lib/ddns/services_ipv6")
- or not nixio.fs.access("/usr/lib/ddns/dynamic_dns_lucihelper.sh") then
+ local nxfs = require "nixio.fs" -- global definitions not available
+ local sys = require "luci.sys" -- in function index()
+ local ddns = require "luci.tools.ddns" -- ddns multiused functions
+ local verinst = ddns.ipkg_ver_installed("ddns-scripts")
+ local verok = ddns.ipkg_ver_compare(verinst, ">=", "2.0.0-0")
+ -- do NOT start it not ddns-scripts version 2.x
+ if not verok then
return
end
-- no config create an empty one
- if not nixio.fs.access("/etc/config/ddns") then
- nixio.fs.writefile("/etc/config/ddns", "")
+ if not nxfs.access("/etc/config/ddns") then
+ nxfs.writefile("/etc/config/ddns", "")
end
entry( {"admin", "services", "ddns"}, cbi("ddns/overview"), _("Dynamic DNS"), 59)
@@ -44,17 +46,11 @@ local function _get_status()
local uci = UCI.cursor()
local service = SYS.init.enabled("ddns") and 1 or 0
local url_start = DISP.build_url("admin", "system", "startup")
- local luci_build = DDNS.ipkg_version("luci-app-ddns").version
- local ddns_act = DDNS.ipkg_version("ddns-scripts").version
local data = {} -- Array to transfer data to javascript
data[#data+1] = {
enabled = service, -- service enabled
url_up = url_start, -- link to enable DDS (System-Startup)
- luci_ver = luci_ddns_version, -- luci-app-ddns / openwrt Makefile compatible version
- luci_build = luci_build, -- installed luci build
- script_min = ddns_scripts_min, -- minimum version of ddns-scripts needed
- script_ver = ddns_act -- installed ddns-scripts
}
uci:foreach("ddns", "service", function (s)
@@ -63,8 +59,8 @@ local function _get_status()
-- and enabled state
local section = s[".name"]
local enabled = tonumber(s["enabled"]) or 0
- local datelast = "_empty_" -- formated date of last update
- local datenext = "_empty_" -- formated date of next update
+ local datelast = "_empty_" -- formatted date of last update
+ local datenext = "_empty_" -- formatted date of next update
-- get force seconds
local force_seconds = DDNS.calc_seconds(
@@ -182,7 +178,7 @@ function startstop(section, enabled)
return
end
- -- read uncommited changes
+ -- read uncommitted changes
-- we don't save and commit data from other section or other options
-- only enabled will be done
local exec = true
@@ -210,9 +206,9 @@ function startstop(section, enabled)
end
-- we can not execute because other
- -- uncommited changes pending, so exit here
+ -- uncommitted changes pending, so exit here
if not exec then
- HTTP.write("_uncommited_")
+ HTTP.write("_uncommitted_")
return
end
@@ -238,14 +234,3 @@ function status()
HTTP.prepare_content("application/json")
HTTP.write_json(data)
end
-
--- check if installed ddns-scripts version < required version
-function update_needed()
- local sver = DDNS.ipkg_version("ddns-scripts")
- local rver = UTIL.split(ddns_scripts_min, "[%.%-]", nil, true)
- return (sver.major < (tonumber(rver[1]) or 0))
- or (sver.minor < (tonumber(rver[2]) or 0))
- or (sver.patch < (tonumber(rver[3]) or 0))
- or (sver.build < (tonumber(rver[4]) or 0))
-end
-
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 057b8c8aa2..77753c03a7 100644
--- a/applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua
+++ b/applications/luci-app-ddns/luasrc/model/cbi/ddns/detail.lua
@@ -22,7 +22,7 @@ has_ipv6 = DDNS.check_ipv6() -- IPv6 support
has_ssl = DDNS.check_ssl() -- HTTPS support
has_proxy = DDNS.check_proxy() -- Proxy support
has_dnstcp = DDNS.check_bind_host() -- DNS TCP support
-has_force = has_ssl and has_dnstcp -- Force IP Protocoll
+has_force = has_ssl and has_dnstcp -- Force IP Protocoll
-- html constants -- ###########################################################
font_red = "<font color='red'>"
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 15da0289f1..009ba99eb8 100644
--- a/applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua
+++ b/applications/luci-app-ddns/luasrc/model/cbi/ddns/hints.lua
@@ -11,7 +11,8 @@ local DDNS = require "luci.tools.ddns" -- ddns multiused functions
has_ssl = DDNS.check_ssl() -- HTTPS support
has_proxy = DDNS.check_proxy() -- Proxy support
has_dnstcp = DDNS.check_bind_host() -- DNS TCP support
-need_update = CTRL.update_needed() -- correct ddns-scripts version
+-- correct ddns-scripts version
+need_update = DDNS.ipkg_ver_compare(DDNS.ipkg_ver_installed("ddns-scripts"), "<<", CTRL.DDNS_MIN)
-- html constants
font_red = [[<font color="red">]]
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 2944ec52f9..83b10e9366 100644
--- a/applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua
+++ b/applications/luci-app-ddns/luasrc/model/cbi/ddns/overview.lua
@@ -14,7 +14,8 @@ show_hints = not (DDNS.check_ipv6() -- IPv6 support
and DDNS.check_proxy() -- Proxy support
and DDNS.check_bind_host() -- DNS TCP support
)
-need_update = CTRL.update_needed() -- correct ddns-scripts version
+-- correct ddns-scripts version
+need_update = DDNS.ipkg_ver_compare(DDNS.ipkg_ver_installed("ddns-scripts"), "<<", CTRL.DDNS_MIN)
-- html constants
font_red = [[<font color="red">]]
@@ -28,8 +29,17 @@ m = Map("ddns")
-- first need to close <a> from cbi map template our <a> closed by template
--m.title = [[</a><a href="javascript:alert(']] .. CTRL.show_versions() ..[[')">]] ..
-- translate("Dynamic DNS")
-m.title = [[</a><a href="#" onclick="onclick_maptitle();">]] ..
- translate("Dynamic DNS")
+m.title = [[</a><a href="javascript:alert(']]
+ .. translate("Version Information")
+ .. [[\n\nluci-app-ddns]]
+ .. [[\n\t]] .. translate("Version") .. [[:\t]] .. DDNS.ipkg_ver_installed("luci-app-ddns")
+ .. [[\n\nddns-scripts ]] .. translate("required") .. [[:]]
+ .. [[\n\t]] .. translate("Version") .. [[:\t]] .. CTRL.DDNS_MIN .. [[ ]] .. translate("or higher")
+ .. [[\n\nddns-scripts ]] .. translate("installed") .. [[:]]
+ .. [[\n\t]] .. translate("Version") .. [[:\t]] .. DDNS.ipkg_ver_installed("ddns-scripts")
+ .. [[\n\n]]
+ .. [[')">]]
+ .. translate("Dynamic DNS")
m.description = translate("Dynamic DNS allows that your router can be reached with " ..
"a fixed hostname while having a dynamically changing " ..
diff --git a/applications/luci-app-ddns/luasrc/tools/ddns.lua b/applications/luci-app-ddns/luasrc/tools/ddns.lua
index 5c8ced50b3..2fbcff8bad 100644
--- a/applications/luci-app-ddns/luasrc/tools/ddns.lua
+++ b/applications/luci-app-ddns/luasrc/tools/ddns.lua
@@ -96,33 +96,29 @@ function get_pid(section)
return pid
end
--- read version information for given package if installed
-function ipkg_version(package)
- if not package then
+-- compare versions using "<=" "<" ">" ">=" "=" "<<" ">>"
+function ipkg_ver_compare(ver1, comp, ver2)
+ if not ver1 or not (#ver1 > 0)
+ or not ver2 or not (#ver2 > 0)
+ or not comp or not (#comp > 0) then
return nil
end
- local info = OPKG.info(package)
- local data = {}
- local version = ""
- local i = 0
- for k, v in pairs(info) do
- if v.Package == package and v.Status.installed then
- version = v.Version
- i = i + 1
- end
+ return (tonumber(SYS.call(
+ [[opkg compare-versions "]] .. ver1 .. [[" "]] .. comp .. [[" "]] .. ver2 .. [["]]
+ )) == 1)
+end
+
+-- read version information for given package if installed
+function ipkg_ver_installed(pkg)
+ if not pkg then
+ return nil
end
- if i > 1 then -- more then one valid record
- return data
+ -- opkg list-installed [pkg] | cut -d " " -f 3 - return version as sting
+ local ver = SYS.exec([[opkg list-installed ]] .. pkg .. [[ | cut -d " " -f 3 ]])
+ if (#ver > 0) then
+ return ver
end
- local sver = UTIL.split(version, "[%.%-]", nil, true)
- data = {
- version = version,
- major = tonumber(sver[1]) or 0,
- minor = tonumber(sver[2]) or 0,
- patch = tonumber(sver[3]) or 0,
- build = tonumber(sver[4]) or 0
- }
- return data
+ return nil
end
-- replacement of build-in read of UCI option
diff --git a/applications/luci-app-ddns/luasrc/view/ddns/detail_lvalue.htm b/applications/luci-app-ddns/luasrc/view/ddns/detail_lvalue.htm
index d516837b2b..0bcfd44283 100644
--- a/applications/luci-app-ddns/luasrc/view/ddns/detail_lvalue.htm
+++ b/applications/luci-app-ddns/luasrc/view/ddns/detail_lvalue.htm
@@ -1,6 +1,6 @@
<!-- ++ BEGIN ++ Dynamic DNS ++ detail_lvalue.htm ++ -->
-<!-- no value header to supress next line -->
+<!-- no value header to suppress next line -->
&#160;
<% if self.widget == "select" then %>
<select class="cbi-input-select" onchange="cbi_d_update(this.id)"<%= attr("id", cbid) .. attr("name", cbid) .. ifattr(self.size, "size") %>>
diff --git a/applications/luci-app-ddns/luasrc/view/ddns/detail_value.htm b/applications/luci-app-ddns/luasrc/view/ddns/detail_value.htm
index 7cb28e282e..cbe76abc6e 100644
--- a/applications/luci-app-ddns/luasrc/view/ddns/detail_value.htm
+++ b/applications/luci-app-ddns/luasrc/view/ddns/detail_value.htm
@@ -5,5 +5,5 @@
attr("name", cbid) .. attr("id", cbid) .. attr("value", self:cfgvalue(section) or self.default) ..
ifattr(self.size, "size") .. ifattr(self.placeholder, "placeholder")
%> />
-<!-- no value footer to supress next line -->
+<!-- no value footer to suppress next line -->
<!-- ++ END ++ Dynamic DNS ++ detail_value.htm ++ -->
diff --git a/applications/luci-app-ddns/luasrc/view/ddns/overview_startstop.htm b/applications/luci-app-ddns/luasrc/view/ddns/overview_startstop.htm
index 8255aa63f3..327028cbea 100644
--- a/applications/luci-app-ddns/luasrc/view/ddns/overview_startstop.htm
+++ b/applications/luci-app-ddns/luasrc/view/ddns/overview_startstop.htm
@@ -6,7 +6,7 @@
-- We need to garantie that function cfgvalue run first to set missing parameters
%>
<!-- style="font-size: 100%;" needed for openwrt theme to fix font size -->
- <!-- type="button" onclick="..." enable standard onclick functionalty -->
+ <!-- type="button" onclick="..." enable standard onclick functionality -->
<input class="cbi-button cbi-input-<%=self.inputstyle or "button" %>" style="font-size: 100%;" type="button" onclick="onclick_startstop(this.id)"
<%=
attr("name", section) .. attr("id", cbid) .. attr("value", self.inputtitle) .. ifattr(self.disabled, "disabled")
diff --git a/applications/luci-app-ddns/luasrc/view/ddns/overview_status.htm b/applications/luci-app-ddns/luasrc/view/ddns/overview_status.htm
index 37c54be25f..6cca0e75d9 100644
--- a/applications/luci-app-ddns/luasrc/view/ddns/overview_status.htm
+++ b/applications/luci-app-ddns/luasrc/view/ddns/overview_status.htm
@@ -2,12 +2,6 @@
<!-- ++ BEGIN ++ Dynamic DNS ++ overview_status.htm ++ -->
<script type="text/javascript">//<![CDATA[
- // variables to store version information
- var luci_version
- var luci_build
- var ddns_version
- var ddns_required
-
// helper to extract section from objects id
// cbi.ddns.SECTION._xyz
function _id2section(id) {
@@ -19,13 +13,6 @@
// screen objects
// called by XHR.poll and onclick_startstop
function _data2elements(data) {
- // DDNS Service
- // fill Version informations
- luci_version = data[0].luci_ver
- luci_build = data[0].luci_build
- ddns_version = data[0].script_ver
- ddns_required = data[0].script_min
-
// Service sections
for( i = 1; i < data.length; i++ )
{
@@ -135,27 +122,13 @@
}
}
- // event handler for map.title link
- function onclick_maptitle() {
- var str = "<%:Version Information%>";
- str += "\n\nluci-app-ddns:";
- str += "\n\t<%:Version%>:\t" + luci_version;
- str += "\n\t<%:Build%>:\t" + luci_build;
- str += "\n\nddns-scripts <%:required%>:";
- str += "\n\t<%:Version%>:\t" + ddns_required + " <%:or greater%>";
- str += "\n\nddns-scripts <%:installed%>:";
- str += "\n\t<%:Version%>:\t" + ddns_version;
- str += "\n\n"
- alert(str);
- }
-
// event handler for start/stop button
function onclick_startstop(id) {
// extract section
var section = _id2section(id);
// get elements
var cbx = document.getElementById("cbid.ddns." + section + ".enabled"); // Enabled
- var obj = document.getElementById("cbi-ddns-overview-status-legend"); // objext defined below to make in-/visible
+ var obj = document.getElementById("cbi-ddns-overview-status-legend"); // object defined below to make in-/visible
if ( !(obj && cbx) ) { return; } // security check
// make me visible
@@ -165,7 +138,7 @@
var btnXHR = new XHR();
btnXHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "startstop")%>/' + section + '/' + cbx.checked, null,
function(x, data) {
- if (x.responseText == "_uncommited_") {
+ if (x.responseText == "_uncommitted_") {
// we need a trick to display Ampersand "&" in stead of "&#38;" or "&amp;"
// after translation
txt="<%:Please [Save & Apply] your changes first%>";
@@ -182,8 +155,9 @@
);
}
+ var ddns_ov_XHR = new XHR();
// force to immediate show status on page load (not waiting for XHR.poll)
- XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
+ ddns_ov_XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
function(x, data) {
_data2elements(data);
}
@@ -192,7 +166,7 @@
// define only ONE XHR.poll in a page because if one is running it blocks the other one
// optimum is to define on Map or Section Level from here you can reach all elements
// we need update every 15 seconds only
- XHR.poll(15, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
+ ddns_ov_XHR.poll(15, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
function(x, data) {
_data2elements(data);
}
diff --git a/applications/luci-app-ddns/luasrc/view/ddns/system_status.htm b/applications/luci-app-ddns/luasrc/view/ddns/system_status.htm
index db9d1d1a01..7c60726e24 100644
--- a/applications/luci-app-ddns/luasrc/view/ddns/system_status.htm
+++ b/applications/luci-app-ddns/luasrc/view/ddns/system_status.htm
@@ -106,7 +106,7 @@
break;
}
- // monitored interfacce
+ // monitored interface
if (data[i].iface == "_nonet_")
tr.insertCell(-1).innerHTML = '<em><%:Config error%></em>';
else
@@ -125,14 +125,15 @@
}
}
+ var ddns_status_XHR = new XHR();
// force to immediate show status (not waiting for XHR.poll)
- XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
+ ddns_status_XHR.get('<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
function(x, data) {
_data2elements(x, data);
}
);
- XHR.poll(10, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
+ ddns_status_XHR.poll(10, '<%=luci.dispatcher.build_url("admin", "services", "ddns", "status")%>', null,
function(x, data) {
_data2elements(x, data);
}
diff --git a/applications/luci-app-ddns/po/de/ddns.po b/applications/luci-app-ddns/po/de/ddns.po
index 9706dbd106..b965a91fd3 100644
--- a/applications/luci-app-ddns/po/de/ddns.po
+++ b/applications/luci-app-ddns/po/de/ddns.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
"Project-Id-Version: luci-app-ddns\n"
-"POT-Creation-Date: 2014-11-09 13:41+0100\n"
-"PO-Revision-Date: 2014-11-09 14:29+0100\n"
+"POT-Creation-Date: 2015-01-17 18:28+0100\n"
+"PO-Revision-Date: 2015-01-17 18:36+0100\n"
"Last-Translator: Christian Schoenebeck <christian.schoenebeck@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,6 +17,15 @@ msgstr ""
msgid "&"
msgstr "&"
+msgid "-- custom --"
+msgstr "-- benutzerdefiniert --"
+
+msgid "Advanced Settings"
+msgstr "Erweiterte Einstellungen"
+
+msgid "Applying changes"
+msgstr "Änderungen anwenden"
+
msgid "Basic Settings"
msgstr "Grundlegende Einstellungen"
@@ -36,9 +45,6 @@ msgstr ""
">Wenn Sie Aktualisierungen für IPv4 und IPv6 senden möchten benötigen Sie "
"zwei Konfigurationen z.B. 'myddns_ipv4' und 'myddns_ipv6'"
-msgid "Build"
-msgstr "Build"
-
msgid ""
"BusyBox's nslookup and Wget do not support to specify the IP version to use "
"for communication with DDNS Provider."
@@ -56,15 +62,15 @@ msgstr ""
msgid "Check Interval"
msgstr "Prüfinterval"
-msgid "Check for changed IP every"
-msgstr "Teste auf neue IP alle"
-
-msgid "Check-time unit"
-msgstr "Zeiteinheit"
+msgid "Collecting data..."
+msgstr "Sammle Daten..."
msgid "Config error"
msgstr "Konfigurationsfehler"
+msgid "Configuration"
+msgstr "Einstellungen"
+
msgid "Configure here the details for selected Dynamic DNS service"
msgstr "Konfiguriere hier die Details für den gewählten Dynamik DNS Dienst"
@@ -153,6 +159,9 @@ msgstr ""
msgid "Details for"
msgstr "Details für"
+msgid "Disabled"
+msgstr "Deaktiviert"
+
msgid "Dynamic DNS"
msgstr "Dynamisches DNS"
@@ -166,6 +175,12 @@ msgstr ""
msgid "Enable secure communication with DDNS provider"
msgstr "Aktiviert sichere Kommunikation mit dem DDNS Anbieter"
+msgid "Enabled"
+msgstr "Aktiviert"
+
+msgid "Error"
+msgstr "Fehler"
+
msgid "Error Retry Counter"
msgstr "Wiederholungszähler bei Fehler"
@@ -175,8 +190,8 @@ msgstr "Wiederholungsintervall bei Fehler"
msgid "Event Network"
msgstr "Ereignis Netzwerk"
-msgid "Event interface"
-msgstr "Ereignis Netzwerk"
+msgid "File"
+msgstr "Datei"
msgid "File not found"
msgstr "Datei nicht gefunden"
@@ -203,12 +218,6 @@ msgstr "Erzwungene Aktualisierung"
msgid "Force TCP on DNS"
msgstr "Erzwinge TCP bei DNS-Anfragen"
-msgid "Force update every"
-msgstr "Erzwinge Aktualisierung alle"
-
-msgid "Force-time unit"
-msgstr "Zeiteinheit"
-
msgid "Forced IP Version don't matched"
msgstr "Erzwungene IP Version stimmt nicht überein"
@@ -233,6 +242,9 @@ msgstr "IP-Adressquelle"
msgid "IP address version"
msgstr "IP-Adressversion"
+msgid "IPv4-Address"
+msgstr "IPv4-Adresse"
+
msgid "IPv6 address must be given in square brackets"
msgstr "Eine IPv6 Adresse muss in eckigen Klammern angegeben werden"
@@ -248,6 +260,9 @@ msgstr ""
msgid "IPv6 not supported"
msgstr "IPv6 nicht unterstützt"
+msgid "IPv6-Address"
+msgstr "IPv6-Adresse"
+
msgid ""
"If this service section is disabled it could not be started.<br />Neither "
"from LuCI interface nor from console"
@@ -261,6 +276,12 @@ msgstr ""
"In einigen Versionen von OpenWrt wurde cURL/libcurl ohne Proxy Unterstützung "
"compiliert."
+msgid "Info"
+msgstr "Informationen"
+
+msgid "Interface"
+msgstr "Schnittstelle"
+
msgid ""
"Interval to check for changed IP<br />Values below 5 minutes == 300 seconds "
"are not supported"
@@ -280,6 +301,9 @@ msgstr ""
msgid "Last Update"
msgstr "Letztes Aktualisierung"
+msgid "Loading"
+msgstr "Lade"
+
msgid "Log File Viewer"
msgstr "Protokolldatei"
@@ -296,6 +320,9 @@ msgstr ""
"Weder GNU Wget mit SSL noch cURL sind installiert um Aktualisierungen über "
"HTTPS Protokoll zu unterstützen."
+msgid "Network"
+msgstr "Netzwerk"
+
msgid "Network on which the ddns-updater scripts will be started"
msgstr "Netzwerk auf dem Ereignisse die ddns-updater Skripte starten"
@@ -311,6 +338,9 @@ msgstr "Keine Daten"
msgid "No logging"
msgstr "Keine Protokollierung"
+msgid "Notice"
+msgstr "Notiz"
+
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
msgstr ""
"OPTIONAL: Erzwingt die Verwendung einer reinen IPv4/IPv6 Kommunikation."
@@ -338,12 +368,21 @@ msgstr ""
msgid "On Error the script will stop execution after given number of retrys"
msgstr "Das Skript wird nach der gegebener Anzahlt von Fehlversuchen beendet"
+msgid "Overview"
+msgstr "Übersicht"
+
msgid "PROXY-Server"
msgstr "Proxy-Server"
msgid "PROXY-Server not supported"
msgstr "Proxy-Server nicht unterstützt"
+msgid "Password"
+msgstr "Passwort"
+
+msgid "Path to CA-Certificate"
+msgstr "Pfad zum CA-Zertifikat"
+
msgid "Please [Save & Apply] your changes first"
msgstr "Bitte [Speichern & Anwenden] Sie Änderungen zunächst"
@@ -377,17 +416,14 @@ msgstr "Einmalig ausführen"
msgid "Script"
msgstr "Skript"
-msgid "Service"
-msgstr "Dienst"
-
msgid "Show more"
msgstr "Zeige mehr"
msgid "Software update required"
msgstr "Softwareaktualisierung nötig"
-msgid "Source of IP address"
-msgstr "Quelle der IP-Adresse"
+msgid "Start"
+msgstr "Start"
msgid "Start / Stop"
msgstr "Start / Stopp"
@@ -435,9 +471,24 @@ msgstr ""
"Definiert das Skript mit dem die aktuelle IP-Adresse des System gelesen "
"wird."
+msgid "Username"
+msgstr "Benutzername"
+
+msgid "Verify"
+msgstr "überprüfen"
+
+msgid "Version"
+msgstr "Version"
+
msgid "Version Information"
msgstr "Versionsinformationen"
+msgid "Waiting for changes to be applied..."
+msgstr "Änderungen werden angewandt..."
+
+msgid "Warning"
+msgstr "Warnung"
+
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
msgstr ""
@@ -482,9 +533,6 @@ msgstr "Konnte Server nicht finden:"
msgid "config error"
msgstr "Konfigurationsfehler"
-msgid "custom"
-msgstr "benutzerdefiniert"
-
msgid "days"
msgstr "Tage"
@@ -500,9 +548,6 @@ msgstr "hier aktivieren"
msgid "file or directory not found or not 'IGNORE'"
msgstr "Datei oder Verzeichnis nicht gefunden oder nicht 'IGNORE'"
-msgid "h"
-msgstr "Stunden"
-
msgid "hours"
msgstr "Stunden"
@@ -512,15 +557,9 @@ msgstr "Aktualisierung hier installieren"
msgid "installed"
msgstr "installiert"
-msgid "interface"
-msgstr "Schnittstelle"
-
msgid "invalid - Sample"
msgstr "ungültig - Beispiel"
-msgid "min"
-msgstr "Minuten"
-
msgid "minimum value '0'"
msgstr "Minimum Wert '0'"
@@ -545,9 +584,6 @@ msgstr "muss mit 'http://' beginnen"
msgid "nc (netcat) can not connect"
msgstr "nc (netcat) kann keine Verbindung herstellen"
-msgid "network"
-msgstr "Netzwerk"
-
msgid "never"
msgstr "nie"
@@ -564,8 +600,8 @@ msgstr "nslookup kann den Namen nicht auflösen"
msgid "or"
msgstr "oder"
-msgid "or greater"
-msgstr "oder größer"
+msgid "or higher"
+msgstr "oder höher"
msgid "please disable"
msgstr "Bitte deaktivieren"
diff --git a/applications/luci-app-ddns/po/templates/ddns.pot b/applications/luci-app-ddns/po/templates/ddns.pot
index c3b8c9367d..4b983cec1e 100644
--- a/applications/luci-app-ddns/po/templates/ddns.pot
+++ b/applications/luci-app-ddns/po/templates/ddns.pot
@@ -4,6 +4,15 @@ msgstr "Content-Type: text/plain; charset=UTF-8"
msgid "&"
msgstr ""
+msgid "-- custom --"
+msgstr ""
+
+msgid "Advanced Settings"
+msgstr ""
+
+msgid "Applying changes"
+msgstr ""
+
msgid "Basic Settings"
msgstr ""
@@ -18,9 +27,6 @@ msgid ""
"separate Configurations i.e. 'myddns_ipv4' and 'myddns_ipv6'"
msgstr ""
-msgid "Build"
-msgstr ""
-
msgid ""
"BusyBox's nslookup and Wget do not support to specify the IP version to use "
"for communication with DDNS Provider."
@@ -34,13 +40,13 @@ msgstr ""
msgid "Check Interval"
msgstr ""
-msgid "Check for changed IP every"
+msgid "Collecting data..."
msgstr ""
-msgid "Check-time unit"
+msgid "Config error"
msgstr ""
-msgid "Config error"
+msgid "Configuration"
msgstr ""
msgid "Configure here the details for selected Dynamic DNS service"
@@ -109,6 +115,9 @@ msgstr ""
msgid "Details for"
msgstr ""
+msgid "Disabled"
+msgstr ""
+
msgid "Dynamic DNS"
msgstr ""
@@ -120,6 +129,12 @@ msgstr ""
msgid "Enable secure communication with DDNS provider"
msgstr ""
+msgid "Enabled"
+msgstr ""
+
+msgid "Error"
+msgstr ""
+
msgid "Error Retry Counter"
msgstr ""
@@ -129,7 +144,7 @@ msgstr ""
msgid "Event Network"
msgstr ""
-msgid "Event interface"
+msgid "File"
msgstr ""
msgid "File not found"
@@ -155,12 +170,6 @@ msgstr ""
msgid "Force TCP on DNS"
msgstr ""
-msgid "Force update every"
-msgstr ""
-
-msgid "Force-time unit"
-msgstr ""
-
msgid "Forced IP Version don't matched"
msgstr ""
@@ -185,6 +194,9 @@ msgstr ""
msgid "IP address version"
msgstr ""
+msgid "IPv4-Address"
+msgstr ""
+
msgid "IPv6 address must be given in square brackets"
msgstr ""
@@ -197,6 +209,9 @@ msgstr ""
msgid "IPv6 not supported"
msgstr ""
+msgid "IPv6-Address"
+msgstr ""
+
msgid ""
"If this service section is disabled it could not be started.<br />Neither "
"from LuCI interface nor from console"
@@ -206,6 +221,12 @@ msgid ""
"In some versions cURL/libcurl in OpenWrt is compiled without proxy support."
msgstr ""
+msgid "Info"
+msgstr ""
+
+msgid "Interface"
+msgstr ""
+
msgid ""
"Interval to check for changed IP<br />Values below 5 minutes == 300 seconds "
"are not supported"
@@ -220,6 +241,9 @@ msgstr ""
msgid "Last Update"
msgstr ""
+msgid "Loading"
+msgstr ""
+
msgid "Log File Viewer"
msgstr ""
@@ -234,6 +258,9 @@ msgid ""
"protocol."
msgstr ""
+msgid "Network"
+msgstr ""
+
msgid "Network on which the ddns-updater scripts will be started"
msgstr ""
@@ -249,6 +276,9 @@ msgstr ""
msgid "No logging"
msgstr ""
+msgid "Notice"
+msgstr ""
+
msgid "OPTIONAL: Force the usage of pure IPv4/IPv6 only communication."
msgstr ""
@@ -270,12 +300,21 @@ msgstr ""
msgid "On Error the script will stop execution after given number of retrys"
msgstr ""
+msgid "Overview"
+msgstr ""
+
msgid "PROXY-Server"
msgstr ""
msgid "PROXY-Server not supported"
msgstr ""
+msgid "Password"
+msgstr ""
+
+msgid "Path to CA-Certificate"
+msgstr ""
+
msgid "Please [Save & Apply] your changes first"
msgstr ""
@@ -309,16 +348,13 @@ msgstr ""
msgid "Script"
msgstr ""
-msgid "Service"
-msgstr ""
-
msgid "Show more"
msgstr ""
msgid "Software update required"
msgstr ""
-msgid "Source of IP address"
+msgid "Start"
msgstr ""
msgid "Start / Stop"
@@ -361,9 +397,24 @@ msgstr ""
msgid "User defined script to read systems IP-Address"
msgstr ""
+msgid "Username"
+msgstr ""
+
+msgid "Verify"
+msgstr ""
+
+msgid "Version"
+msgstr ""
+
msgid "Version Information"
msgstr ""
+msgid "Waiting for changes to be applied..."
+msgstr ""
+
+msgid "Warning"
+msgstr ""
+
msgid ""
"Writes detailed messages to log file. File will be truncated automatically."
msgstr ""
@@ -397,9 +448,6 @@ msgstr ""
msgid "config error"
msgstr ""
-msgid "custom"
-msgstr ""
-
msgid "days"
msgstr ""
@@ -415,9 +463,6 @@ msgstr ""
msgid "file or directory not found or not 'IGNORE'"
msgstr ""
-msgid "h"
-msgstr ""
-
msgid "hours"
msgstr ""
@@ -427,15 +472,9 @@ msgstr ""
msgid "installed"
msgstr ""
-msgid "interface"
-msgstr ""
-
msgid "invalid - Sample"
msgstr ""
-msgid "min"
-msgstr ""
-
msgid "minimum value '0'"
msgstr ""
@@ -460,9 +499,6 @@ msgstr ""
msgid "nc (netcat) can not connect"
msgstr ""
-msgid "network"
-msgstr ""
-
msgid "never"
msgstr ""
@@ -478,7 +514,7 @@ msgstr ""
msgid "or"
msgstr ""
-msgid "or greater"
+msgid "or higher"
msgstr ""
msgid "please disable"