- add "make build-pot" to build or update translations/tiramisu.pot files
authorEmmanuel Garette <egarette@cadoles.com>
Sat, 31 Aug 2013 07:54:23 +0000 (09:54 +0200)
committerEmmanuel Garette <egarette@cadoles.com>
Sat, 31 Aug 2013 07:54:23 +0000 (09:54 +0200)
- corrections in error's message in tiramisu/option.py
- update tiramisu.pot
- update fr's translation

Makefile
tiramisu/option.py
translations/fr/tiramisu.po
translations/tiramisu.pot

index fce5f8d..203a6b7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -49,6 +49,10 @@ clean:
 #test: clean
 #      py.test
 
+# Build or update Portable Object Base Translation for gettext
+build-pot:
+       pygettext.py -p translations/ -o tiramisu.pot `find tiramisu/ -name "*.py"`
+
 build-lang:
        $(call build_translation, $(TRADUC_DIR))
 
@@ -73,4 +77,4 @@ dist: version.in
          && tar --xform "s,\(.*\),$(PACKAGE)-$(VERSION)/\1," -f $(PACKAGE)-$(VERSION).tar -r version.in \
          && gzip -9 $(PACKAGE)-$(VERSION).tar
 
-.PHONY: all clean test install version.in dist
+.PHONY: all clean test install version.in dist build-pot
index 50625fb..d5c11a1 100644 (file)
@@ -83,8 +83,8 @@ class BaseInformation(object):
             elif default is not None:
                 return default
             else:
