Merge branch 'lightningwirelabs'
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 9 Jun 2014 13:37:31 +0000 (15:37 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 9 Jun 2014 13:37:31 +0000 (15:37 +0200)
45 files changed:
.gitignore
.tx/config
Makefile [deleted file]
Makefile.am [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
configure.ac [new file with mode: 0644]
ddns [moved from ddns.py with 100% similarity]
m4/.gitignore [new file with mode: 0644]
po/.gitignore [new file with mode: 0644]
po/LINGUAS [new file with mode: 0644]
po/POTFILES.in [new file with mode: 0644]
po/ar.po [new file with mode: 0644]
po/ca.po [new file with mode: 0644]
po/cs_CZ.po [new file with mode: 0644]
po/da.po [new file with mode: 0644]
po/ddns.pot
po/el_GR.po [new file with mode: 0644]
po/es.po [new file with mode: 0644]
po/fa.po [new file with mode: 0644]
po/fr.po [new file with mode: 0644]
po/hu.po [new file with mode: 0644]
po/id.po [new file with mode: 0644]
po/it.po [new file with mode: 0644]
po/ja.po [new file with mode: 0644]
po/km_KH.po [new file with mode: 0644]
po/nl.po [new file with mode: 0644]
po/pl.po [new file with mode: 0644]
po/pt_BR.po [new file with mode: 0644]
po/pt_PT.po [new file with mode: 0644]
po/ro_RO.po [new file with mode: 0644]
po/ru.po [new file with mode: 0644]
po/sq.po [new file with mode: 0644]
po/sv.po [new file with mode: 0644]
po/th.po [new file with mode: 0644]
po/tk.po [new file with mode: 0644]
po/tr.po [new file with mode: 0644]
po/uk.po [new file with mode: 0644]
po/uz@Latn.po [new file with mode: 0644]
po/vi.po [new file with mode: 0644]
src/ddns/__init__.py [moved from ddns/__init__.py with 100% similarity]
src/ddns/__version__.py.in [new file with mode: 0644]
src/ddns/errors.py [moved from ddns/errors.py with 100% similarity]
src/ddns/i18n.py [moved from ddns/i18n.py with 100% similarity]
src/ddns/providers.py [moved from ddns/providers.py with 95% similarity]
src/ddns/system.py [moved from ddns/system.py with 88% similarity]

index 35ef121..dbbef86 100644 (file)
@@ -1,3 +1,21 @@
-*.mo
+/Makefile
+/build-aux
+/missing
+/src/ddns/__version__.py
+/tmp
 *.py[co]
-ddns/__version__.py
+/*.tar.bz2
+/*.tar.gz
+/*.tar.xz
+*.log
+*.cache
+*.gmo
+*.mo
+*~
+Makefile.in
+aclocal.m4
+config.log
+config.status
+configure
+install-sh
+stamp-*
index 8d2469e..871c47f 100644 (file)
@@ -1,5 +1,5 @@
 [main]
-host = https://www.transifex.net
+host = https://www.transifex.com
 
 [ipfire.dynamic-dns-client]
 file_filter = po/<lang>.po
diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index 6197de6..0000000
--- a/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-
-PACKAGE_NAME    = ddns
-PACKAGE_VERSION = 0.01
-
-DESTDIR    =
-PREFIX     = /usr
-SYSCONFDIR = /etc
-BINDIR     = $(PREFIX)/bin
-LIBDIR     = $(PREFIX)/lib
-LOCALEDIR  = $(PREFIX)/share/locale
-
-# Get the version and configuration of the python interpreter.
-PYTHON_VERSION = $(shell python -c "import platform; print '.'.join(platform.python_version_tuple()[:2])")
-ifeq "$(PYTHON_VERSION)" ""
-  $(error Could not determine the version of the python interpreter.)
-endif
-PYTHON_DIR = $(LIBDIR)/python$(PYTHON_VERSION)/site-packages/ddns
-
-VERSION_FILE = ddns/__version__.py
-
-###
-# Translation stuff
-###
-# A list of all files that need translation
-TRANSLATION_FILES = $(wildcard ddns/*.py) ddns.py
-
-POT_FILE = po/$(PACKAGE_NAME).pot
-PO_FILES = $(wildcard po/*.po)
-MO_FILES = $(patsubst %.po,%.mo,$(PO_FILES))
-
-################################################################################
-
-all: $(POT_FILE) $(MO_FILES)
-       @: # Do nothing else.
-
-$(VERSION_FILE): Makefile
-       echo "# this file is autogenerated by the build system" > $(VERSION_FILE)
-       echo "CLIENT_VERSION = \"$(PACKAGE_VERSION)\"" >> $(VERSION_FILE)
-
-install: $(VERSION_FILE) $(MO_FILES)
-       # Install the main command.
-       -mkdir -pv $(DESTDIR)$(BINDIR)
-       install -v -m 755 ddns.py $(DESTDIR)$(BINDIR)/ddns
-
-       # Install python module.
-       -mkdir -pv $(DESTDIR)$(PYTHON_DIR)
-       install -v -m 644 ddns/*.py $(DESTDIR)$(PYTHON_DIR)
-
-       # Install the example configuration file.
-       -mkdir -pv $(DESTDIR)$(SYSCONFDIR)
-       install -v -m 640 ddns.conf $(DESTDIR)$(SYSCONFDIR)/ddns.conf
-
-       # Install translation files.
-       -mkdir -pv $(DESTDIR)$(LOCALEDIR)
-       for file in $(MO_FILES); do \
-               lang=$${file/.mo/}; \
-               mkdir -pv $(DESTDIR)$(LOCALEDIR)/$${lang}/LC_MESSAGES; \
-               install -v -m 644 $${file} \
-                       $(DESTDIR)$(LOCALEDIR)/$${lang}/LC_MESSAGES/$(PACKAGE_NAME).mo; \
-       done
-
-# Cleanup temporary files.
-clean:
-       rm -f $(VERSION_FILE)
-       rm -f $(MO_FILES)
-
-# Translation stuff.
-$(POT_FILE): $(TRANSLATION_FILES) Makefile
-       xgettext --language python -d $(PACKAGE_NAME) -k_ -kN_ \
-                -o $@ --add-comments --from-code=UTF-8 $^
-
-# Compile gettext dictionaries from translation files.
-%.mo: %.po $(POT_FILE)
-       msgfmt -o $@ $<
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..66c6a15
--- /dev/null
@@ -0,0 +1,68 @@
+###############################################################################
+#                                                                             #
+# Pakfire - The IPFire package management system                              #
+# Copyright (C) 2013 Pakfire development team                                 #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
+AM_MAKEFLAGS = --no-print-directory
+AUTOMAKE_OPTIONS = color-tests
+
+# remove target it the command fails
+.DELETE_ON_ERROR:
+
+# keep itermediate files
+.SECONDARY:
+
+SUBDIRS = . po
+
+pythondir  = $(pyexecdir)
+
+configsdir = $(sysconfdir)/ddns
+
+CLEANFILES =
+DISTCLEANFILES =
+EXTRA_DIST =
+
+@INTLTOOL_POLICY_RULE@
+
+.PHONY: update-po
+update-po:
+       $(MAKE) -C po update-po
+
+# ------------------------------------------------------------------------------
+
+dist_doc_DATA = \
+       COPYING
+
+# ------------------------------------------------------------------------------
+
+dist_bin_SCRIPTS = \
+       ddns
+
+dist_configs_DATA = \
+       ddns.conf
+
+ddns_PYTHON = \
+       src/ddns/__init__.py \
+       src/ddns/__version__.py \
+       src/ddns/errors.py \
+       src/ddns/i18n.py \
+       src/ddns/providers.py \
+       src/ddns/system.py
+
+ddnsdir = $(pythondir)/ddns
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..077e109
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+intltoolize --force --automake
+autoreconf --force --install --symlink
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..fae19f0
--- /dev/null
@@ -0,0 +1,68 @@
+###############################################################################
+#                                                                             #
+# Pakfire - The IPFire package management system                              #
+# Copyright (C) 2013 Pakfire development team                                 #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+AC_PREREQ([2.64])
+
+AC_INIT([ddns],
+       [0.01],
+       [info@ipfire.org],
+       [ddns],
+       [http://git.ipfire.org/?p=oddments/ddns.git;a=summary])
+
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_AUX_DIR([build-aux])
+
+AC_PREFIX_DEFAULT([/usr])
+
+AM_INIT_AUTOMAKE([
+       foreign
+       1.11
+       -Wall
+       -Wno-portability
+       silent-rules
+       tar-pax
+       subdir-objects
+])
+AM_SILENT_RULES([yes])
+
+IT_PROG_INTLTOOL([0.40.0])
+
+GETTEXT_PACKAGE=ddns
+AC_SUBST(GETTEXT_PACKAGE)
+
+AC_PROG_LN_S
+AC_PROG_MKDIR_P
+
+# Python
+AM_PATH_PYTHON([2.7])
+
+save_LIBS="$LIBS"
+
+AC_CONFIG_FILES([
+       Makefile
+       po/Makefile.in
+       src/ddns/__version__.py
+])
+
+AC_OUTPUT
+AC_MSG_RESULT([
+       $PACKAGE_NAME $VERSION
+
+])
diff --git a/ddns.py b/ddns
similarity index 100%
rename from ddns.py
rename to ddns
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644 (file)
index 0000000..55eaa80
--- /dev/null
@@ -0,0 +1,6 @@
+intltool.m4
+libtool.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+lt~obsolete.m4
diff --git a/po/.gitignore b/po/.gitignore
new file mode 100644 (file)
index 0000000..ee12156
--- /dev/null
@@ -0,0 +1,4 @@
+POTFILES
+Makefile.in.in
+.intltool-merge-cache
+Makefile
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644 (file)
index 0000000..0cd1049
--- /dev/null
@@ -0,0 +1,28 @@
+ar
+ca
+cs_CZ
+da
+de
+el_GR
+es
+fa
+fr
+hu
+id
+it
+ja
+km_KH
+nl
+pl
+pt_BR
+pt_PT
+ro_RO
+ru
+sq
+sv
+th
+tk
+tr
+uk
+uz@Latn
+vi
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644 (file)
index 0000000..0d71735
--- /dev/null
@@ -0,0 +1,2 @@
+src/ddns/__init__.py
+src/ddns/system.py
diff --git a/po/ar.po b/po/ar.po
new file mode 100644 (file)
index 0000000..4d27cff
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Jasem Elayeb <j.elayeb@itech.ly>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-03-22 23:52+0000\n"
+"Last-Translator: Jasem Elayeb <j.elayeb@itech.ly>\n"
+"Language-Team: Arabic (http://www.transifex.com/projects/p/ipfire/language/ar/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ar\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "لايوجد اي مدخلات ملف الاعدادات. جاري الخروج."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "فشل عملية تحديث ال DynDNS لل  %(hostname)s (%(provider)s) :"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "تحديث الDyndDNS لل  %(hostname)s (%(provider)s)  انتجت استثناء غير معالج:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "نجاح تحديث ال DynDNS لل  %(hostname)s (%(provider)s)  "
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "طلب العنوان:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "اجابة العنوان:"
diff --git a/po/ca.po b/po/ca.po
new file mode 100644 (file)
index 0000000..1f9b315
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Catalan (http://www.transifex.com/projects/p/ipfire/language/ca/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ca\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
new file mode 100644 (file)
index 0000000..007dfd3
--- /dev/null
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# n3oklan <michal@gavlik.eu>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-01-06 12:36+0000\n"
+"Last-Translator: n3oklan <michal@gavlik.eu>\n"
+"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/ipfire/language/cs_CZ/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: cs_CZ\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Nenalezeny žádné záznamy v konfiguračním souboru. Ukončuji."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Dynamická aktualizace DNS pro %(hostname)s (%(provider)s) selhala:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Dynamická aktualizace DNS pro %(hostname)s (%(provider)s) vyvolala neošetřenou vyjímku:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Dynamická aktualizace DNS pro %(hostname)s (%(provider)s) úspěšná"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Žádost hlavičky:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Odpověď hlavičky:"
diff --git a/po/da.po b/po/da.po
new file mode 100644 (file)
index 0000000..390f03b
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Henrik Simonsen <cybermaze@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-01-03 20:11+0000\n"
+"Last-Translator: Henrik Simonsen <cybermaze@gmail.com>\n"
+"Language-Team: Danish (http://www.transifex.com/projects/p/ipfire/language/da/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: da\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Fandt ingen indgange i konfigurationsfilen. Afslutter."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Dynamisk DNS opdatering af %(hostname)s (%(provider)s) fejlede:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Dynamisk DNS opdatering af %(hostname)s (%(provider)s) kastede en ubehandlet undtagelse:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Dynamisk DNS opdatering af %(hostname)s (%(provider)s) succesfuld"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Request header:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Response header:"
index 15d01bc..48ab322 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"POT-Creation-Date: 2014-06-09 14:07+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,32 +17,32 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ddns/__init__.py:117
+#: ../src/ddns/__init__.py:136
 msgid "Found no entries in the configuration file. Exiting."
 msgstr ""
 
-#: ddns/__init__.py:129
+#: ../src/ddns/__init__.py:148
 #, python-format
 msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
 msgstr ""
 
-#: ddns/__init__.py:134
+#: ../src/ddns/__init__.py:153
 #, python-format
 msgid ""
 "Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
 "exception:"
 msgstr ""
 
-#: ddns/__init__.py:138
+#: ../src/ddns/__init__.py:157
 #, python-format
 msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
 msgstr ""
 
-#: ddns/system.py:73
+#: ../src/ddns/system.py:120
 msgid "Request header:"
 msgstr ""
 
 #. Log response header.
-#: ddns/system.py:81
+#: ../src/ddns/system.py:128
 msgid "Response header:"
 msgstr ""
diff --git a/po/el_GR.po b/po/el_GR.po
new file mode 100644 (file)
index 0000000..4414811
--- /dev/null
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-04-13 12:58+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/ipfire/language/el_GR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: el_GR\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/es.po b/po/es.po
new file mode 100644 (file)
index 0000000..72af8a9
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Andrés Reyes <andres.rt@gmail.com>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/ipfire/language/es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: es\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "No se han encontrado entradas en el fichero de configuración. Saliendo."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "La actualizacón dinámica de DNS para %(hostname)s (%(provider)s) ha fallado."
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "La actualizacón dinámica de DNS para %(hostname)s (%(provider)s) ha lanzado una excepción no manejada."
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "La actualizacón dinámica de DNS para %(hostname)s (%(provider)s) ha resultado satisfactoria."
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Cabecera de la petición:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Cabecera de la respuesta:"
diff --git a/po/fa.po b/po/fa.po
new file mode 100644 (file)
index 0000000..f0d1062
--- /dev/null
+++ b/po/fa.po
@@ -0,0 +1,50 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Khalil Delavaran <khalil.delavaran@gmail.com>, 2013
+# Reza Moghadam <r.moghadam@hotmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Khalil Delavaran <khalil.delavaran@gmail.com>\n"
+"Language-Team: Persian (http://www.transifex.com/projects/p/ipfire/language/fa/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fa\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "هیچ نوشته ای در فایل پیکربندی یافت نشد. در حال خارج شدن میباشید."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "بروزرسانی Dynamic DNS برای %(hostname)s (%(provider)s) شکست خورد:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "بروزرسانی Dynamic DNS برای %(hostname)s (%(provider)s) یک استثنا اداره نشده باطل :"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Dynamic DNS برای %(hostname)s (%(provider)s) بروزرسانی شد"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "درخواست هدر:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "پاسخ هدر:"
diff --git a/po/fr.po b/po/fr.po
new file mode 100644 (file)
index 0000000..4999f9c
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# RafaelK <rafael@keramid.as>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: French (http://www.transifex.com/projects/p/ipfire/language/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Aucune entrée trouvée dans le fichier de configuration. Sortie."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Mise à jour du DNS dynamique pour %(hostname)s (%(provider)s) a échouée :"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Mise à jour du DNS dynamique pour %(hostname)s (%(provider)s) a retourné une exception non gérée :"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Mise à jour du DNS dynamique pour %(hostname)s (%(provider)s) a été effectuée avec succès"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "En-tête de requête:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "En-tête de réponse:"
diff --git a/po/hu.po b/po/hu.po
new file mode 100644 (file)
index 0000000..9ebd0fd
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Gábor Sávolyi <huginn@naglfar.hu>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/ipfire/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Nem találhatóak bejegyzések a konfigurációs fájlban. Feladat vége."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "A %(hostname)s (%(provider)s) Dynamic DNS cím frissítése sikertelen:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "A %(hostname)s (%(provider)s) Dynamic DNS cím frissítése nem várt választ adott:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "A %(hostname)s (%(provider)s) Dynamic DNS cím frissítése sikeres."
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "A lekérés fejléce:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "A válasz fejléce:"
diff --git a/po/id.po b/po/id.po
new file mode 100644 (file)
index 0000000..3c04aaa
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# yudi.akbar <yudi.akbar@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-01-05 10:59+0000\n"
+"Last-Translator: yudi.akbar <yudi.akbar@gmail.com>\n"
+"Language-Team: Indonesian (http://www.transifex.com/projects/p/ipfire/language/id/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: id\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Tidak ditemukan entri dalam berkas konfigurasi. Keluar."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Pembaruan DNS dinamis untuk %(hostname)s (%(provider)s) gagal:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Pembaruan DNS dinamis untuk %(hostname)s (%(provider)s) dilepaskan suatu pengecualian yang tidak tertangani:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Pembaruan DNS dinamis untuk %(hostname)s (%(provider)s) berhasil"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Header permintaan:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Header tanggapan:"
diff --git a/po/it.po b/po/it.po
new file mode 100644 (file)
index 0000000..e10bab0
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# umberto <web.af@email.it>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: umberto <web.af@email.it>\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/ipfire/language/it/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: it\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Non ha trovato voci nel file di configurazione"
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Aggiornamento DNS dinamico fallita per  %(hostname)s (%(provider)s)"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Aggiornamento DNS dinamico per  %(hostname)s (%(provider)s) generata un'eccezione non gestita:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Aggiornamento DNS dinamico per %(hostname)s (%(provider)s) eseguito con successo"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Intestazione di richiesta:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Intestazione di risposta:"
diff --git a/po/ja.po b/po/ja.po
new file mode 100644 (file)
index 0000000..2d45475
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-04-12 14:23+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Japanese (http://www.transifex.com/projects/p/ipfire/language/ja/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ja\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/km_KH.po b/po/km_KH.po
new file mode 100644 (file)
index 0000000..5ce3725
--- /dev/null
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Khmer (Cambodia) (http://www.transifex.com/projects/p/ipfire/language/km_KH/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: km_KH\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/nl.po b/po/nl.po
new file mode 100644 (file)
index 0000000..fe029eb
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Hans <dutchtux@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Dutch (http://www.transifex.com/projects/p/ipfire/language/nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Geen items gevonden in het configuratiebestand. Gestopt."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Dynamische DNS update voor %(hostname)s (%(provider)s) mislukt:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Dynamische DNS update voor %(hostname)s (%(provider)s) gaf een onverwerkte uitzondering:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Dynamische DNS update voor %(hostname)s (%(provider)s) geslaagd"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Aanvraag header:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Antwoord header:"
diff --git a/po/pl.po b/po/pl.po
new file mode 100644 (file)
index 0000000..e5bbcde
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Jakub Ratajczak <j.ratajczak@eqba.pl>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Polish (http://www.transifex.com/projects/p/ipfire/language/pl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pl\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Nie znaleziono żadnych wpisów w pliku configuracyjnym. Kończenie."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Aktualizacja dynamicznago DNS dla %(hostname)s (%(provider)s) nieudana:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Aktualizacja dynamicznago DNS dla %(hostname)s (%(provider)s) wywołała nieobsługiwany błąd: "
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Aktualizacja dynamicznago DNS dla %(hostname)s (%(provider)s) poprawna:"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Nagłówek żądania: "
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Nagłówek odpowiedzi: "
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644 (file)
index 0000000..42e6745
--- /dev/null
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# André Felipe Morro <andre@andremorro.com>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/ipfire/language/pt_BR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Não foram encontradas entradas no arquivo de configuração. Saindo."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Atualização de DNS Dinâmico para %(hostname)s (%(provider)s) falhou:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Atualização de DNS Dinâmico para %(hostname)s (%(provider)s) teve uma exceção não tratada:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Atualização de DNS Dinâmico para %(hostname)s (%(provider)s) bem sucedida"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Header solicitada:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Header de resposta:"
diff --git a/po/pt_PT.po b/po/pt_PT.po
new file mode 100644 (file)
index 0000000..7dcc854
--- /dev/null
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/ipfire/language/pt_PT/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: pt_PT\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/ro_RO.po b/po/ro_RO.po
new file mode 100644 (file)
index 0000000..407d828
--- /dev/null
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# robert lasic <robertlasic@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Romanian (Romania) (http://www.transifex.com/projects/p/ipfire/language/ro_RO/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ro_RO\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Nici o intrare în fișierul de configurare. Ieșire."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Eroare actualizare DNS dinamic %(hostname)s (%(provider)s):"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Actualizare DNS dinamic pentru %(hostname)s (%(provider)s) a generat o excepție netratată:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Actualizarea DNS dinamic pentru %(hostname)s (%(provider)s) s-a făcut cu succes."
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Cerere header:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Răspuns header:"
diff --git a/po/ru.po b/po/ru.po
new file mode 100644 (file)
index 0000000..90cf25a
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Вальчишин Андрій Олегович <v.andrey@i.ua>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/ipfire/language/ru/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Не найдено записей в конфигурационном файле. Выход."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Ошибка обновления Dynamic DNS для %(hostname)s (%(provider)s):"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Обновление Dynamic DNS для %(hostname)s (%(provider)s) вызвало необработанное исключение:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Обновление Dynamic DNS для %(hostname)s (%(provider)s) выполнено успешно."
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Заголовок запроса:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Заголовок ответа:"
diff --git a/po/sq.po b/po/sq.po
new file mode 100644 (file)
index 0000000..fe298bd
--- /dev/null
+++ b/po/sq.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Ardit Dani <ardit.dani@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-01-10 15:36+0000\n"
+"Last-Translator: Ardit Dani <ardit.dani@gmail.com>\n"
+"Language-Team: Albanian (http://www.transifex.com/projects/p/ipfire/language/sq/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sq\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Nuk gjeti asnjë hyrje në skedarin e konfigurimit. Dalje."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Azhornimi dinamik i DNS për %(hostname)s(%(provider)s) dështoj:"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Azhornimi dinamik i DNS për %(hostname)s (%(provider)s) holli një përjashtim të pambajtur:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Azhornimi dinamik i DNS për %(hostname)s (%(provider)s) me sukses"
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Kërkesë koke:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Përgjigje koke:"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644 (file)
index 0000000..4413873
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# softballs <andreas@meriq.se>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-05-13 20:59+0000\n"
+"Last-Translator: softballs <andreas@meriq.se>\n"
+"Language-Team: Swedish (http://www.transifex.com/projects/p/ipfire/language/sv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sv\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Hittade inte några inlägg i konfigurations filen. Avslutar."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/th.po b/po/th.po
new file mode 100644 (file)
index 0000000..158c54b
--- /dev/null
+++ b/po/th.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Thai (http://www.transifex.com/projects/p/ipfire/language/th/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: th\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/tk.po b/po/tk.po
new file mode 100644 (file)
index 0000000..176bdfe
--- /dev/null
+++ b/po/tk.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2012-07-19 17:07+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Turkmen (http://www.transifex.com/projects/p/ipfire/language/tk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tk\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/tr.po b/po/tr.po
new file mode 100644 (file)
index 0000000..f78f834
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Ersan YILDIRIM <yakazan@gmail.com>, 2014
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2014-01-16 16:51+0000\n"
+"Last-Translator: Ersan YILDIRIM <yakazan@gmail.com>\n"
+"Language-Team: Turkish (http://www.transifex.com/projects/p/ipfire/language/tr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: tr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Yapılandırma dosyasında hiçbir girdi bulunamadı. Çıkılıyor."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "%(hostname)s (%(provider)s) için dinami DNS güncelleştirmesi başarısız oldu."
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "%(hostname)s (%(provider)s) dinamik DNS işlenmesinde özel bir durum oluştu:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "%(hostname)s (%(provider)s) için dinamik DNS güncellemesi başarıyla yapıldı "
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Başlık isteği:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Başlık yanıtı:"
diff --git a/po/uk.po b/po/uk.po
new file mode 100644 (file)
index 0000000..a04bcad
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+# Вальчишин Андрій Олегович <v.andrey@i.ua>, 2012
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Ukrainian (http://www.transifex.com/projects/p/ipfire/language/uk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: uk\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr "Не знайдено записів в файлі конфігурації. Вихід."
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr "Помилка оновлення Dynamic DNS для %(hostname)s (%(provider)s):"
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr "Оновлення Dynamic DNS для %(hostname)s (%(provider)s) викликало неопрацьоване виключення:"
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr "Оновлення Dynamic DNS для %(hostname)s (%(provider)s) виконано."
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr "Заголовок запиту:"
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr "Заголовок відповіді"
diff --git a/po/uz@Latn.po b/po/uz@Latn.po
new file mode 100644 (file)
index 0000000..b49a8b9
--- /dev/null
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-12-20 10:28+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Uzbek (Latin) (http://www.transifex.com/projects/p/ipfire/language/uz@Latn/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: uz@Latn\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
diff --git a/po/vi.po b/po/vi.po
new file mode 100644 (file)
index 0000000..3b0308f
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# 
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: IPFire Project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-07-19 18:48+0000\n"
+"PO-Revision-Date: 2013-11-20 13:12+0000\n"
+"Last-Translator: Michael Tremer <michael.tremer@ipfire.org>\n"
+"Language-Team: Vietnamese (http://www.transifex.com/projects/p/ipfire/language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ddns/__init__.py:117
+msgid "Found no entries in the configuration file. Exiting."
+msgstr ""
+
+#: ddns/__init__.py:129
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) failed:"
+msgstr ""
+
+#: ddns/__init__.py:134
+#, python-format
+msgid ""
+"Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled "
+"exception:"
+msgstr ""
+
+#: ddns/__init__.py:138
+#, python-format
+msgid "Dynamic DNS update for %(hostname)s (%(provider)s) successful"
+msgstr ""
+
+#: ddns/system.py:73
+msgid "Request header:"
+msgstr ""
+
+#. Log response header.
+#: ddns/system.py:81
+msgid "Response header:"
+msgstr ""
similarity index 100%
rename from ddns/__init__.py
rename to src/ddns/__init__.py
diff --git a/src/ddns/__version__.py.in b/src/ddns/__version__.py.in
new file mode 100644 (file)
index 0000000..0d7bddc
--- /dev/null
@@ -0,0 +1,2 @@
+# this file is autogenerated by the buildsystem
+CLIENT_VERSION = "@PACKAGE_VERSION@"
similarity index 100%
rename from ddns/errors.py
rename to src/ddns/errors.py
similarity index 100%
rename from ddns/i18n.py
rename to src/ddns/i18n.py
similarity index 95%
rename from ddns/providers.py
rename to src/ddns/providers.py
index 3f91dd9..0a20e3a 100644 (file)
@@ -203,18 +203,21 @@ class DDNSProviderNOIP(DDNSProvider):
        # here: http://www.no-ip.com/integrate/request and
        # here: http://www.no-ip.com/integrate/response
 
-       url = "http://%(username)s:%(password)s@dynupdate.no-ip.com/nic/update?hostname=%(hostname)s&myip=%(address)s"
+       url = "http://%(username)s:%(password)s@dynupdate.no-ip.com/nic/update"
 
        def __call__(self):
                url = self.url % {
-                       "hostname" : self.hostname,
                        "username" : self.username,
                        "password" : self.password,
+               }
+
+               data = {
+                       "hostname" : self.hostname,
                        "address"  : self.get_address("ipv4"),
                }
 
                # Send update to the server.
-               response = self.send_request(url)
+               response = self.send_request(url, data=data)
 
                # Get the full response message.
                output = response.read()
@@ -243,12 +246,16 @@ class DDNSProviderSelfhost(DDNSProvider):
                "protocols" : ["ipv4",],
        }
 
-       url = "https://carol.selfhost.de/update?username=%(username)s&password=%(password)s&textmodi=1"
+       url = "https://carol.selfhost.de/update"
 
        def __call__(self):
-               url = self.url % { "username" : self.username, "password" : self.password }
+               data = {
+                       "username" : self.username,
+                       "password" : self.password,
+                       "textmodi" : "1",
+               }
 
-               response = self.send_request(url)
+               response = self.send_request(self.url, data=data)
 
                match = re.search("status=20(0|4)", response.read())
                if not match:
similarity index 88%
rename from ddns/system.py
rename to src/ddns/system.py
index e4e5731..6057ef4 100644 (file)
@@ -20,6 +20,7 @@
 ###############################################################################
 
 import re
+import urllib
 import urllib2
 
 from __version__ import CLIENT_VERSION
@@ -85,8 +86,17 @@ class DDNSSystem(object):
 
                        return match.group(1)
 
-       def send_request(self, url, data=None, timeout=30):
-               logger.debug("Sending request: %s" % url)
+       def send_request(self, url, method="GET", data=None, timeout=30):
+               assert method in ("GET", "POST")
+
+               # Add all arguments in the data dict to the URL and escape them properly.
+               if method == "GET" and data:
+                       query_args = self._format_query_args(data)
+                       data = None
+
+                       url = "%s?%s" % (url, query_args)
+
+               logger.debug("Sending request (%s): %s" % (method, url))
                if data:
                        logger.debug("  data: %s" % data)
 
@@ -105,6 +115,8 @@ class DDNSSystem(object):
                        # Configure the proxy for this request.
                        req.set_proxy(self.proxy, "http")
 
+               assert req.get_method() == method
+
                logger.debug(_("Request header:"))
                for k, v in req.headers.items():
                        logger.debug("  %s: %s" % (k, v))
@@ -123,6 +135,15 @@ class DDNSSystem(object):
                except urllib2.URLError, e:
                        raise
 
+       def _format_query_args(self, data):
+               args = []
+
+               for k, v in data.items():
+                       arg = "%s=%s" % (k, urllib.quote(v))
+                       args.append(arg)
+
+               return "&".join(args)
+
        def get_address(self, proto):
                assert proto in ("ipv6", "ipv4")