- add "make build-pot" to build or update translations/tiramisu.pot files

- corrections in error's message in tiramisu/option.py
- update tiramisu.pot
- update fr's translation
This commit is contained in:
Emmanuel Garette 2013-08-31 09:54:23 +02:00
parent 5893f8ad72
commit 82b375ade5
4 changed files with 308 additions and 239 deletions

View file

@ -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

View 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):

View 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:481
msgid "opt in getowner must be an option not {0}"
msgstr "opt dans getowner doit être une option pas {0}"
#: 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/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:50
msgid "can't unbind group ({})"
msgstr "ne peut délier un groupe ({0})"
#: tiramisu/setting.py:67
msgid "can't rebind {0}"
msgstr "ne peut redéfinir ({0})"
#: tiramisu/setting.py:210
#: 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: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/value.py:206
#: 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: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}"

View 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:50
msgid "can't unbind group ({})"
#: tiramisu/setting.py:67
msgid "can't rebind {0}"
msgstr ""
#: tiramisu/setting.py:210
#: 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:215
msgid "option {0} not already exists in storage {1}"
msgstr ""
#: 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/value.py:206
#: tiramisu/storage/dictionary/storage.py:46
msgid "session already used"
msgstr ""
#: 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 ""