From: Michael Tremer Date: Mon, 9 Jun 2014 13:37:31 +0000 (+0200) Subject: Merge branch 'lightningwirelabs' X-Git-Tag: 001~77 X-Git-Url: http://git.ipfire.org/?p=oddments%2Fddns.git;a=commitdiff_plain;h=f07a11538a0c9568b21f807691979932be648ddd;hp=a08c1b72be35cb10b0f705c06cc5fcd706436301 Merge branch 'lightningwirelabs' --- diff --git a/.gitignore b/.gitignore index 35ef121..dbbef86 100644 --- a/.gitignore +++ b/.gitignore @@ -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-* diff --git a/.tx/config b/.tx/config index 8d2469e..871c47f 100644 --- a/.tx/config +++ b/.tx/config @@ -1,5 +1,5 @@ [main] -host = https://www.transifex.net +host = https://www.transifex.com [ipfire.dynamic-dns-client] file_filter = po/.po diff --git a/Makefile b/Makefile deleted file mode 100644 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 index 0000000..66c6a15 --- /dev/null +++ b/Makefile.am @@ -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 . # +# # +############################################################################### + +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 index 0000000..077e109 --- /dev/null +++ b/autogen.sh @@ -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 index 0000000..fae19f0 --- /dev/null +++ b/configure.ac @@ -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 . # +# # +############################################################################### + +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 index 0000000..55eaa80 --- /dev/null +++ b/m4/.gitignore @@ -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 index 0000000..ee12156 --- /dev/null +++ b/po/.gitignore @@ -0,0 +1,4 @@ +POTFILES +Makefile.in.in +.intltool-merge-cache +Makefile diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..0cd1049 --- /dev/null +++ b/po/LINGUAS @@ -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 index 0000000..0d71735 --- /dev/null +++ b/po/POTFILES.in @@ -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 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 , 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 \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 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 \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 index 0000000..007dfd3 --- /dev/null +++ b/po/cs_CZ.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: +# n3oklan , 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 \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 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 , 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 \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:" diff --git a/po/ddns.pot b/po/ddns.pot index 15d01bc..48ab322 100644 --- a/po/ddns.pot +++ b/po/ddns.pot @@ -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 \n" "Language-Team: LANGUAGE \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 index 0000000..4414811 --- /dev/null +++ b/po/el_GR.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-13 12:58+0000\n" +"Last-Translator: Michael Tremer \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 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 , 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 \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 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 , 2013 +# Reza Moghadam , 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 \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 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 , 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 \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 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 , 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 \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 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 , 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 \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 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 , 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 \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 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 \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 index 0000000..5ce3725 --- /dev/null +++ b/po/km_KH.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 \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 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 , 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 \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 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 , 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 \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 index 0000000..42e6745 --- /dev/null +++ b/po/pt_BR.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é Felipe Morro , 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 \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 index 0000000..7dcc854 --- /dev/null +++ b/po/pt_PT.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 \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 index 0000000..407d828 --- /dev/null +++ b/po/ro_RO.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: +# robert lasic , 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 \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 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: +# Вальчишин Андрій Олегович , 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 \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 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 , 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 \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 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 , 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 \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 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 \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 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 \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 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 , 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 \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 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: +# Вальчишин Андрій Олегович , 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 \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 index 0000000..b49a8b9 --- /dev/null +++ b/po/uz@Latn.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-12-20 10:28+0000\n" +"Last-Translator: Michael Tremer \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 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 \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 "" diff --git a/ddns/__init__.py b/src/ddns/__init__.py 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 index 0000000..0d7bddc --- /dev/null +++ b/src/ddns/__version__.py.in @@ -0,0 +1,2 @@ +# this file is autogenerated by the buildsystem +CLIENT_VERSION = "@PACKAGE_VERSION@" diff --git a/ddns/errors.py b/src/ddns/errors.py similarity index 100% rename from ddns/errors.py rename to src/ddns/errors.py diff --git a/ddns/i18n.py b/src/ddns/i18n.py similarity index 100% rename from ddns/i18n.py rename to src/ddns/i18n.py diff --git a/ddns/providers.py b/src/ddns/providers.py similarity index 95% rename from ddns/providers.py rename to src/ddns/providers.py index 3f91dd9..0a20e3a 100644 --- a/ddns/providers.py +++ b/src/ddns/providers.py @@ -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: diff --git a/ddns/system.py b/src/ddns/system.py similarity index 88% rename from ddns/system.py rename to src/ddns/system.py index e4e5731..6057ef4 100644 --- a/ddns/system.py +++ b/src/ddns/system.py @@ -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")