]> Frank Brehm's Git Trees - pixelpark/create-vmware-tpl.git/commitdiff
Translating lib/cr_vmware_tpl/config.py
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 8 Feb 2019 09:48:33 +0000 (10:48 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 8 Feb 2019 09:48:33 +0000 (10:48 +0100)
lib/cr_vmware_tpl/config.py
locale/create_vm_template.pot
locale/de_DE/LC_MESSAGES/create_vm_template.po
locale/en_US/LC_MESSAGES/create_vm_template.po

index 4e8998daaf67a0cf6e161ee46ab0abf1ff33d216..79ab9c8472410b2102630b26b420bef0a33645c4 100644 (file)
@@ -17,9 +17,14 @@ import re
 # Own modules
 from fb_tools.config import ConfigError, BaseConfiguration
 
-__version__ = '1.2.0'
+from .xlate import XLATOR
+
+__version__ = '1.3.0'
 LOG = logging.getLogger(__name__)
 
+_ = XLATOR.gettext
+ngettext = XLATOR.ngettext
+
 
 # =============================================================================
 class CrTplConfigError(ConfigError):
@@ -160,7 +165,7 @@ class CrTplConfiguration(BaseConfiguration):
         super(CrTplConfiguration, self).eval_config(config)
 
         if self.verbose > 1:
-            LOG.debug("Checking for unconfigured options ...")
+            LOG.debug(_("Checking for unconfigured options ..."))
 
         if self.max_wait_for_create_vm is None:
             self.max_wait_for_create_vm = self.max_wait_for_general
@@ -187,13 +192,13 @@ class CrTplConfiguration(BaseConfiguration):
             return
 
         if self.verbose > 1:
-            LOG.debug("Unhandled configuration section {!r}.".format(section_name))
+            LOG.debug(_("Unhandled configuration section {!r}.").format(section_name))
 
     # -------------------------------------------------------------------------
     def _eval_config_vsphere(self, config, section_name):
 
         if self.verbose > 1:
-            LOG.debug("Checking config section {!r} ...".format(section_name))
+            LOG.debug(_("Checking config section {!r} ...").format(section_name))
 
         re_excl_ds = re.compile(r'^\s*excluded?[-_]datastores?\s*$', re.IGNORECASE)
         re_split_ds = re.compile(r'[,;\s]+')
@@ -223,17 +228,15 @@ class CrTplConfiguration(BaseConfiguration):
             elif key.lower() == 'max_nr_templates_stay':
                 v = int(value)
                 if v < 1:
-                    LOG.error((
-                        "Value {val} for max_nr_templates_stay is less than {minval}, "
-                        "using {default}.").format(
-                            val=v, minval=1,
-                            default=self.default_max_nr_templates_stay))
+                    LOG.error(_(
+                        "Value {val} for {p} is less than {minval}, using {default}.").format(
+                        val=v, minval=1, p='max_nr_templates_stay',
+                        default=self.default_max_nr_templates_stay))
                 elif v >= 100:
-                    LOG.error((
-                        "Value {val} for max_nr_templates_stay is greater than {maxval}, "
-                        "using {default}.").format(
-                            val=v, maxval=100,
-                            default=self.default_max_nr_templates_stay))
+                    LOG.error(_(
+                        "Value {val} for {p} is greater than {maxval}, using {default}.").format(
+                        val=v, maxval=100, p='max_nr_templates_stay',
+                        default=self.default_max_nr_templates_stay))
                 else:
                     self.max_nr_templates_stay = v
 
@@ -247,7 +250,7 @@ class CrTplConfiguration(BaseConfiguration):
     def _eval_config_template(self, config, section_name):
 
         if self.verbose > 1:
-            LOG.debug("Checking config section {!r} ...".format(section_name))
+            LOG.debug(_("Checking config section {!r} ...").format(section_name))
 
         for (key, value) in config.items(section_name):
             if key.lower() == 'vm':
@@ -286,9 +289,9 @@ class CrTplConfiguration(BaseConfiguration):
     def _eval_timeout_value(self, prop_name, value, min_val, max_val, default_val):
 
         if self.verbose > 2:
-            LOG.debug("Checking value {v!r} for {p} ...".format(v=value, p=prop_name))
+            LOG.debug(_("Checking value {v!r} for {p} ...").format(v=value, p=prop_name))
         if self.verbose > 3:
-            LOG.debug((
+            LOG.debug(_(
                 "Minimal value: {min_val}, maximum value: {max_val}, "
                 "default value: {def_val}.").format(
                 min_val=min_val, max_val=max_val, def_val=default_val))
@@ -296,21 +299,21 @@ class CrTplConfiguration(BaseConfiguration):
         v = float(value)
 
         if v < min_val:
-            msg = (
+            msg = _(
                 "Value {val} for {prop} is less than {min_val}, "
                 "using {def_val} seconds.").format(val=v, min_val=min_val, def_val=default_val)
             LOG.error(msg)
             return
 
         if v < min_val:
-            msg = (
+            msg = _(
                 "Value {val} for {prop} is greater than {max_val}, "
                 "using {def_val} seconds.").format(val=v, max_val=max_val, def_val=default_val)
             LOG.error(msg)
             return
 
         if self.verbose > 2:
-            msg = "Setting timeout {p!r} to {v:0.1f} seconds.".format(p=prop_name, v=v)
+            msg = _("Setting timeout {p!r} to {v:0.1f} seconds.").format(p=prop_name, v=v)
             LOG.debug(msg)
         setattr(self, prop_name, v)
 
@@ -318,7 +321,7 @@ class CrTplConfiguration(BaseConfiguration):
     def _eval_config_timeouts(self, config, section_name):
 
         if self.verbose > 1:
-            LOG.debug("Checking config section {!r} for timeouts ...".format(section_name))
+            LOG.debug(_("Checking config section {!r} ...").format(section_name))
 
         for (key, value) in config.items(section_name):
             if key.lower() == 'max_wait_for_general':
index 34663739f5aa27eaa0c8ed3895738261edb071d8..e74a8e3283c61f03b1cd1a413e207bbca4dcc943 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: create_vm_template 1.0.0\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2019-02-08 10:33+0100\n"
+"POT-Creation-Date: 2019-02-08 10:47+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,116 +17,156 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.6.0\n"
 
-#: lib/cr_vmware_tpl/app.py:67
+#: lib/cr_vmware_tpl/app.py:66
 msgid "Value must be at least 1, {} was given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:71
+#: lib/cr_vmware_tpl/app.py:70
 msgid "Value must be at most {m} - {v} was given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:96
+#: lib/cr_vmware_tpl/app.py:95
 msgid "File {!r} does not exists."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:99
+#: lib/cr_vmware_tpl/app.py:98
 msgid "File {!r} is not a regular file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:120
+#: lib/cr_vmware_tpl/app.py:119
 msgid ""
 "Creates in the given VSphere environment and cluster a template object, which can be used to "
 "spawn different virtual machines."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:196
+#: lib/cr_vmware_tpl/app.py:195
 msgid "Read configuration:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:201
+#: lib/cr_vmware_tpl/app.py:200
 msgid "Enter password for host {h!r} and user {u!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:231
+#: lib/cr_vmware_tpl/app.py:230
 msgid "Abort creation of VMWare template after successsful creation of template VM."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:236
+#: lib/cr_vmware_tpl/app.py:235
 msgid "FILE"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:238
+#: lib/cr_vmware_tpl/app.py:237
 msgid "Configuration file (default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:241
+#: lib/cr_vmware_tpl/app.py:240
 msgid "VMWare options"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:245
+#: lib/cr_vmware_tpl/app.py:244
 msgid "Remote VSphere host to connect to (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:251
+#: lib/cr_vmware_tpl/app.py:250
 msgid "Port on VSphere host to connect on (Default: {})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:256
+#: lib/cr_vmware_tpl/app.py:255
 msgid "USER"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:257
+#: lib/cr_vmware_tpl/app.py:256
 msgid "User name to use when connecting to VSphere host (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:262
+#: lib/cr_vmware_tpl/app.py:261
 msgid "PASSWORD"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:263
+#: lib/cr_vmware_tpl/app.py:262
 msgid "Password to use when connecting to VSphere host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:267
+#: lib/cr_vmware_tpl/app.py:266
 msgid "FOLDER"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:268
+#: lib/cr_vmware_tpl/app.py:267
 msgid "VM folder in VSphere, where to create the template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:274
+#: lib/cr_vmware_tpl/app.py:273
 msgid "Host cluster in VSphere, where to create the template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:281
+#: lib/cr_vmware_tpl/app.py:280
 msgid "The temporary VM, which will be created and converted into a template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:287
+#: lib/cr_vmware_tpl/app.py:286
 msgid "TEMPLATE"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:288
+#: lib/cr_vmware_tpl/app.py:287
 msgid "The name of the created template as result of this script (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:298
+#: lib/cr_vmware_tpl/app.py:297
 msgid "Maximum number of templates to stay in templates folder (1 <= x < {max_nr}, Default: {def_nr})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:305
+#: lib/cr_vmware_tpl/app.py:304
 msgid "Execute rotation of existing templates only, don't create a new one."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:350
+#: lib/cr_vmware_tpl/app.py:349
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:357
+#: lib/cr_vmware_tpl/app.py:356
 msgid "Temporary VM"
 msgstr ""
 
+#: lib/cr_vmware_tpl/config.py:168
+msgid "Checking for unconfigured options ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:195
+msgid "Unhandled configuration section {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:201 lib/cr_vmware_tpl/config.py:253 lib/cr_vmware_tpl/config.py:324
+msgid "Checking config section {!r} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:231
+msgid "Value {val} for {p} is less than {minval}, using {default}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:236
+msgid "Value {val} for {p} is greater than {maxval}, using {default}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:292
+msgid "Checking value {v!r} for {p} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:294
+msgid "Minimal value: {min_val}, maximum value: {max_val}, default value: {def_val}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:302
+msgid "Value {val} for {prop} is less than {min_val}, using {def_val} seconds."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:309
+msgid "Value {val} for {prop} is greater than {max_val}, using {def_val} seconds."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:316
+msgid "Setting timeout {p!r} to {v:0.1f} seconds."
+msgstr ""
+
 #: lib/cr_vmware_tpl/xlate.py:54
 msgid "Module directory: {!r}"
 msgstr ""
index 72d143f50a4f807277fc0a84e6032f106461bfc3..b218c81e0caf2b8e27cb682ca6764e869eb206e9 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: create_vm_template 1.0.0\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2019-02-08 10:33+0100\n"
-"PO-Revision-Date: 2019-02-08 10:15+0100\n"
+"POT-Creation-Date: 2019-02-08 10:47+0100\n"
+"PO-Revision-Date: 2019-02-08 10:50+0100\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: de_DE\n"
 "Language-Team: de_DE <LL@li.org>\n"
@@ -18,23 +18,23 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.6.0\n"
 
-#: lib/cr_vmware_tpl/app.py:67
+#: lib/cr_vmware_tpl/app.py:66
 msgid "Value must be at least 1, {} was given."
 msgstr "Der Wert muss mindesten 1 sein, {} wurde gegeben."
 
-#: lib/cr_vmware_tpl/app.py:71
+#: lib/cr_vmware_tpl/app.py:70
 msgid "Value must be at most {m} - {v} was given."
 msgstr "Der Wert darf höchsten {m} sein - {} wurde gegeben."
 
-#: lib/cr_vmware_tpl/app.py:96
+#: lib/cr_vmware_tpl/app.py:95
 msgid "File {!r} does not exists."
 msgstr "Die Datei {!r} existiert nicht."
 
-#: lib/cr_vmware_tpl/app.py:99
+#: lib/cr_vmware_tpl/app.py:98
 msgid "File {!r} is not a regular file."
 msgstr "Die Datei {!r} ist keine reguläre Datei."
 
-#: lib/cr_vmware_tpl/app.py:120
+#: lib/cr_vmware_tpl/app.py:119
 msgid ""
 "Creates in the given VSphere environment and cluster a template object, which can be used to "
 "spawn different virtual machines."
@@ -42,98 +42,138 @@ msgstr ""
 "Erstellt in der gegebenen VSphere-Umgebung und -Cluster ein Vorlagen-Objekt, das genutzt werden "
 "kann, daraus verschiede virtuelle Maschinen zu erzeugen."
 
-#: lib/cr_vmware_tpl/app.py:196
+#: lib/cr_vmware_tpl/app.py:195
 msgid "Read configuration:"
 msgstr "Gelesene Konfiguration:"
 
-#: lib/cr_vmware_tpl/app.py:201
+#: lib/cr_vmware_tpl/app.py:200
 msgid "Enter password for host {h!r} and user {u!r}:"
 msgstr "Eingabe des Passwortes für Host {h!r} und Nutzer {u!r}:"
 
-#: lib/cr_vmware_tpl/app.py:231
+#: lib/cr_vmware_tpl/app.py:230
 msgid "Abort creation of VMWare template after successsful creation of template VM."
 msgstr "Abbruch der der Erstellung der VMWare-Vorlage nach erfolgreicher Erstellung der Vorlagen-VM."
 
-#: lib/cr_vmware_tpl/app.py:236
+#: lib/cr_vmware_tpl/app.py:235
 msgid "FILE"
 msgstr "DATEI"
 
-#: lib/cr_vmware_tpl/app.py:238
+#: lib/cr_vmware_tpl/app.py:237
 msgid "Configuration file (default: {!r})."
 msgstr "Konfigurations-Datei (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:241
+#: lib/cr_vmware_tpl/app.py:240
 msgid "VMWare options"
 msgstr "VMWare-Optionen"
 
-#: lib/cr_vmware_tpl/app.py:245
+#: lib/cr_vmware_tpl/app.py:244
 msgid "Remote VSphere host to connect to (Default: {!r})."
 msgstr "Der VSphere-Host, mit dem sich verbunden werden soll (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:251
+#: lib/cr_vmware_tpl/app.py:250
 msgid "Port on VSphere host to connect on (Default: {})."
 msgstr "Der Port am VSphere-Host, mit dem sich verbunden werden soll (Vorgabe: {})."
 
-#: lib/cr_vmware_tpl/app.py:256
+#: lib/cr_vmware_tpl/app.py:255
 msgid "USER"
 msgstr "BENUTZER"
 
-#: lib/cr_vmware_tpl/app.py:257
+#: lib/cr_vmware_tpl/app.py:256
 msgid "User name to use when connecting to VSphere host (Default: {!r})."
 msgstr "Der Benutzername, um sich mit dem vSphere-Host zu verbinden (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:262
+#: lib/cr_vmware_tpl/app.py:261
 msgid "PASSWORD"
 msgstr "PASSWORT"
 
-#: lib/cr_vmware_tpl/app.py:263
+#: lib/cr_vmware_tpl/app.py:262
 msgid "Password to use when connecting to VSphere host."
 msgstr "Das Passwort, um sich mit dem VSphere-Host zu verbinden."
 
-#: lib/cr_vmware_tpl/app.py:267
+#: lib/cr_vmware_tpl/app.py:266
 msgid "FOLDER"
 msgstr "ORDNER"
 
-#: lib/cr_vmware_tpl/app.py:268
+#: lib/cr_vmware_tpl/app.py:267
 msgid "VM folder in VSphere, where to create the template (Default: {!r})."
 msgstr "Der VM-Ordner in VSphere, in dem die Vorlage erstellt werden soll (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:274
+#: lib/cr_vmware_tpl/app.py:273
 msgid "Host cluster in VSphere, where to create the template (Default: {!r})."
 msgstr "Der Host-Cluster in VSphere, in dem die Vorlage erstellt werden soll (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:281
+#: lib/cr_vmware_tpl/app.py:280
 msgid "The temporary VM, which will be created and converted into a template (Default: {!r})."
 msgstr ""
 "Die temporäre Virtuelle Maschine, die erstellt und in eine Vorlage konvertiert wird (Vorgabe: "
 "{!r})."
 
-#: lib/cr_vmware_tpl/app.py:287
+#: lib/cr_vmware_tpl/app.py:286
 msgid "TEMPLATE"
 msgstr "VORLAGE"
 
-#: lib/cr_vmware_tpl/app.py:288
+#: lib/cr_vmware_tpl/app.py:287
 msgid "The name of the created template as result of this script (Default: {!r})."
 msgstr "Der Name der erstellten Vorlage als Ergebnis dieses Scripts (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:298
+#: lib/cr_vmware_tpl/app.py:297
 msgid "Maximum number of templates to stay in templates folder (1 <= x < {max_nr}, Default: {def_nr})."
 msgstr ""
 "Die maximale Anzahl von Vorlagen zum Verbleib im Vorlagen-Ordner (1 <= x < {max_nr}, Vorgabe: "
 "{def_nr})."
 
-#: lib/cr_vmware_tpl/app.py:305
+#: lib/cr_vmware_tpl/app.py:304
 msgid "Execute rotation of existing templates only, don't create a new one."
 msgstr "Führe nur Rotation der existierenden Vorlagen aus, erstelle keine neue Vorlage."
 
-#: lib/cr_vmware_tpl/app.py:350
+#: lib/cr_vmware_tpl/app.py:349
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr "Starte {a!r}, Version {v!r} …"
 
-#: lib/cr_vmware_tpl/app.py:357
+#: lib/cr_vmware_tpl/app.py:356
 msgid "Temporary VM"
 msgstr "Temporäre VM"
 
+#: lib/cr_vmware_tpl/config.py:168
+msgid "Checking for unconfigured options ..."
+msgstr "Überprüfe nicht konfigurierte Optionen …"
+
+#: lib/cr_vmware_tpl/config.py:195
+msgid "Unhandled configuration section {!r}."
+msgstr "Nicht verwendeter Konfigurationsabschnitt {!r}."
+
+#: lib/cr_vmware_tpl/config.py:201 lib/cr_vmware_tpl/config.py:253 lib/cr_vmware_tpl/config.py:324
+msgid "Checking config section {!r} ..."
+msgstr "Überprüfe Konfigurationsabschnitt {!r} …"
+
+#: lib/cr_vmware_tpl/config.py:231
+msgid "Value {val} for {p} is less than {minval}, using {default}."
+msgstr "Der Wert {val} für {p} ist kleiner als {minval}, verwende {default}."
+
+#: lib/cr_vmware_tpl/config.py:236
+msgid "Value {val} for {p} is greater than {maxval}, using {default}."
+msgstr "Der Wert {val} für {p} ist größer als {maxval}, verwende {default}."
+
+#: lib/cr_vmware_tpl/config.py:292
+msgid "Checking value {v!r} for {p} ..."
+msgstr "Überprüfe Wert {v!r} für {p} …"
+
+#: lib/cr_vmware_tpl/config.py:294
+msgid "Minimal value: {min_val}, maximum value: {max_val}, default value: {def_val}."
+msgstr "Minimalwert: {min_val}, Maximalwert: {max_val}, Vorgabewert: {def_val}."
+
+#: lib/cr_vmware_tpl/config.py:302
+msgid "Value {val} for {prop} is less than {min_val}, using {def_val} seconds."
+msgstr "Der Wert {val} für {prop} ist kleiner als {min_val}, verwende {def_val} Sekunden."
+
+#: lib/cr_vmware_tpl/config.py:309
+msgid "Value {val} for {prop} is greater than {max_val}, using {def_val} seconds."
+msgstr "Der Wert {val} für {prop} ist größer als {max_val}, verwende {def_val} Sekunden."
+
+#: lib/cr_vmware_tpl/config.py:316
+msgid "Setting timeout {p!r} to {v:0.1f} seconds."
+msgstr "Setze Timeout {p!r} auf {v:0.1f} Sekunden."
+
 #: lib/cr_vmware_tpl/xlate.py:54
 msgid "Module directory: {!r}"
 msgstr "Modul-Verzeichnis: {!r}"
index a5b438412d4f915da7094948f0202a989530ad73..f0ed1f6a2d10fcc23f5f312ce8b50a69918217a0 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: create_vm_template 1.0.0\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2019-02-08 10:33+0100\n"
+"POT-Creation-Date: 2019-02-08 10:47+0100\n"
 "PO-Revision-Date: 2019-02-08 09:56+0100\n"
 "Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
 "Language: en_US\n"
@@ -18,116 +18,156 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: Babel 2.6.0\n"
 
-#: lib/cr_vmware_tpl/app.py:67
+#: lib/cr_vmware_tpl/app.py:66
 msgid "Value must be at least 1, {} was given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:71
+#: lib/cr_vmware_tpl/app.py:70
 msgid "Value must be at most {m} - {v} was given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:96
+#: lib/cr_vmware_tpl/app.py:95
 msgid "File {!r} does not exists."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:99
+#: lib/cr_vmware_tpl/app.py:98
 msgid "File {!r} is not a regular file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:120
+#: lib/cr_vmware_tpl/app.py:119
 msgid ""
 "Creates in the given VSphere environment and cluster a template object, which can be used to "
 "spawn different virtual machines."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:196
+#: lib/cr_vmware_tpl/app.py:195
 msgid "Read configuration:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:201
+#: lib/cr_vmware_tpl/app.py:200
 msgid "Enter password for host {h!r} and user {u!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:231
+#: lib/cr_vmware_tpl/app.py:230
 msgid "Abort creation of VMWare template after successsful creation of template VM."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:236
+#: lib/cr_vmware_tpl/app.py:235
 msgid "FILE"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:238
+#: lib/cr_vmware_tpl/app.py:237
 msgid "Configuration file (default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:241
+#: lib/cr_vmware_tpl/app.py:240
 msgid "VMWare options"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:245
+#: lib/cr_vmware_tpl/app.py:244
 msgid "Remote VSphere host to connect to (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:251
+#: lib/cr_vmware_tpl/app.py:250
 msgid "Port on VSphere host to connect on (Default: {})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:256
+#: lib/cr_vmware_tpl/app.py:255
 msgid "USER"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:257
+#: lib/cr_vmware_tpl/app.py:256
 msgid "User name to use when connecting to VSphere host (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:262
+#: lib/cr_vmware_tpl/app.py:261
 msgid "PASSWORD"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:263
+#: lib/cr_vmware_tpl/app.py:262
 msgid "Password to use when connecting to VSphere host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:267
+#: lib/cr_vmware_tpl/app.py:266
 msgid "FOLDER"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:268
+#: lib/cr_vmware_tpl/app.py:267
 msgid "VM folder in VSphere, where to create the template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:274
+#: lib/cr_vmware_tpl/app.py:273
 msgid "Host cluster in VSphere, where to create the template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:281
+#: lib/cr_vmware_tpl/app.py:280
 msgid "The temporary VM, which will be created and converted into a template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:287
+#: lib/cr_vmware_tpl/app.py:286
 msgid "TEMPLATE"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:288
+#: lib/cr_vmware_tpl/app.py:287
 msgid "The name of the created template as result of this script (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:298
+#: lib/cr_vmware_tpl/app.py:297
 msgid "Maximum number of templates to stay in templates folder (1 <= x < {max_nr}, Default: {def_nr})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:305
+#: lib/cr_vmware_tpl/app.py:304
 msgid "Execute rotation of existing templates only, don't create a new one."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:350
+#: lib/cr_vmware_tpl/app.py:349
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:357
+#: lib/cr_vmware_tpl/app.py:356
 msgid "Temporary VM"
 msgstr ""
 
+#: lib/cr_vmware_tpl/config.py:168
+msgid "Checking for unconfigured options ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:195
+msgid "Unhandled configuration section {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:201 lib/cr_vmware_tpl/config.py:253 lib/cr_vmware_tpl/config.py:324
+msgid "Checking config section {!r} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:231
+msgid "Value {val} for {p} is less than {minval}, using {default}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:236
+msgid "Value {val} for {p} is greater than {maxval}, using {default}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:292
+msgid "Checking value {v!r} for {p} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:294
+msgid "Minimal value: {min_val}, maximum value: {max_val}, default value: {def_val}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:302
+msgid "Value {val} for {prop} is less than {min_val}, using {def_val} seconds."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:309
+msgid "Value {val} for {prop} is greater than {max_val}, using {def_val} seconds."
+msgstr ""
+
+#: lib/cr_vmware_tpl/config.py:316
+msgid "Setting timeout {p!r} to {v:0.1f} seconds."
+msgstr ""
+
 #: lib/cr_vmware_tpl/xlate.py:54
 msgid "Module directory: {!r}"
 msgstr ""
@@ -148,30 +188,3 @@ msgstr ""
 msgid "Found .mo-file: {!r}"
 msgstr ""
 
-#~ msgid ""
-#~ "Creates in the given vSphere environment and "
-#~ "cluster a template object, which can be used "
-#~ "to spawn different virtual machines."
-#~ msgstr ""
-
-#~ msgid "Configuration file (default: {!r})"
-#~ msgstr ""
-
-#~ msgid "Remote vSphere host to connect to (Default: {!r})."
-#~ msgstr ""
-
-#~ msgid "Port on vSphere host to connect on (Default: {})."
-#~ msgstr ""
-
-#~ msgid "User name to use when connecting to vSphere host (Default: {!r})."
-#~ msgstr ""
-
-#~ msgid "Password to use when connecting to vSphere host."
-#~ msgstr ""
-
-#~ msgid "VM folder in vSphere, where to create the template (Default: {!r})."
-#~ msgstr ""
-
-#~ msgid "Host cluster in vSphere, where to create the template (Default: {!r})."
-#~ msgstr ""
-