-                raise ValueError(_("Information's item"
-                                   "not found: {0}").format(key))
+                raise ValueError(_("information's item"
+                                   " not found: {0}").format(key))
         except AttributeError:
             raise AttributeError(_('{0} has no attribute '
                                    'impl_get_information').format(
@@ -704,7 +704,7 @@ class DomainnameOption(Option):
                 raise ValueError(_("invalid value for {0}, must have dot"
                                    "").format(self._name))
         if len(value) > length:
-            raise ValueError(_("invalid domainname's length for "
+            raise ValueError(_("invalid domainname's length for"
                                " {0} (max {1})").format(self._name, length))
         if len(value) == 1:
             raise ValueError(_("invalid domainname's length for {0} (min 2)"
@@ -728,7 +728,7 @@ class OptionDescription(_ReadOnlyOption):
 
         """
         if not valid_name(name):
-            raise ValueError(_("invalid name: "
+            raise ValueError(_("invalid name:"
                                " {0} for optiondescription").format(name))
         self._name = name
         self._impl_informations = {}
@@ -905,7 +905,7 @@ class OptionDescription(_ReadOnlyOption):
                     raise ValueError(_("no child has same nom has master group"
                                        " for: {0}").format(self._name))
         else:
-            raise ValueError(_('group_type : {0}'
+            raise ValueError(_('group_type: {0}'
                                ' not allowed').format(group_type))
 
     def impl_get_group_type(self):
index 7f1c10d..fd00df1 100644 (file)
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-07-18 15:20+CEST\n"
+"POT-Creation-Date: 2013-08-31 09:52+CEST\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Emmanuel Garette <egarette@cadoles.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -11,18 +11,18 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#: tiramisu/autolib.py:49
+#: tiramisu/autolib.py:58
 msgid "no config specified but needed"
 msgstr "aucune config spécifié alors que c'est nécessaire"
 
-#: tiramisu/autolib.py:56
+#: tiramisu/autolib.py:65
 msgid ""
 "unable to carry out a calculation, option {0} has properties: {1} for: {2}"
 msgstr ""
 "impossible d'effectuer le calcul, l'option {0} a les propriétés : {1} pour : "
 "{2}"
 
-#: tiramisu/autolib.py:65
+#: tiramisu/autolib.py:74
 msgid ""
 "unable to carry out a calculation, option value with multi types must have "
 "same length for: {0}"
@@ -30,86 +30,79 @@ msgstr ""
 "impossible d'effectuer le calcul, valeur d'un option avec le type multi doit "
 "avoir la même longueur pour : {0}"
 
-#: tiramisu/config.py:45
+#: tiramisu/config.py:47
 msgid "descr must be an optiondescription, not {0}"
 msgstr "descr doit être une optiondescription pas un {0}"
 
-#: tiramisu/config.py:118
+#: tiramisu/config.py:121
 msgid "unknown group_type: {0}"
 msgstr "group_type inconnu: {0}"
 
-#: tiramisu/config.py:154
-msgid "no optiondescription for this config (may be metaconfig without meta)"
+#: tiramisu/config.py:157
+msgid ""
+"no option description found for this config (may be metaconfig without meta)"
 msgstr ""
-"pas d'optiondescription pour cette config (par exemple metaconfig sans meta)"
+"pas d'option description pour cette config (peut être une metaconfig sans "
+"meta)"
 
-#: tiramisu/config.py:312
-msgid "unknown type_ type {0} for _find"
+#: tiramisu/config.py:311
+msgid "unknown type_ type {0}for _find"
 msgstr "type_ type {0} pour _find inconnu"
 
-#: tiramisu/config.py:351
+#: tiramisu/config.py:350
 msgid "no option found in config with these criteria"
 msgstr "aucune option trouvée dans la config avec ces critères"
 
-#: tiramisu/config.py:394
+#: tiramisu/config.py:400
 msgid "make_dict can't filtering with value without option"
 msgstr "make_dict ne peut filtrer sur une valeur mais sans option"
 
-#: tiramisu/config.py:414
+#: tiramisu/config.py:421
 msgid "unexpected path {0}, should start with {1}"
 msgstr "chemin imprévu {0}, devrait commencer par {1}"
 
-#: tiramisu/config.py:527
-msgid "metaconfig's children must be a list"
-msgstr "enfants d'une metaconfig doit être une liste"
-
-#: tiramisu/config.py:532
-msgid "metaconfig's children must be config, not {0}"
-msgstr "enfants d'une metaconfig doit être une config, pas {0}"
-
-#: tiramisu/config.py:537
-msgid "all config in metaconfig must have same optiondescription"
-msgstr ""
-"toutes les configs d'une metaconfig doivent avoir la même optiondescription"
-
-#: tiramisu/config.py:540
-msgid "child has already a metaconfig's"
-msgstr "enfant a déjà une metaconfig"
+#: tiramisu/config.py:481
+msgid "opt in getowner must be an option not {0}"
+msgstr "opt dans getowner doit être une option pas {0}"
 
-#: tiramisu/option.py:70
+#: tiramisu/option.py:71
 msgid "{0} has no attribute impl_set_information"
 msgstr "{0} n'a pas d'attribut impl_set_information"
 
-#: tiramisu/option.py:84
-msgid "Information's item not found: {0}"
-msgstr "l'élément information non trouvé: {0}"
-
 #: tiramisu/option.py:86
+msgid "information's item not found: {0}"
+msgstr "aucune config spécifié alors que c'est nécessaire"
+
+#: tiramisu/option.py:89
 msgid "{0} has no attribute impl_get_information"
 msgstr "{0} n'a pas d'attribut impl_get_information"
 
-#: tiramisu/option.py:124
+#: tiramisu/option.py:117
+msgid "'{0}' ({1}) object attribute '{2}' is read-only"
+msgstr "l'attribut {2} de l'objet '{0}' ({1}) est en lecture seul"
+
+#: tiramisu/option.py:159
 msgid "invalid name: {0} for option"
 msgstr "nom invalide : {0} pour l'option"
 
-#: tiramisu/option.py:134
+#: tiramisu/option.py:169
 msgid "validator must be a function"
 msgstr "validator doit être une fonction"
 
-#: tiramisu/option.py:141
+#: tiramisu/option.py:176
 msgid "a default_multi is set whereas multi is False in option: {0}"
 msgstr ""
 "une default_multi est renseigné alors que multi est False dans l'option : {0}"
 
-#: tiramisu/option.py:147
+#: tiramisu/option.py:182
 msgid "invalid default_multi value {0} for option {1}: {2}"
 msgstr "la valeur default_multi est invalide {0} pour l'option {1} : {2}"
 
-#: tiramisu/option.py:150
+#: tiramisu/option.py:187
 msgid "default value not allowed if option: {0} is calculated"
 msgstr "la valeur par défaut n'est pas possible si l'option {0} est calculé"
 
-#: tiramisu/option.py:153
+#: tiramisu/option.py:190
 msgid ""
 "params defined for a callback function but no callback defined yet for "
 "option {0}"
@@ -117,183 +110,183 @@ msgstr ""
 "params définit pour une fonction callback mais par de callback défini encore "
 "pour l'option {0}"
 
-#: tiramisu/option.py:174 tiramisu/option.py:718
+#: tiramisu/option.py:212 tiramisu/option.py:753
 msgid "invalid properties type {0} for {1}, must be a tuple"
 msgstr "type des properties invalide {0} pour {1}, doit être un tuple"
 
-#: tiramisu/option.py:273
+#: tiramisu/option.py:285
 msgid "invalid value {0} for option {1} for object {2}"
 msgstr "valeur invalide {0} pour l'option {1} pour l'objet {2}"
 
-#: tiramisu/option.py:278 tiramisu/value.py:368
+#: tiramisu/option.py:293 tiramisu/value.py:468
 msgid "invalid value {0} for option {1}: {2}"
 msgstr "valeur invalide {0} pour l'option {1} : {2}"
 
-#: tiramisu/option.py:290
+#: tiramisu/option.py:305
 msgid "invalid value {0} for option {1} which must be a list"
 msgstr "valeur invalide {0} pour l'option {1} qui doit être une liste"
 
-#: tiramisu/option.py:354
+#: tiramisu/option.py:374
 msgid "invalid value {0} for option {1} must be different as {2} option"
 msgstr ""
 "valeur invalide {0} pour l'option {1} doit être différent que l'option {2}"
 
-#: tiramisu/option.py:376
+#: tiramisu/option.py:396
 msgid "values must be a tuple for {0}"
 msgstr "values doit être un tuple pour {0}"
 
-#: tiramisu/option.py:379
+#: tiramisu/option.py:399
 msgid "open_values must be a boolean for {0}"
 msgstr "open_values doit être un booléen pour {0}"
 
-#: tiramisu/option.py:400
+#: tiramisu/option.py:420
 msgid "value {0} is not permitted, only {1} is allowed"
 msgstr "valeur {0} n'est pas permit, seules {1} sont autorisées"
 
-#: tiramisu/option.py:411
+#: tiramisu/option.py:432
 msgid "value must be a boolean"
 msgstr "valeur doit être un booléen"
 
-#: tiramisu/option.py:421
+#: tiramisu/option.py:442
 msgid "value must be an integer"
 msgstr "valeur doit être un numbre"
 
-#: tiramisu/option.py:431
+#: tiramisu/option.py:452
 msgid "value must be a float"
 msgstr "valeur doit être un nombre flottant"
 
-#: tiramisu/option.py:441
-msgid "value must be a string"
-msgstr "valeur doit être une chaîne"
+#: tiramisu/option.py:462
+msgid "value must be a string, not {0}"
+msgstr "valeur doit être une chaîne, pas {0}"
 
-#: tiramisu/option.py:452
+#: tiramisu/option.py:480
 msgid "value must be an unicode"
 msgstr "valeur doit être une valeur unicode"
 
-#: tiramisu/option.py:463
+#: tiramisu/option.py:490
 msgid "malformed symlinkoption must be an option for symlink {0}"
 msgstr "symlinkoption mal formé doit être une option pour symlink {0}"
 
-#: tiramisu/option.py:497
+#: tiramisu/option.py:526
 msgid "IP mustn't not be in reserved class"
 msgstr "IP ne doit pas être d'une classe reservée"
 
-#: tiramisu/option.py:499
+#: tiramisu/option.py:528
 msgid "IP must be in private class"
 msgstr "IP doit être dans la classe privée"
 
-#: tiramisu/option.py:535
+#: tiramisu/option.py:566
 msgid "inconsistency in allowed range"
 msgstr "inconsistence dans la plage autorisée"
 
-#: tiramisu/option.py:540
+#: tiramisu/option.py:571
 msgid "max value is empty"
 msgstr "valeur maximum est vide"
 
-#: tiramisu/option.py:576
+#: tiramisu/option.py:608
 msgid "network mustn't not be in reserved class"
 msgstr "réseau ne doit pas être dans la classe reservée"
 
-#: tiramisu/option.py:608
+#: tiramisu/option.py:640
 msgid "invalid network {0} ({1}) with netmask {2} ({3}), this network is an IP"
 msgstr "réseau invalide {0} ({1}) avec masque {2} ({3}), ce réseau est une IP"
 
-#: tiramisu/option.py:612
+#: tiramisu/option.py:645
 msgid "invalid IP {0} ({1}) with netmask {2} ({3}), this IP is a network"
 msgstr "IP invalide {0} ({1}) avec masque {2} ({3}), cette IP est un réseau"
 
-#: tiramisu/option.py:617
+#: tiramisu/option.py:650
 msgid "invalid IP {0} ({1}) with netmask {2} ({3})"
 msgstr "IP invalide {0} ({1}) avec masque {2} ({3})"
 
-#: tiramisu/option.py:619
+#: tiramisu/option.py:652
 msgid "invalid network {0} ({1}) with netmask {2} ({3})"
 msgstr "réseau invalide {0} ({1}) avec masque {2} ({3})"
 
-#: tiramisu/option.py:639
+#: tiramisu/option.py:672
 msgid "unknown type_ {0} for hostname"
 msgstr "type_ inconnu {0} pour le nom d'hôte"
 
-#: tiramisu/option.py:642
+#: tiramisu/option.py:675
 msgid "allow_ip must be a boolean"
 msgstr "allow_ip doit être un booléen"
 
-#: tiramisu/option.py:671
+#: tiramisu/option.py:704
 msgid "invalid value for {0}, must have dot"
 msgstr "valeur invalide pour {0}, doit avoir un point"
 
-#: tiramisu/option.py:674
+#: tiramisu/option.py:707
 msgid "invalid domainname's length for {0} (max {1})"
 msgstr "longueur du nom de domaine invalide pour {0} (maximum {1})"
 
-#: tiramisu/option.py:676
+#: tiramisu/option.py:710
 msgid "invalid domainname's length for {0} (min 2)"
 msgstr "longueur du nom de domaine invalide pour {0} (minimum 2)"
 
-#: tiramisu/option.py:680
+#: tiramisu/option.py:714
 msgid "invalid domainname"
 msgstr "nom de domaine invalide"
 
-#: tiramisu/option.py:696
+#: tiramisu/option.py:731
 msgid "invalid name: {0} for optiondescription"
 msgstr "nom invalide : {0} pour l'optiondescription"
 
-#: tiramisu/option.py:707
+#: tiramisu/option.py:743
 msgid "duplicate option name: {0}"
 msgstr "nom de l'option dupliqué : {0}"
 
-#: tiramisu/option.py:731
+#: tiramisu/option.py:769
 msgid "unknown Option {0} in OptionDescription {1}"
 msgstr "Option {} inconnue pour l'OptionDescription{}"
 
-#: tiramisu/option.py:795
+#: tiramisu/option.py:820
 msgid "duplicate option: {0}"
 msgstr "option dupliquée : {0}"
 
-#: tiramisu/option.py:805
+#: tiramisu/option.py:850
 msgid "no option for path {0}"
 msgstr "pas d'option pour le chemin {0}"
 
-#: tiramisu/option.py:811
+#: tiramisu/option.py:856
 msgid "no option {0} found"
 msgstr "pas d'option {0} trouvée"
 
-#: tiramisu/option.py:821
+#: tiramisu/option.py:866
 msgid "cannot change group_type if already set (old {0}, new {1})"
 msgstr "ne peut changer group_type si déjà spécifié (ancien {0}, nouveau {1})"
 
-#: tiramisu/option.py:833
+#: tiramisu/option.py:879
 msgid "master group {0} shall not have a subgroup"
 msgstr "groupe maître {0} ne doit pas avoir de sous-groupe"
 
-#: tiramisu/option.py:836
+#: tiramisu/option.py:882
 msgid "master group {0} shall not have a symlinkoption"
 msgstr "groupe maître {0} ne doit pas avoir de symlinkoption"
 
-#: tiramisu/option.py:839
+#: tiramisu/option.py:885
 msgid "not allowed option {0} in group {1}: this option is not a multi"
 msgstr ""
 "option non autorisée {0} dans le groupe {1} : cette option n'est pas une "
 "multi"
 
-#: tiramisu/option.py:849
+#: tiramisu/option.py:896
 msgid "master group with wrong master name for {0}"
 msgstr "le groupe maître avec un nom de maître éroné pour {0}"
 
-#: tiramisu/option.py:857
+#: tiramisu/option.py:905
 msgid "no child has same nom has master group for: {0}"
 msgstr "pas d'enfant avec le nom du groupe maître pour {0} "
 
-#: tiramisu/option.py:860
-msgid "not allowed group_type : {0}"
-msgstr "group_type non autorisé : {0}"
+#: tiramisu/option.py:908
+msgid "group_type: {0} not allowed"
+msgstr "group_type : {0} non autorisé"
 
-#: tiramisu/option.py:889
+#: tiramisu/option.py:946
 msgid "malformed requirements type for option: {0}, must be a dict"
 msgstr ""
 "type requirements malformé pour l'option : {0}, doit être un dictionnaire"
 
-#: tiramisu/option.py:905
+#: tiramisu/option.py:962
 msgid ""
 "malformed requirements for option: {0} require must have option, expected "
 "and action keys"
@@ -301,68 +294,87 @@ msgstr ""
 "requirements malformé pour l'option : {0} l'exigence doit avoir les clefs "
 "option, exptected et action"
 
-#: tiramisu/option.py:910
+#: tiramisu/option.py:967
 msgid "malformed requirements for option: {0} inverse must be boolean"
 msgstr "requirements malformé pour l'option : {0} inverse doit être un booléen"
 
-#: tiramisu/option.py:914
+#: tiramisu/option.py:971
 msgid "malformed requirements for option: {0} transitive must be boolean"
 msgstr "requirements malformé pour l'option : {0} transitive doit être booléen"
 
-#: tiramisu/option.py:918
+#: tiramisu/option.py:975
 msgid "malformed requirements for option: {0} same_action must be boolean"
 msgstr ""
 "requirements malformé pour l'option : {0} same_action doit être un booléen"
 
-#: tiramisu/option.py:923
+#: tiramisu/option.py:979
 msgid "malformed requirements must be an option in option {0}"
 msgstr "requirements malformé doit être une option dans l'option {0}"
 
-#: tiramisu/option.py:926
+#: tiramisu/option.py:982
 msgid "malformed requirements option {0} should not be a multi"
 msgstr "requirements malformé l'option {0} ne doit pas être une multi"
 
-#: tiramisu/option.py:932
+#: tiramisu/option.py:988
 msgid ""
 "malformed requirements second argument must be valid for option {0}: {1}"
 msgstr ""
 "requirements malformé deuxième argument doit être valide pour l'option {0} : "
 "{1}"
 
-#: tiramisu/option.py:936
+#: tiramisu/option.py:993
 msgid "inconsistency in action types for option: {0} action: {1}"
 msgstr "incohérence dans les types action pour l'option : {0} action {1}"
 
-#: tiramisu/setting.py:45
-msgid "can't rebind group ({})"
-msgstr "ne peut reconsolider un groupe ({0})"
+#: tiramisu/setting.py:47
+msgid "storage_type is already set, cannot rebind it"
+msgstr "storage_type est déjà défini, impossible de le redéfinir"
+
+#: tiramisu/setting.py:67
+msgid "can't rebind {0}"
+msgstr "ne peut redéfinir ({0})"
 
-#: tiramisu/setting.py:50
-msgid "can't unbind group ({})"
-msgstr "ne peut délier un groupe ({0})"
+#: tiramisu/setting.py:72
+msgid "can't unbind {0}"
+msgstr "ne peut supprimer ({0})"
+
+#: tiramisu/setting.py:185
+msgid "cannot append {0} property for option {1}: this property is calculated"
+msgstr ""
+"ne peut ajouter la propriété {0} dans l'option {1}: cette propriété est "
+"calculée"
 
-#: tiramisu/setting.py:210
+#: tiramisu/setting.py:215
+msgid "option {0} not already exists in storage {1}"
+msgstr "option {0} n'existe pas dans l'espace de stockage {1}"
+
+#: tiramisu/setting.py:282
 msgid "opt and all_properties must not be set together in reset"
 msgstr "opt et all_properties ne doit pas être renseigné ensemble dans reset"
 
-#: tiramisu/setting.py:294
+#: tiramisu/setting.py:297
+msgid "if opt is not None, path should not be None in _getproperties"
+msgstr ""
+"si opt n'est pas None, path devrait ne pas être à None dans _getproperties"
+
+#: tiramisu/setting.py:391
 msgid "cannot change the value for option {0} this option is frozen"
 msgstr ""
 "ne peut modifié la valeur de l'option {0} cette option n'est pas modifiable"
 
-#: tiramisu/setting.py:298
+#: tiramisu/setting.py:397
 msgid "trying to access to an option named: {0} with properties {1}"
 msgstr "tentative d'accès à une option nommée : {0} avec les propriétés {1}"
 
-#: tiramisu/setting.py:307
+#: tiramisu/setting.py:415
 msgid "permissive must be a tuple"
 msgstr "permissive doit être un tuple"
 
-#: tiramisu/setting.py:314 tiramisu/value.py:208
+#: tiramisu/setting.py:422 tiramisu/value.py:277
 msgid "invalid generic owner {0}"
 msgstr "invalide owner générique {0}"
 
-#: tiramisu/setting.py:367
+#: tiramisu/setting.py:503
 msgid ""
 "malformed requirements imbrication detected for option: '{0}' with "
 "requirement on: '{1}'"
@@ -370,48 +382,81 @@ msgstr ""
 "imbrication de requirements malformé detectée pour l'option : '{0}' avec "
 "requirement sur : '{1}'"
 
-#: tiramisu/setting.py:377
+#: tiramisu/setting.py:515
 msgid "option '{0}' has requirement's property error: {1} {2}"
 msgstr "l'option '{0}' a une erreur de propriété pour le requirement : {1} {2}"
 
-#: tiramisu/setting.py:383
-msgid "required option not found: {0}"
-msgstr "option requise non trouvée : {0}"
+#: tiramisu/storage/dictionary/storage.py:37
+msgid "dictionary storage cannot delete session"
+msgstr ""
+"impossible de supprimer une session dans un espace de stockage dictionary"
+
+#: tiramisu/storage/dictionary/storage.py:46
+msgid "session already used"
+msgstr "session déjà utilisée"
+
+#: tiramisu/storage/dictionary/storage.py:48
+msgid "a dictionary cannot be persistent"
+msgstr "un espace de stockage dictionary ne peut être persistant"
 
-#: tiramisu/value.py:206
+#: tiramisu/value.py:284
 msgid "no value for {0} cannot change owner to {1}"
 msgstr "pas de valeur pour {0} ne peut changer d'utilisateur pour {1}"
 
-#: tiramisu/value.py:270
+#: tiramisu/value.py:356
 msgid "invalid len for the slave: {0} which has {1} as master"
 msgstr "longueur invalide pour une esclave : {0} qui a {1} comme maître"
 
-#: tiramisu/value.py:286
+#: tiramisu/value.py:373
 msgid "invalid len for the master: {0} which has {1} as slave with greater len"
 msgstr ""
 "longueur invalide pour un maître : {0} qui a {1} une esclave avec une plus "
 "grande longueur"
 
-#: tiramisu/value.py:306
+#: tiramisu/value.py:394
 msgid "cannot append a value on a multi option {0} which is a slave"
 msgstr "ne peut ajouter une valeur sur l'option multi {0} qui est une esclave"
 
-#: tiramisu/value.py:334
+#: tiramisu/value.py:429
 msgid "cannot sort multi option {0} if master or slave"
 msgstr "ne peut trier une option multi {0} pour une maître ou une esclave"
 
-#: tiramisu/value.py:342
+#: tiramisu/value.py:433
+msgid "cmp is not permitted in python v3 or greater"
+msgstr "cmp n'est pas permis en python v3 ou supérieure"
+
+#: tiramisu/value.py:442
 msgid "cannot reverse multi option {0} if master or slave"
 msgstr "ne peut inverser une option multi {0} pour une maître ou une esclave"
 
-#: tiramisu/value.py:350
+#: tiramisu/value.py:450
 msgid "cannot insert multi option {0} if master or slave"
 msgstr "ne peut insérer une option multi {0} pour une maître ou une esclave"
 
-#: tiramisu/value.py:358
+#: tiramisu/value.py:458
 msgid "cannot extend multi option {0} if master or slave"
 msgstr "ne peut étendre une option multi {0} pour une maître ou une esclave"
 
-#: tiramisu/value.py:381
+#: tiramisu/value.py:482
 msgid "cannot pop a value on a multi option {0} which is a slave"
 msgstr "ne peut supprimer une valeur dans l'option multi {0} qui est esclave"
+
+#~ msgid "metaconfig's children must be a list"
+#~ msgstr "enfants d'une metaconfig doit être une liste"
+
+#~ msgid "metaconfig's children must be config, not {0}"
+#~ msgstr "enfants d'une metaconfig doit être une config, pas {0}"
+
+#~ msgid "all config in metaconfig must have same optiondescription"
+#~ msgstr ""
+#~ "toutes les configs d'une metaconfig doivent avoir la même "
+#~ "optiondescription"
+
+#~ msgid "child has already a metaconfig's"
+#~ msgstr "enfant a déjà une metaconfig"
+
+#~ msgid "not allowed group_type : {0}"
+#~ msgstr "group_type non autorisé : {0}"
+
+#~ msgid "required option not found: {0}"
+#~ msgstr "option requise non trouvée : {0}"
index faed4f3..d5c4ff6 100644 (file)
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-07-18 15:20+CEST\n"
+"POT-Creation-Date: 2013-08-31 09:52+CEST\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"
@@ -15,375 +15,395 @@ msgstr ""
 "Generated-By: pygettext.py 1.5\n"
 
 
-#: tiramisu/autolib.py:49
+#: tiramisu/autolib.py:58
 msgid "no config specified but needed"
 msgstr ""
 
-#: tiramisu/autolib.py:56
+#: tiramisu/autolib.py:65
 msgid "unable to carry out a calculation, option {0} has properties: {1} for: {2}"
 msgstr ""
 
-#: tiramisu/autolib.py:65
+#: tiramisu/autolib.py:74
 msgid "unable to carry out a calculation, option value with multi types must have same length for: {0}"
 msgstr ""
 
-#: tiramisu/config.py:45
+#: tiramisu/config.py:47
 msgid "descr must be an optiondescription, not {0}"
 msgstr ""
 
-#: tiramisu/config.py:118
+#: tiramisu/config.py:121
 msgid "unknown group_type: {0}"
 msgstr ""
 
-#: tiramisu/config.py:154
-msgid "no optiondescription for this config (may be metaconfig without meta)"
+#: tiramisu/config.py:157
+msgid "no option description found for this config (may be metaconfig without meta)"
 msgstr ""
 
-#: tiramisu/config.py:312
-msgid "unknown type_ type {0} for _find"
+#: tiramisu/config.py:311
+msgid "unknown type_ type {0}for _find"
 msgstr ""
 
-#: tiramisu/config.py:351
+#: tiramisu/config.py:350
 msgid "no option found in config with these criteria"
 msgstr ""
 
-#: tiramisu/config.py:394
+#: tiramisu/config.py:400
 msgid "make_dict can't filtering with value without option"
 msgstr ""
 
-#: tiramisu/config.py:414
+#: tiramisu/config.py:421
 msgid "unexpected path {0}, should start with {1}"
 msgstr ""
 
-#: tiramisu/config.py:527
-msgid "metaconfig's children must be a list"
+#: tiramisu/config.py:481
+msgid "opt in getowner must be an option not {0}"
 msgstr ""
 
-#: tiramisu/config.py:532
-msgid "metaconfig's children must be config, not {0}"
-msgstr ""
-
-#: tiramisu/config.py:537
-msgid "all config in metaconfig must have same optiondescription"
-msgstr ""
-
-#: tiramisu/config.py:540
-msgid "child has already a metaconfig's"
-msgstr ""
-
-#: tiramisu/option.py:70
+#: tiramisu/option.py:71
 msgid "{0} has no attribute impl_set_information"
 msgstr ""
 
-#: tiramisu/option.py:84
-msgid "Information's item not found: {0}"
+#: tiramisu/option.py:86
+msgid "information's item not found: {0}"
 msgstr ""
 
-#: tiramisu/option.py:86
+#: tiramisu/option.py:89
 msgid "{0} has no attribute impl_get_information"
 msgstr ""
 
-#: tiramisu/option.py:124
+#: tiramisu/option.py:117
+msgid "'{0}' ({1}) object attribute '{2}' is read-only"
+msgstr ""
+
+#: tiramisu/option.py:159
 msgid "invalid name: {0} for option"
 msgstr ""
 
-#: tiramisu/option.py:134
+#: tiramisu/option.py:169
 msgid "validator must be a function"
 msgstr ""
 
-#: tiramisu/option.py:141
+#: tiramisu/option.py:176
 msgid "a default_multi is set whereas multi is False in option: {0}"
 msgstr ""
 
-#: tiramisu/option.py:147
+#: tiramisu/option.py:182
 msgid "invalid default_multi value {0} for option {1}: {2}"
 msgstr ""
 
-#: tiramisu/option.py:150
+#: tiramisu/option.py:187
 msgid "default value not allowed if option: {0} is calculated"
 msgstr ""
 
-#: tiramisu/option.py:153
+#: tiramisu/option.py:190
 msgid "params defined for a callback function but no callback defined yet for option {0}"
 msgstr ""
 
-#: tiramisu/option.py:174 tiramisu/option.py:718
+#: tiramisu/option.py:212 tiramisu/option.py:753
 msgid "invalid properties type {0} for {1}, must be a tuple"
 msgstr ""
 
-#: tiramisu/option.py:273
+#: tiramisu/option.py:285
 msgid "invalid value {0} for option {1} for object {2}"
 msgstr ""
 
-#: tiramisu/option.py:278 tiramisu/value.py:368
+#: tiramisu/option.py:293 tiramisu/value.py:468
 msgid "invalid value {0} for option {1}: {2}"
 msgstr ""
 
-#: tiramisu/option.py:290
+#: tiramisu/option.py:305
 msgid "invalid value {0} for option {1} which must be a list"
 msgstr ""
 
-#: tiramisu/option.py:354
+#: tiramisu/option.py:374
 msgid "invalid value {0} for option {1} must be different as {2} option"
 msgstr ""
 
-#: tiramisu/option.py:376
+#: tiramisu/option.py:396
 msgid "values must be a tuple for {0}"
 msgstr ""
 
-#: tiramisu/option.py:379
+#: tiramisu/option.py:399
 msgid "open_values must be a boolean for {0}"
 msgstr ""
 
-#: tiramisu/option.py:400
+#: tiramisu/option.py:420
 msgid "value {0} is not permitted, only {1} is allowed"
 msgstr ""
 
-#: tiramisu/option.py:411
+#: tiramisu/option.py:432
 msgid "value must be a boolean"
 msgstr ""
 
-#: tiramisu/option.py:421
+#: tiramisu/option.py:442
 msgid "value must be an integer"
 msgstr ""
 
-#: tiramisu/option.py:431
+#: tiramisu/option.py:452
 msgid "value must be a float"
 msgstr ""
 
-#: tiramisu/option.py:441
-msgid "value must be a string"
+#: tiramisu/option.py:462
+msgid "value must be a string, not {0}"
 msgstr ""
 
-#: tiramisu/option.py:452
+#: tiramisu/option.py:480
 msgid "value must be an unicode"
 msgstr ""
 
-#: tiramisu/option.py:463
+#: tiramisu/option.py:490
 msgid "malformed symlinkoption must be an option for symlink {0}"
 msgstr ""
 
-#: tiramisu/option.py:497
+#: tiramisu/option.py:526
 msgid "IP mustn't not be in reserved class"
 msgstr ""
 
-#: tiramisu/option.py:499
+#: tiramisu/option.py:528
 msgid "IP must be in private class"
 msgstr ""
 
-#: tiramisu/option.py:535
+#: tiramisu/option.py:566
 msgid "inconsistency in allowed range"
 msgstr ""
 
-#: tiramisu/option.py:540
+#: tiramisu/option.py:571
 msgid "max value is empty"
 msgstr ""
 
-#: tiramisu/option.py:576
+#: tiramisu/option.py:608
 msgid "network mustn't not be in reserved class"
 msgstr ""
 
-#: tiramisu/option.py:608
+#: tiramisu/option.py:640
 msgid "invalid network {0} ({1}) with netmask {2} ({3}), this network is an IP"
 msgstr ""
 
-#: tiramisu/option.py:612
+#: tiramisu/option.py:645
 msgid "invalid IP {0} ({1}) with netmask {2} ({3}), this IP is a network"
 msgstr ""
 
-#: tiramisu/option.py:617
+#: tiramisu/option.py:650
 msgid "invalid IP {0} ({1}) with netmask {2} ({3})"
 msgstr ""
 
-#: tiramisu/option.py:619
+#: tiramisu/option.py:652
 msgid "invalid network {0} ({1}) with netmask {2} ({3})"
 msgstr ""
 
-#: tiramisu/option.py:639
+#: tiramisu/option.py:672
 msgid "unknown type_ {0} for hostname"
 msgstr ""
 
-#: tiramisu/option.py:642
+#: tiramisu/option.py:675
 msgid "allow_ip must be a boolean"
 msgstr ""
 
-#: tiramisu/option.py:671
+#: tiramisu/option.py:704
 msgid "invalid value for {0}, must have dot"
 msgstr ""
 
-#: tiramisu/option.py:674
+#: tiramisu/option.py:707
 msgid "invalid domainname's length for {0} (max {1})"
 msgstr ""
 
-#: tiramisu/option.py:676
+#: tiramisu/option.py:710
 msgid "invalid domainname's length for {0} (min 2)"
 msgstr ""
 
-#: tiramisu/option.py:680
+#: tiramisu/option.py:714
 msgid "invalid domainname"
 msgstr ""
 
-#: tiramisu/option.py:696
+#: tiramisu/option.py:731
 msgid "invalid name: {0} for optiondescription"
 msgstr ""
 
-#: tiramisu/option.py:707
+#: tiramisu/option.py:743
 msgid "duplicate option name: {0}"
 msgstr ""
 
-#: tiramisu/option.py:731
+#: tiramisu/option.py:769
 msgid "unknown Option {0} in OptionDescription {1}"
 msgstr ""
 
-#: tiramisu/option.py:795
+#: tiramisu/option.py:820
 msgid "duplicate option: {0}"
 msgstr ""
 
-#: tiramisu/option.py:805
+#: tiramisu/option.py:850
 msgid "no option for path {0}"
 msgstr ""
 
-#: tiramisu/option.py:811
+#: tiramisu/option.py:856
 msgid "no option {0} found"
 msgstr ""
 
-#: tiramisu/option.py:821
+#: tiramisu/option.py:866
 msgid "cannot change group_type if already set (old {0}, new {1})"
 msgstr ""
 
-#: tiramisu/option.py:833
+#: tiramisu/option.py:879
 msgid "master group {0} shall not have a subgroup"
 msgstr ""
 
-#: tiramisu/option.py:836
+#: tiramisu/option.py:882
 msgid "master group {0} shall not have a symlinkoption"
 msgstr ""
 
-#: tiramisu/option.py:839
+#: tiramisu/option.py:885
 msgid "not allowed option {0} in group {1}: this option is not a multi"
 msgstr ""
 
-#: tiramisu/option.py:849
+#: tiramisu/option.py:896
 msgid "master group with wrong master name for {0}"
 msgstr ""
 
-#: tiramisu/option.py:857
+#: tiramisu/option.py:905
 msgid "no child has same nom has master group for: {0}"
 msgstr ""
 
-#: tiramisu/option.py:860
-msgid "not allowed group_type : {0}"
+#: tiramisu/option.py:908
+msgid "group_type: {0} not allowed"
 msgstr ""
 
-#: tiramisu/option.py:889
+#: tiramisu/option.py:946
 msgid "malformed requirements type for option: {0}, must be a dict"
 msgstr ""
 
-#: tiramisu/option.py:905
+#: tiramisu/option.py:962
 msgid "malformed requirements for option: {0} require must have option, expected and action keys"
 msgstr ""
 
-#: tiramisu/option.py:910
+#: tiramisu/option.py:967
 msgid "malformed requirements for option: {0} inverse must be boolean"
 msgstr ""
 
-#: tiramisu/option.py:914
+#: tiramisu/option.py:971
 msgid "malformed requirements for option: {0} transitive must be boolean"
 msgstr ""
 
-#: tiramisu/option.py:918
+#: tiramisu/option.py:975
 msgid "malformed requirements for option: {0} same_action must be boolean"
 msgstr ""
 
-#: tiramisu/option.py:923
+#: tiramisu/option.py:979
 msgid "malformed requirements must be an option in option {0}"
 msgstr ""
 
-#: tiramisu/option.py:926
+#: tiramisu/option.py:982
 msgid "malformed requirements option {0} should not be a multi"
 msgstr ""
 
-#: tiramisu/option.py:932
+#: tiramisu/option.py:988
 msgid "malformed requirements second argument must be valid for option {0}: {1}"
 msgstr ""
 
-#: tiramisu/option.py:936
+#: tiramisu/option.py:993
 msgid "inconsistency in action types for option: {0} action: {1}"
 msgstr ""
 
-#: tiramisu/setting.py:45
-msgid "can't rebind group ({})"
+#: tiramisu/setting.py:47
+msgid "storage_type is already set, cannot rebind it"
+msgstr ""
+
+#: tiramisu/setting.py:67
+msgid "can't rebind {0}"
+msgstr ""
+
+#: tiramisu/setting.py:72
+msgid "can't unbind {0}"
+msgstr ""
+
+#: tiramisu/setting.py:185
+msgid "cannot append {0} property for option {1}: this property is calculated"
 msgstr ""
 
-#: tiramisu/setting.py:50
-msgid "can't unbind group ({})"
+#: tiramisu/setting.py:215
+msgid "option {0} not already exists in storage {1}"
 msgstr ""
 
-#: tiramisu/setting.py:210
+#: tiramisu/setting.py:282
 msgid "opt and all_properties must not be set together in reset"
 msgstr ""
 
-#: tiramisu/setting.py:294
+#: tiramisu/setting.py:297
+msgid "if opt is not None, path should not be None in _getproperties"
+msgstr ""
+
+#: tiramisu/setting.py:391
 msgid "cannot change the value for option {0} this option is frozen"
 msgstr ""
 
-#: tiramisu/setting.py:298
+#: tiramisu/setting.py:397
 msgid "trying to access to an option named: {0} with properties {1}"
 msgstr ""
 
-#: tiramisu/setting.py:307
+#: tiramisu/setting.py:415
 msgid "permissive must be a tuple"
 msgstr ""
 
-#: tiramisu/setting.py:314 tiramisu/value.py:208
+#: tiramisu/setting.py:422 tiramisu/value.py:277
 msgid "invalid generic owner {0}"
 msgstr ""
 
-#: tiramisu/setting.py:367
+#: tiramisu/setting.py:503
 msgid "malformed requirements imbrication detected for option: '{0}' with requirement on: '{1}'"
 msgstr ""
 
-#: tiramisu/setting.py:377
+#: tiramisu/setting.py:515
 msgid "option '{0}' has requirement's property error: {1} {2}"
 msgstr ""
 
-#: tiramisu/setting.py:383
-msgid "required option not found: {0}"
+#: tiramisu/storage/dictionary/storage.py:37
+msgid "dictionary storage cannot delete session"
+msgstr ""
+
+#: tiramisu/storage/dictionary/storage.py:46
+msgid "session already used"
 msgstr ""
 
-#: tiramisu/value.py:206
+#: tiramisu/storage/dictionary/storage.py:48
+msgid "a dictionary cannot be persistent"
+msgstr ""
+
+#: tiramisu/value.py:284
 msgid "no value for {0} cannot change owner to {1}"
 msgstr ""
 
-#: tiramisu/value.py:270
+#: tiramisu/value.py:356
 msgid "invalid len for the slave: {0} which has {1} as master"
 msgstr ""
 
-#: tiramisu/value.py:286
+#: tiramisu/value.py:373
 msgid "invalid len for the master: {0} which has {1} as slave with greater len"
 msgstr ""
 
-#: tiramisu/value.py:306
+#: tiramisu/value.py:394
 msgid "cannot append a value on a multi option {0} which is a slave"
 msgstr ""
 
-#: tiramisu/value.py:334
+#: tiramisu/value.py:429
 msgid "cannot sort multi option {0} if master or slave"
 msgstr ""
 
-#: tiramisu/value.py:342
+#: tiramisu/value.py:433
+msgid "cmp is not permitted in python v3 or greater"
+msgstr ""
+
+#: tiramisu/value.py:442
 msgid "cannot reverse multi option {0} if master or slave"
 msgstr ""
 
-#: tiramisu/value.py:350
+#: tiramisu/value.py:450
 msgid "cannot insert multi option {0} if master or slave"
 msgstr ""
 
-#: tiramisu/value.py:358
+#: tiramisu/value.py:458
 msgid "cannot extend multi option {0} if master or slave"
 msgstr ""
 
-#: tiramisu/value.py:381
+#: tiramisu/value.py:482
 msgid "cannot pop a value on a multi option {0} which is a slave"
 msgstr ""