domainname must not be an IP

This commit is contained in:
Emmanuel Garette 2016-08-31 15:50:10 +02:00
parent 6cfa0fc216
commit 3a5b1090c7
4 changed files with 584 additions and 552 deletions

View File

@ -34,6 +34,7 @@ def test_domainname():
c.f = 'd'
c.f = 'd.t'
#
raises(ValueError, "c.f = '192.168.1.1'")
c.g = 'toto.com'
c.g = '192.168.1.0'
c.g = '192.168.1.29'
@ -95,6 +96,7 @@ def test_domainname_warning():
c.f = 'd'
c.f = 'd.t'
#
raises(ValueError, "c.f = '192.168.1.1'")
c.g = 'toto.com'
c.g = '192.168.1.0'
c.g = '192.168.1.29'

View File

@ -503,6 +503,13 @@ class DomainnameOption(Option):
return
except ValueError:
pass
else:
try:
IP('{0}/32'.format(value))
except ValueError:
pass
else:
raise ValueError(_('invalid domainname, must not be an IP'))
if self._get_extra('_dom_type') == 'netbios':
part_name_length = 15
else:

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Tiramisu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-12 17:04+0200\n"
"POT-Creation-Date: 2016-08-31 15:39+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Emmanuel Garette <egarette@cadoles.com>\n"
"Language-Team: Tiramisu's team <egarette@cadoles.com>\n"
@ -10,147 +10,137 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.4\n"
"X-Generator: Poedit 1.8.8\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: tiramisu/autolib.py:176
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:171
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/config.py:61
#: tiramisu/autolib.py:239
msgid "callback cannot return a list for a slave option ({0})"
msgstr "un calcul ne peut pas retourner une liste pour une option esclave ({0})"
#: tiramisu/config.py:64
msgid "descr must be an optiondescription, not {0}"
msgstr "descr doit être une optiondescription pas un {0}"
#: tiramisu/config.py:141
#: tiramisu/config.py:148
msgid "unknown group_type: {0}"
msgstr "group_type inconnu: {0}"
#: tiramisu/config.py:180 tiramisu/setting.py:326 tiramisu/value.py:54
#: tiramisu/value.py:645
#: tiramisu/config.py:187 tiramisu/setting.py:334 tiramisu/value.py:54 tiramisu/value.py:742
msgid "the context does not exist anymore"
msgstr "le context n'existe plus"
#: tiramisu/config.py:185
#: tiramisu/config.py:192
msgid "no option description found for this config (may be GroupConfig)"
msgstr ""
"pas d'option description trouvé pour cette config (peut être un GroupConfig)"
msgstr "pas d'option description trouvé pour cette config (peut être un GroupConfig)"
#: tiramisu/config.py:213
#: tiramisu/config.py:228
msgid "can't assign to an OptionDescription"
msgstr "ne peut pas attribuer une valeur à une OptionDescription"
#: tiramisu/config.py:342
#: tiramisu/config.py:379
msgid "unknown type_ type {0}for _find"
msgstr "type_ type {0} pour _find inconnu"
#: tiramisu/config.py:382
#: tiramisu/config.py:422
msgid "no option found in config with these criteria"
msgstr "aucune option trouvée dans la config avec ces critères"
#: tiramisu/config.py:432
#: tiramisu/config.py:470
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:451
#: tiramisu/config.py:493
msgid "unexpected path {0}, should start with {1}"
msgstr "chemin imprévu {0}, devrait commencer par {1}"
#: tiramisu/config.py:522
#: tiramisu/config.py:567
msgid "opt in getowner must be an option not {0}"
msgstr "opt dans getowner doit être une option pas {0}"
#: tiramisu/config.py:567
#: tiramisu/config.py:615
msgid "cannot serialize Config with MetaConfig"
msgstr "impossible de sérialiser une Config avec une MetaConfig"
#: tiramisu/config.py:581
#: tiramisu/config.py:629
msgid "this storage is not serialisable, could be a none persistent storage"
msgstr "ce storage n'est sérialisable, devrait être une storage non persistant"
#: tiramisu/config.py:645
#: tiramisu/config.py:693
msgid "invalid name: {0} for config"
msgstr "nom invalide : {0} pour la config"
#: tiramisu/config.py:676
#: tiramisu/config.py:724
msgid "groupconfig's children must be a list"
msgstr "enfants d'une groupconfig doit être une liste"
#: tiramisu/config.py:680
#: tiramisu/config.py:728
msgid "groupconfig's children must be Config, MetaConfig or GroupConfig"
msgstr ""
"les enfants d'un groupconfig doivent être des Config, MetaConfig ou "
"GroupConfig"
msgstr "les enfants d'un groupconfig doivent être des Config, MetaConfig ou GroupConfig"
#: tiramisu/config.py:683
#: tiramisu/config.py:731
msgid "name must be set to config before creating groupconfig"
msgstr "un nom doit être donné à la config avant de créer un groupconfig"
#: tiramisu/config.py:691
#: tiramisu/config.py:737
msgid "config name must be uniq in groupconfig for {0}"
msgstr "le nom de la config doit être unique dans un groupconfig pour {0}"
#: tiramisu/config.py:806
#: tiramisu/config.py:846
msgid "metaconfig's children should be config, not {0}"
msgstr "enfants d'une metaconfig doit être une config, pas {0}"
#: tiramisu/config.py:810
#: tiramisu/config.py:850
msgid "child has already a metaconfig's"
msgstr "enfant a déjà une metaconfig"
#: tiramisu/config.py:814
#: tiramisu/config.py:854
msgid "all config in metaconfig must have the same optiondescription"
msgstr ""
"toutes les configs d'une metaconfig doivent avoir la même optiondescription"
msgstr "toutes les configs d'une metaconfig doivent avoir la même optiondescription"
#: tiramisu/config.py:826
msgid ""
"force_default, force_default_if_same or force_dont_change_value cannot be "
"set with only_config"
#: tiramisu/config.py:869
msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config"
msgstr ""
"force_default, force_default_if_same ou force_dont_change_value ne peuvent "
"pas être spécifié avec only_config"
"force_default, force_default_if_same ou force_dont_change_value ne peuvent pas être spécifié avec "
"only_config"
#: tiramisu/config.py:832
#: tiramisu/config.py:875
msgid "force_default and force_dont_change_value cannot be set together"
msgstr ""
"force_default et force_dont_change_value ne peuvent pas être mis ensemble"
msgstr "force_default et force_dont_change_value ne peuvent pas être mis ensemble"
#: tiramisu/option/baseoption.py:57
#: tiramisu/option/baseoption.py:56
msgid "{0} must be a function"
msgstr "{0} doit être une fonction"
#: tiramisu/option/baseoption.py:60
#: tiramisu/option/baseoption.py:59
msgid "{0}_params must be a dict"
msgstr "{0}_params doit être un dict"
#: tiramisu/option/baseoption.py:63
#: tiramisu/option/baseoption.py:62
msgid "{0}_params with key {1} mustn't have length different to 1"
msgstr ""
"{0}_params avec la clef {1} ne doit pas avoir une longueur différent de 1"
msgstr "{0}_params avec la clef {1} ne doit pas avoir une longueur différent de 1"
#: tiramisu/option/baseoption.py:67
#: tiramisu/option/baseoption.py:66
msgid "{0}_params must be tuple for key \"{1}\""
msgstr "{0}_params doit être un tuple pour la clef \"{1}\""
#: tiramisu/option/baseoption.py:73
#: tiramisu/option/baseoption.py:72
msgid "{0}_params with length of tuple as 1 must only have None as first value"
msgstr ""
"{0}_params avec un tuple de longueur 1 doit seulement avoir None comme "
"première valeur"
msgstr "{0}_params avec un tuple de longueur 1 doit seulement avoir None comme première valeur"
#: tiramisu/option/baseoption.py:77
#: tiramisu/option/baseoption.py:76
msgid "{0}_params must only have 1 or 2 as length"
msgstr "{0}_params doit seulement avoir une longueur de 1 ou 2"
#: tiramisu/option/baseoption.py:83
#: tiramisu/option/baseoption.py:82
msgid "{0}_params must have an option not a {0} for first argument"
msgstr "{0}_params doit avoir une option pas un {0} pour premier argument"
#: tiramisu/option/baseoption.py:87
#: tiramisu/option/baseoption.py:86
msgid "{0}_params must have a boolean not a {0} for second argument"
msgstr "{0}_params doit avoir un booléen pas un {0} pour second argument"
@ -158,187 +148,160 @@ msgstr "{0}_params doit avoir un booléen pas un {0} pour second argument"
msgid "invalid name: {0} for option"
msgstr "nom invalide : {0} pour l'option"
#: tiramisu/option/baseoption.py:111
msgid "a default_multi is set whereas multi is False in option: {0}"
msgstr ""
"une default_multi est renseignée alors que multi est False dans l'option : "
"{0}"
#: tiramisu/option/baseoption.py:105
msgid "default_multi is set whereas multi is False in option: {0}"
msgstr "default_multi est spécifié alors que multi est à False pour l'option : {0}"
#: tiramisu/option/baseoption.py:122
#: tiramisu/option/baseoption.py:117
msgid "invalid multi value"
msgstr "valeur multiple invalide"
#: tiramisu/option/baseoption.py:127
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/baseoption.py:147
msgid ""
"params defined for a callback function but no callback defined yet for "
"option {0}"
#: tiramisu/option/baseoption.py:156
msgid "params defined for a callback function but no callback defined yet for option {0}"
msgstr ""
"params définis pour une fonction callback mais par de callback encore "
"définis pour l'option {0}"
"params définis pour une fonction callback mais par de callback encore définis pour l'option {0}"
#: tiramisu/option/baseoption.py:152
#: tiramisu/option/baseoption.py:161
msgid "a callback is already set for option {0}, cannot set another one's"
msgstr ""
"un callback est en lecture seul pour l'option {0}, ne peut en placer une "
"autre"
msgstr "un callback est en lecture seul pour l'option {0}, ne peut en placer une autre"
#: tiramisu/option/baseoption.py:279
#: tiramisu/option/baseoption.py:245
msgid "cannot serialize Option, only in OptionDescription"
msgstr "ne peut serialiser une Option, seulement via une OptionDescription"
#: tiramisu/option/baseoption.py:365
#: tiramisu/option/baseoption.py:326 tiramisu/storage/dictionary/option.py:117
msgid "'{0}' ({1}) object attribute '{2}' is read-only"
msgstr "l'attribut {2} de l'objet '{0}' ({1}) est en lecture seule"
#: tiramisu/option/baseoption.py:391
#: tiramisu/option/baseoption.py:350 tiramisu/option/option.py:145
msgid "invalid string"
msgstr "invalide caractère"
#: tiramisu/option/baseoption.py:353
msgid "invalid unicode or string"
msgstr "invalide unicode ou string"
#: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:592
#: tiramisu/option/baseoption.py:493 tiramisu/option/baseoption.py:526
msgid "invalid value for option {0}: {1}"
msgstr "valeur invalide pour l'option {0} : {1}"
#: tiramisu/option/baseoption.py:560
#: tiramisu/option/baseoption.py:500
msgid "do_validation for {0}: error in value"
msgstr "do_validation for {0} : erreur dans un la valeur"
#: tiramisu/option/baseoption.py:566
msgid "do_validation for {0}: warning in value"
msgstr "do_validation for {0} : warning dans un la valeur"
#: tiramisu/option/baseoption.py:576
msgid "do_validation for {0}: error in consistency"
msgstr "do_validation for {0} : erreur dans un test de consistance"
#: tiramisu/option/baseoption.py:580
msgid "do_validation for {0}: warning in consistency"
msgstr "do_validation for {0} : warning dans un test de consistance"
#: tiramisu/option/baseoption.py:584
#: tiramisu/option/baseoption.py:518
msgid "warning on the value of the option {0}: {1}"
msgstr "avertissement sur la valeur de l'option {0} : {1}"
#: tiramisu/option/baseoption.py:604 tiramisu/option/baseoption.py:613
#: tiramisu/option/baseoption.py:540 tiramisu/option/baseoption.py:550
msgid "invalid value {0} for option {1} which must be a list"
msgstr "valeur invalide pour l'option {0} : {1} laquelle doit être une liste"
#: tiramisu/option/baseoption.py:619
#: tiramisu/option/baseoption.py:556
msgid "invalid value {0} for option {1} which must be a list of list"
msgstr ""
"valeur invalide pour l'option {0} : {1} laquelle doit être une liste de liste"
msgstr "valeur invalide pour l'option {0} : {1} laquelle doit être une liste de liste"
#: tiramisu/option/baseoption.py:672
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
msgstr ""
"'{0}' ({1}) ne peut ajouter de consistency, l'option est en lecture seul"
#: tiramisu/option/baseoption.py:599 tiramisu/option/baseoption.py:603
msgid "cannot add consistency with submulti option"
msgstr "ne peut ajouter de test de consistence a une option submulti"
#: tiramisu/option/baseoption.py:684
msgid "unknow parameter {0} in consistency"
msgstr "paramètre inconnu {0} dans un test de consistance"
#: tiramisu/option/baseoption.py:691
#: tiramisu/option/baseoption.py:605
msgid "consistency must be set with an option"
msgstr "consistency doit être configuré avec une option"
#: tiramisu/option/baseoption.py:694 tiramisu/option/baseoption.py:701
msgid ""
"almost one option in consistency is in a dynoptiondescription but not all"
#: tiramisu/option/baseoption.py:608 tiramisu/option/baseoption.py:615
msgid "almost one option in consistency is in a dynoptiondescription but not all"
msgstr ""
"au moins une option dans le test de consistance est dans une "
"dynoptiondescription mais pas toutes"
"au moins une option dans le test de consistance est dans une dynoptiondescription mais pas toutes"
#: tiramisu/option/baseoption.py:697
#: tiramisu/option/baseoption.py:611
msgid "option in consistency must be in same dynoptiondescription"
msgstr ""
"option dans une consistency doit être dans le même dynoptiondescription"
msgstr "option dans une consistency doit être dans le même dynoptiondescription"
#: tiramisu/option/baseoption.py:704
#: tiramisu/option/baseoption.py:618
msgid "cannot add consistency with itself"
msgstr "ne peut ajouter une consistency avec lui même"
#: tiramisu/option/baseoption.py:706
#: tiramisu/option/baseoption.py:620
msgid "every options in consistency must be multi or none"
msgstr ""
"toutes les options d'une consistency doivent être multi ou ne pas l'être"
msgstr "toutes les options d'une consistency doivent être multi ou ne pas l'être"
#: tiramisu/option/baseoption.py:710
#: tiramisu/option/baseoption.py:634
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
msgstr "'{0}' ({1}) ne peut ajouter de consistency, l'option est en lecture seul"
#: tiramisu/option/baseoption.py:641
msgid "consistency {0} not available for this option"
msgstr "consistency {0} non valable pour cette option"
#: tiramisu/option/baseoption.py:739
#: tiramisu/option/baseoption.py:645
msgid "unknow parameter {0} in consistency"
msgstr "paramètre inconnu {0} dans un test de consistance"
#: tiramisu/option/baseoption.py:695
msgid "same value for {0} and {1}, should be different"
msgstr "même valeur pour {0} et {1}, devrait être différent"
#: tiramisu/option/baseoption.py:741
#: tiramisu/option/baseoption.py:697
msgid "same value for {0} and {1}, must be different"
msgstr "même valeur pour {0} et {1}, doit être différent"
#: tiramisu/option/baseoption.py:797
#: tiramisu/option/baseoption.py:755
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ée"
#: tiramisu/option/baseoption.py:819
#: tiramisu/option/baseoption.py:775
msgid "malformed requirements type for option: {0}, must be a dict"
msgstr ""
"type requirements malformé pour l'option : {0}, doit être un dictionnaire"
msgstr "type requirements malformé pour l'option : {0}, doit être un dictionnaire"
#: tiramisu/option/baseoption.py:825
#: tiramisu/option/baseoption.py:781
msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}"
msgstr ""
"requirements mal formés pour l'option : {0} clefs inconnues {1}, doit "
"seulement avoir {2}"
msgstr "requirements mal formés pour l'option : {0} clefs inconnues {1}, doit seulement avoir {2}"
#: tiramisu/option/baseoption.py:836
msgid ""
"malformed requirements for option: {0} require must have option, expected "
"and action keys"
#: tiramisu/option/baseoption.py:789
msgid "malformed requirements for option: {0} require must have option, expected and action keys"
msgstr ""
"requirements malformé pour l'option : {0} l'exigence doit avoir les clefs "
"option, expected et action"
"requirements malformé pour l'option : {0} l'exigence doit avoir les clefs option, expected et action"
#: tiramisu/option/baseoption.py:840
msgid ""
"malformed requirements for option: {0} action cannot be force_store_value"
msgstr ""
"requirements mal formés pour l'option : {0} action ne peut pas être "
"force_store_value"
#: tiramisu/option/baseoption.py:796
msgid "malformed requirements for option: {0} action cannot be force_store_value"
msgstr "requirements mal formés pour l'option : {0} action ne peut pas être force_store_value"
#: tiramisu/option/baseoption.py:845
#: tiramisu/option/baseoption.py:801
msgid "malformed requirements for option: {0} inverse must be boolean"
msgstr ""
"requirements mal formés pour l'option : {0} inverse doit être un booléen"
msgstr "requirements mal formés pour l'option : {0} inverse doit être un booléen"
#: tiramisu/option/baseoption.py:849
#: tiramisu/option/baseoption.py:805
msgid "malformed requirements for option: {0} transitive must be boolean"
msgstr ""
"requirements mal formés pour l'option : {0} transitive doit être booléen"
msgstr "requirements mal formés pour l'option : {0} transitive doit être booléen"
#: tiramisu/option/baseoption.py:853
#: tiramisu/option/baseoption.py:809
msgid "malformed requirements for option: {0} same_action must be boolean"
msgstr ""
"requirements mal formés pour l'option : {0} same_action doit être un booléen"
msgstr "requirements mal formés pour l'option : {0} same_action doit être un booléen"
#: tiramisu/option/baseoption.py:857
#: tiramisu/option/baseoption.py:813
msgid "malformed requirements must be an option in option {0}"
msgstr "requirements mal formés doit être une option dans l'option {0}"
#: tiramisu/option/baseoption.py:860
msgid "malformed requirements option {0} must not be a multi for {1}"
#: tiramisu/option/baseoption.py:816
msgid "malformed requirements multi option must not set as requires of non multi option {0}"
msgstr ""
"requirements mal formés pour l'option {0} ne doit pas être une multi pour {1}"
"requirements mal formés une option multiple ne doit pas être spécifié comme pré-requis à l'option "
"non multiple {0}"
#: tiramisu/option/baseoption.py:867
msgid ""
"malformed requirements second argument must be valid for option {0}: {1}"
msgstr ""
"requirements mal formés deuxième argument doit être valide pour l'option "
"{0} : {1}"
#: tiramisu/option/baseoption.py:822
msgid "malformed requirements second argument must be valid for option {0}: {1}"
msgstr "requirements mal formés deuxième argument doit être valide pour l'option {0} : {1}"
#: tiramisu/option/baseoption.py:872
#: tiramisu/option/baseoption.py:827
msgid "inconsistency in action types for option: {0} action: {1}"
msgstr "incohérence dans les types action pour l'option : {0} action {1}"
#: tiramisu/option/baseoption.py:900
#: tiramisu/option/baseoption.py:855
msgid "malformed symlinkoption must be an option for symlink {0}"
msgstr "symlinkoption mal formé, doit être une option pour symlink {0}"
@ -352,21 +315,21 @@ msgstr "groupe maître {0} ne doit pas avoir de sous-groupe"
#: tiramisu/option/masterslave.py:44
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"
msgstr "option non autorisée {0} dans le groupe {1} : cette option n'est pas une multi"
#: tiramisu/option/masterslave.py:53
#: tiramisu/option/masterslave.py:52
msgid "not allowed default value for option {0} in group {1}"
msgstr "valeur de défaut non autorisée pour l'option {0} du groupe {1}"
#: tiramisu/option/masterslave.py:57
msgid "master group with wrong master name for {0}"
msgstr "le groupe maître avec un nom de maître érroné pour {0}"
#: tiramisu/option/masterslave.py:63
#: tiramisu/option/masterslave.py:67
msgid "callback of master's option shall not refered a slave's ones"
msgstr ""
"callback d'une variable maitre ne devrait pas référencer des variables "
"esclaves"
msgstr "callback d'une variable maitre ne devrait pas référencer des variables esclaves"
#: tiramisu/option/masterslave.py:260
#: tiramisu/option/masterslave.py:283
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"
@ -378,245 +341,267 @@ msgstr "values n'est pas une fonction, donc values_params doit être None"
msgid "values must be a tuple or a function for {0}"
msgstr "values doit être un tuple ou une fonction pour {0}"
#: tiramisu/option/option.py:81
#: tiramisu/option/option.py:91
msgid "calculated values for {0} is not a list"
msgstr "valeurs calculées for {0} n'est pas une liste"
#: tiramisu/option/option.py:89
#: tiramisu/option/option.py:102
msgid "value {0} is not permitted, only {1} is allowed"
msgstr "valeur {0} n'est pas permis, seules {1} sont autorisées"
#: tiramisu/option/option.py:103
#: tiramisu/option/option.py:115
msgid "invalid boolean"
msgstr "booléen invalide"
#: tiramisu/option/option.py:112
#: tiramisu/option/option.py:125
msgid "invalid integer"
msgstr "nombre invalide"
#: tiramisu/option/option.py:121
#: tiramisu/option/option.py:135
msgid "invalid float"
msgstr "invalide nombre flottan"
#: tiramisu/option/option.py:130
msgid "invalid string"
msgstr "invalide caractère"
#: tiramisu/option/option.py:146
#: tiramisu/option/option.py:162
msgid "invalid unicode"
msgstr "invalide unicode"
#: tiramisu/option/option.py:179 tiramisu/option/option.py:182
#: tiramisu/option/option.py:187
#: tiramisu/option/option.py:207 tiramisu/option/option.py:210 tiramisu/option/option.py:215
msgid "invalid IP"
msgstr "adresse IP invalide"
#: tiramisu/option/option.py:193
#: tiramisu/option/option.py:221
msgid "IP is in reserved class"
msgstr "l'adresse IP est dans une plage d'adresse réservée"
#: tiramisu/option/option.py:195
#: tiramisu/option/option.py:223
msgid "invalid IP, mustn't be in reserved class"
msgstr "adresse IP invalide, ne doit pas être dans une classe réservée"
#: tiramisu/option/option.py:199
#: tiramisu/option/option.py:227
msgid "IP is not in private class"
msgstr "l'adresse IP n'est pas dans une plage d'adressage privée"
#: tiramisu/option/option.py:201
#: tiramisu/option/option.py:229
msgid "invalid IP, must be in private class"
msgstr "adresse IP invalide, doit être dans la classe privée"
#: tiramisu/option/option.py:206 tiramisu/option/option.py:384
#: tiramisu/option/option.py:234 tiramisu/option/option.py:438
msgid "invalid len for vals"
msgstr "longueur invalide pour vals"
#: tiramisu/option/option.py:212
#: tiramisu/option/option.py:240
msgid "IP {0} ({1}) not in network {2} ({3}) with netmask {4} ({5})"
msgstr "IP {0} ({1}) pas dans le réseau {2} ({3}) avec le masque {4} ({5})"
#: tiramisu/option/option.py:215
#: tiramisu/option/option.py:243
msgid "invalid IP {0} ({1}) not in network {2} ({3}) with netmask {4} ({5})"
msgstr ""
"IP invalide {0} ({1}) pas dans le réseau {2} ({3}) avec le masque {4} ({5})"
msgstr "IP invalide {0} ({1}) pas dans le réseau {2} ({3}) avec le masque {4} ({5})"
#: tiramisu/option/option.py:257
#: tiramisu/option/option.py:286
msgid "inconsistency in allowed range"
msgstr "inconsistence dans la plage autorisée"
#: tiramisu/option/option.py:262
#: tiramisu/option/option.py:291
msgid "max value is empty"
msgstr "la valeur maximum est vide"
#: tiramisu/option/option.py:283
#: tiramisu/option/option.py:319
msgid "invalid port, range must have two values only"
msgstr "port invalide, une plage doit avoir deux valeurs seulement"
#: tiramisu/option/option.py:286
#: tiramisu/option/option.py:322
msgid "invalid port, first port in range must be smaller than the second one"
msgstr ""
"port invalide, le premier port d'une plage doit être plus petit que le second"
msgstr "port invalide, le premier port d'une plage doit être plus petit que le second"
#: tiramisu/option/option.py:295
#: tiramisu/option/option.py:329
msgid "invalid port"
msgstr "port invalide"
#: tiramisu/option/option.py:297
#: tiramisu/option/option.py:332
msgid "invalid port, must be an integer between {0} and {1}"
msgstr "port invalide, port doit être nombre entre {0} et {1}"
#: tiramisu/option/option.py:311
#: tiramisu/option/option.py:347 tiramisu/option/option.py:350 tiramisu/option/option.py:354
msgid "invalid network address"
msgstr "adresse réseau invalide"
#: tiramisu/option/option.py:317
#: tiramisu/option/option.py:360
msgid "network address is in reserved class"
msgstr "l'adresse réseau est pas dans une plage d'adresse réservée"
#: tiramisu/option/option.py:319
#: tiramisu/option/option.py:362
msgid "invalid network address, mustn't be in reserved class"
msgstr "adresse réseau invalide, ne doit pas être dans la classe réservée"
#: tiramisu/option/option.py:332
#: tiramisu/option/option.py:376 tiramisu/option/option.py:379 tiramisu/option/option.py:383
msgid "invalid netmask address"
msgstr "masque de sous-réseau invalide"
#: tiramisu/option/option.py:349
#: tiramisu/option/option.py:400
msgid "invalid len for opts"
msgstr "longueur invalide pour opts"
#: tiramisu/option/option.py:358
#: tiramisu/option/option.py:409
msgid "invalid IP {0} ({1}) with netmask {2}, this IP is a network"
msgstr "IP invalide {0} ({1}) avec masque {2}, cette IP est un réseau"
#: tiramisu/option/option.py:361
#: tiramisu/option/option.py:412
msgid "invalid IP {0} ({1}) with netmask {2}, this IP is a broadcast"
msgstr "IP invalide {0} ({1}) avec masque {2}, cette IP est un broadcast"
#: tiramisu/option/option.py:366
#: tiramisu/option/option.py:417
msgid "invalid network {0} ({1}) with netmask {2}"
msgstr "réseau invalide {0} ({1}) avec masque {2}"
#: tiramisu/option/option.py:380
#: tiramisu/option/option.py:434
msgid "invalid broadcast address"
msgstr "adresse de broadcast invalide"
#: tiramisu/option/option.py:389
msgid ""
"invalid broadcast {0} ({1}) with network {2} ({3}) and netmask {4} ({5})"
msgstr ""
"Broadcast invalide {0} ({1}) avec le réseau {2} ({3}) et le masque {4} ({5})"
#: tiramisu/option/option.py:443
msgid "invalid broadcast {0} ({1}) with network {2} ({3}) and netmask {4} ({5})"
msgstr "Broadcast invalide {0} ({1}) avec le réseau {2} ({3}) et le masque {4} ({5})"
#: tiramisu/option/option.py:410
#: tiramisu/option/option.py:464
msgid "unknown type_ {0} for hostname"
msgstr "type_ inconnu {0} pour le nom d'hôte"
#: tiramisu/option/option.py:413
#: tiramisu/option/option.py:467
msgid "allow_ip must be a boolean"
msgstr "allow_ip doit être un booléen"
#: tiramisu/option/option.py:415
#: tiramisu/option/option.py:469
msgid "allow_without_dot must be a boolean"
msgstr "allow_without_dot doit être un booléen"
#: tiramisu/option/option.py:437
#: tiramisu/option/option.py:495
msgid "invalid domainname's length (min 1)"
msgstr "longueur du nom de domaine invalide (minimum 1)"
#: tiramisu/option/option.py:439
#: tiramisu/option/option.py:497
msgid "invalid domainname's length (max {0})"
msgstr "longueur du nom de domaine invalide (maximum {0})"
#: tiramisu/option/option.py:454
#: tiramisu/option/option.py:512
msgid "invalid domainname, must not be an IP"
msgstr "nom de domaine invalide, ne doit pas être une IP"
#: tiramisu/option/option.py:519
msgid "invalid domainname, must have dot"
msgstr "nom de domaine invalide, doit avoir un point"
#: tiramisu/option/option.py:456
#: tiramisu/option/option.py:521
msgid "invalid domainname's length (max 255)"
msgstr "longueur du nom de domaine invalide (maximum {1})"
#: tiramisu/option/option.py:465
#: tiramisu/option/option.py:532
msgid "some characters are uppercase"
msgstr "des caractères sont en majuscule"
#: tiramisu/option/option.py:468
#: tiramisu/option/option.py:535
msgid "some characters may cause problems"
msgstr "des caractères peuvent poser problèmes"
#: tiramisu/option/option.py:470
#: tiramisu/option/option.py:537
msgid "invalid domainname"
msgstr "nom de domaine invalide"
#: tiramisu/option/option.py:495
#: tiramisu/option/option.py:563
msgid "invalid email address, must contains one @"
msgstr "adresse email invalide, doit contenir un @"
#: tiramisu/option/option.py:498
#: tiramisu/option/option.py:566
msgid "invalid username in email address"
msgstr "nom d'utilisateur invalide dans une adresse email"
#: tiramisu/option/option.py:515
#: tiramisu/option/option.py:588
msgid "invalid url, must start with http:// or https://"
msgstr "URL invalide, doit démarrer avec http:// ou https://"
#: tiramisu/option/option.py:534
#: tiramisu/option/option.py:606
msgid "invalid url, port must be an between 0 and 65536"
msgstr "URL invalide, port doit être entre 0 et 65536"
#: tiramisu/option/option.py:541
#: tiramisu/option/option.py:617
msgid "invalid url, must ends with a valid resource name"
msgstr "URL invalide, doit finir par un nom de ressource valide"
#: tiramisu/option/option.py:556
#: tiramisu/option/option.py:635
msgid "invalid username"
msgstr "utilisateur invalide"
#: tiramisu/option/option.py:567
#: tiramisu/option/option.py:649
msgid "invalid filename"
msgstr "nom de fichier invalide"
#: tiramisu/option/optiondescription.py:68
#: tiramisu/option/optiondescription.py:73
msgid "duplicate option name: {0}"
msgstr "nom de l'option dupliqué : {0}"
#: tiramisu/option/optiondescription.py:73
#: tiramisu/option/optiondescription.py:78
msgid "option must not start as dynoptiondescription"
msgstr "option ne doit pas commencé pareil qu'un dynoptiondescription"
#: tiramisu/option/optiondescription.py:117
msgid "consistency with option {0} which is not in Config"
msgstr "consistency avec l'option {0} qui n'est pas dans une Config"
#: tiramisu/option/optiondescription.py:134
msgid "malformed consistency option {0} must be a master/slaves"
msgstr "test de consistence mal formé pour l'option {0} doit être une maître/esclave"
#: tiramisu/option/optiondescription.py:143
#: tiramisu/option/optiondescription.py:141
msgid "malformed consistency option {0} must not be a multi for {1}"
msgstr "test de consistence mal formé pour l'option {0} ne doit doit pas être une liste pour {1}"
#: tiramisu/option/optiondescription.py:145
msgid "malformed consistency option {0} must be in same master/slaves for {1}"
msgstr "test de consistence mal formé pour l'option {0} doit être dans la même maître/esclave pour {1}"
#: tiramisu/option/optiondescription.py:170
msgid "malformed requirements option {0} must be in same master/slaves for {1}"
msgstr "requirements mal formé pour l'option {0} doit être dans la même maître/esclave pour {1}"
#: tiramisu/option/optiondescription.py:174
msgid "malformed requirements option {0} must not be a multi for {1}"
msgstr "requirements mal formés pour l'option {0} ne doit pas être une multi pour {1}"
#: tiramisu/option/optiondescription.py:183
msgid "duplicate option: {0}"
msgstr "option dupliquée : {0}"
#: tiramisu/option/optiondescription.py:154
#: tiramisu/option/optiondescription.py:188
msgid "consistency with option {0} which is not in Config"
msgstr "consistency avec l'option {0} qui n'est pas dans une Config"
#: tiramisu/option/optiondescription.py:201
msgid "a slave ({0}) cannot have force_store_value property"
msgstr "une slave ({0}) ne doit pas avoir la propriété force_store_value"
#: tiramisu/option/optiondescription.py:204
msgid "a dynoption ({0}) cannot have force_store_value property"
msgstr ""
#: tiramisu/option/optiondescription.py:218
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/optiondescription.py:162
#: tiramisu/option/optiondescription.py:226
msgid "group_type: {0} not allowed"
msgstr "group_type : {0} non autorisé"
#: tiramisu/option/optiondescription.py:260
#: tiramisu/option/optiondescription.py:288
msgid "DynOptionDescription callback return not uniq value"
msgstr "callback d'une DynOptionDescription ne retourne pas une valeur unique"
#: tiramisu/option/optiondescription.py:263
#: tiramisu/option/optiondescription.py:291
msgid "invalid suffix: {0} for option"
msgstr "suffix invalide : {0} pour l'option"
#: tiramisu/option/optiondescription.py:320
msgid "cannot set optiondescription in an dynoptiondescription"
#: tiramisu/option/optiondescription.py:348
msgid "cannot set optiondescription in a dynoptiondescription"
msgstr ""
"impossible de mettre une optiondescription dans un dynoptiondescription"
#: tiramisu/option/optiondescription.py:325
msgid "cannot set symlinkoption in an dynoptiondescription"
msgstr "impossible de placer un symlinkoption dans un dynoptiondescription"
#: tiramisu/option/optiondescription.py:353 tiramisu/option/optiondescription.py:356
msgid "cannot set symlinkoption in a dynoptiondescription"
msgstr ""
#: tiramisu/option/optiondescription.py:333
#: tiramisu/option/optiondescription.py:364
msgid "callback is mandatory for dynoptiondescription"
msgstr "callback est obligatoire pour un dynoptiondescription"
@ -628,184 +613,191 @@ msgstr "ne peut redéfinir ({0})"
msgid "can't unbind {0}"
msgstr "ne peut supprimer ({0})"
#: tiramisu/setting.py:260
#: tiramisu/setting.py:264
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"
msgstr "ne peut ajouter la propriété {0} dans l'option {1}: cette propriété est calculée"
#: tiramisu/setting.py:349
msgid "you should only append/remove properties"
msgstr "pour pouvait seulement ajouter/supprimer des propriétés"
#: tiramisu/setting.py:353
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:373
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:417
#: tiramisu/setting.py:268 tiramisu/setting.py:434
msgid "cannot add those properties: {0}"
msgstr "ne peut pas ajouter ces propriétés : {0}"
#: tiramisu/setting.py:490
msgid "cannot change the value for option {0} this option is frozen"
msgstr ""
"ne peut modifier la valeur de l'option {0} cette option n'est pas modifiable"
#: tiramisu/setting.py:357
msgid "you should only append/remove properties"
msgstr "pour pouvait seulement ajouter/supprimer des propriétés"
#: tiramisu/setting.py:361
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:382
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:500
msgid "cannot change the value for option {0} this option is frozen"
msgstr "ne peut modifier la valeur de l'option {0} cette option n'est pas modifiable"
#: tiramisu/setting.py:510
msgid "trying to access to an {0} named: {1} with properties {2}"
msgstr "tentative d'accès à une {0} nommée : {1} avec les propriétés {2}"
#: tiramisu/setting.py:519
#: tiramisu/setting.py:529
msgid "permissive must be a tuple"
msgstr "permissive doit être un tuple"
#: tiramisu/setting.py:526 tiramisu/value.py:464
#: tiramisu/setting.py:536 tiramisu/value.py:536
msgid "invalid generic owner {0}"
msgstr "invalide owner générique {0}"
#: tiramisu/setting.py:614
msgid ""
"malformed requirements imbrication detected for option: '{0}' with "
"requirement on: '{1}'"
#: tiramisu/setting.py:630
msgid "malformed requirements imbrication detected for option: '{0}' with requirement on: '{1}'"
msgstr ""
"imbrication de requirements mal formés detectée pour l'option : '{0}' avec "
"requirement sur : '{1}'"
"imbrication de requirements mal formés detectée pour l'option : '{0}' avec requirement sur : '{1}'"
#: tiramisu/setting.py:625
#: tiramisu/setting.py:647
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/storage/__init__.py:49
#: tiramisu/storage/__init__.py:52
msgid "storage_type is already set, cannot rebind it"
msgstr "storage_type est déjà défini, impossible de le redéfinir"
#: tiramisu/storage/__init__.py:60
#: tiramisu/storage/__init__.py:63
msgid "cannot import the storage {0}"
msgstr "ne peut pas importer le stockage {0}"
#: tiramisu/storage/__init__.py:93
#: tiramisu/storage/__init__.py:96
msgid "option {0} not already exists in storage {1}"
msgstr "option {0} n'existe pas dans l'espace de stockage {1}"
#: tiramisu/storage/__init__.py:131
msgid "unable to get storages:"
msgstr "impossible de récupérer les storages :"
#: tiramisu/storage/dictionary/option.py:96
#: tiramisu/storage/dictionary/option.py:102
msgid "invalid default_multi value {0} for option {1}: {2}"
msgstr "la valeur default_multi est invalide {0} pour l'option {1} : {2}"
#: tiramisu/storage/dictionary/option.py:138
#: tiramisu/storage/sqlalchemy/option.py:439 tiramisu/value.py:528
#: tiramisu/storage/dictionary/option.py:142 tiramisu/storage/dictionary/value.py:234
#: tiramisu/storage/sqlalchemy/option.py:441
msgid "information's item not found: {0}"
msgstr "aucune config spécifiée alors que c'est nécessaire"
#: tiramisu/storage/dictionary/option.py:365
#: tiramisu/storage/sqlalchemy/option.py:483
#: tiramisu/storage/dictionary/option.py:383
msgid "use impl_get_opt_by_path only with root OptionDescription"
msgstr ""
#: tiramisu/storage/dictionary/option.py:385 tiramisu/storage/sqlalchemy/option.py:485
msgid "no option for path {0}"
msgstr "pas d'option pour le chemin {0}"
#: tiramisu/storage/dictionary/option.py:369
#: tiramisu/storage/sqlalchemy/option.py:492
#: tiramisu/storage/dictionary/option.py:390 tiramisu/storage/sqlalchemy/option.py:494
msgid "use impl_get_path_by_opt only with root OptionDescription"
msgstr ""
"utiliser impl_get_path_by_opt seulement avec une OptionDescription racine"
msgstr "utiliser impl_get_path_by_opt seulement avec une OptionDescription racine"
#: tiramisu/storage/dictionary/option.py:373
#: tiramisu/storage/sqlalchemy/option.py:493
#: tiramisu/storage/dictionary/option.py:392 tiramisu/storage/sqlalchemy/option.py:495
msgid "no option {0} found"
msgstr "pas d'option {0} trouvée"
#: tiramisu/storage/dictionary/option.py:422
#: tiramisu/storage/dictionary/option.py:439
msgid "cannot find dynpath"
msgstr "ne peut trouver le dynpath"
#: tiramisu/storage/dictionary/option.py:512
#: tiramisu/storage/sqlalchemy/option.py:638
#: tiramisu/storage/dictionary/option.py:528 tiramisu/storage/sqlalchemy/option.py:640
msgid "suffix and context needed if it's a dyn option"
msgstr "suffix et context obligatoire si c'est une option dynamique"
#: tiramisu/storage/dictionary/option.py:525
msgid "{0} instance has no attribute '_readonly'"
msgstr "{0} instance n'a pas l'attribut '_readonly'"
#: tiramisu/storage/dictionary/option.py:539
#: tiramisu/storage/sqlalchemy/option.py:668
#: tiramisu/storage/dictionary/option.py:549 tiramisu/storage/sqlalchemy/option.py:670
msgid "unknown Option {0} in OptionDescription {1}"
msgstr "Option {0} inconnue pour l'OptionDescription {1}"
#: tiramisu/storage/dictionary/storage.py:37
msgid "dictionary storage cannot delete session"
msgstr ""
"impossible de supprimer une session dans un espace de stockage dictionary"
msgstr "impossible de supprimer une session dans un espace de stockage dictionary"
#: tiramisu/storage/dictionary/storage.py:48
#: tiramisu/storage/sqlalchemy/storage.py:66
msgid "session already used"
msgstr "session déjà utilisée"
#: tiramisu/storage/dictionary/storage.py:50
#: tiramisu/storage/dictionary/storage.py:50 tiramisu/storage/dictionary/value.py:252
msgid "a dictionary cannot be persistent"
msgstr "un espace de stockage dictionary ne peut être persistant"
#: tiramisu/value.py:65
msgid "optiondescription has no value"
msgstr "une optiondescription n'a pas de valeur"
#: tiramisu/storage/dictionary/value.py:243
msgid "information's item not found {0}"
msgstr "l'information de l'objet ne sont pas trouvé {0}"
#: tiramisu/value.py:350
#: tiramisu/value.py:391
msgid "you should only set value with config"
msgstr "vous devez seul affecter une valeur avec un config"
#: tiramisu/value.py:432
#: tiramisu/value.py:500
msgid "owner only avalaible for an option"
msgstr "owner seulement possible pour une option"
#: tiramisu/value.py:471
#: tiramisu/value.py:541
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:572
#: tiramisu/value.py:671
msgid "can force cache only if cache is actived in config"
msgstr ""
"peut force la mise en cache seulement si le cache est activé dans la config"
msgstr "peut force la mise en cache seulement si le cache est activé dans la config"
#: tiramisu/value.py:611
#: tiramisu/value.py:708
msgid "{0} is already a Multi "
msgstr "{0} est déjà une Multi"
#: tiramisu/value.py:682
#: tiramisu/value.py:786
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:709
#: tiramisu/value.py:817
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:713
#: tiramisu/value.py:821
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:722
#: tiramisu/value.py:830
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:730
#: tiramisu/value.py:837
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:746
#: tiramisu/value.py:854
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:781
#: tiramisu/value.py:889
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 "a default_multi is set whereas multi is False in option: {0}"
#~ msgstr "une default_multi est renseignée alors que multi est False dans l'option : {0}"
#~ msgid "do_validation for {0}: warning in value"
#~ msgstr "do_validation for {0} : warning dans un la valeur"
#~ msgid "do_validation for {0}: error in consistency"
#~ msgstr "do_validation for {0} : erreur dans un test de consistance"
#~ msgid "do_validation for {0}: warning in consistency"
#~ msgstr "do_validation for {0} : warning dans un test de consistance"
#~ msgid "cannot set optiondescription in an dynoptiondescription"
#~ msgstr "impossible de mettre une optiondescription dans un dynoptiondescription"
#~ msgid "cannot set symlinkoption in an dynoptiondescription"
#~ msgstr "impossible de placer un symlinkoption dans un dynoptiondescription"
#~ msgid "unable to get storages:"
#~ msgstr "impossible de récupérer les storages :"
#~ msgid "{0} instance has no attribute '_readonly'"
#~ msgstr "{0} instance n'a pas l'attribut '_readonly'"
#~ msgid "optiondescription has no value"
#~ msgstr "une optiondescription n'a pas de valeur"
#~ msgid "validator not support tuple"
#~ msgstr "validator n'accepte pas de tuple"
@ -824,18 +816,14 @@ msgstr "ne peut supprimer une valeur dans l'option multi {0} qui est esclave"
#~ msgid "invalid IP {0} ({1}) with netmask {2}"
#~ msgstr "IP invalide {0} ({1}) avec masque {2}"
#~ 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"
#~ 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"
#~ msgid ""
#~ "unable to carry out a calculation, option value with multi types must "
#~ "have same length for: {0}"
#~ "unable to carry out a calculation, option value with multi types must have same length for: {0}"
#~ msgstr ""
#~ "impossible d'effectuer le calcul, la valeur d'une option avec le type "
#~ "multi doit avoir la même longueur pour : {0}"
#~ "impossible d'effectuer le calcul, la valeur d'une option avec le type multi doit avoir la même "
#~ "longueur pour : {0}"
#~ msgid "no child has same nom has master group for: {0}"
#~ msgstr "pas d'enfant avec le nom du groupe maître pour {0} "
@ -856,8 +844,7 @@ msgstr "ne peut supprimer une valeur dans l'option multi {0} qui est esclave"
#~ msgstr "valeur doit être une valeur unicode"
#~ msgid "invalid value {0} for option {1} must be different as {2} option"
#~ msgstr ""
#~ "valeur invalide {0} pour l'option {1} doit être différente de l'option {2}"
#~ msgstr "valeur invalide {0} pour l'option {1} doit être différente de l'option {2}"
#~ msgid "validator should return a boolean, not {0}"
#~ msgstr "le validator devrait retourner un boolean, pas un {0}"

View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-10-12 17:04+CEST\n"
"POT-Creation-Date: 2016-08-31 15:38+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,128 +15,132 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
#: tiramisu/autolib.py:176
#: tiramisu/autolib.py:171
msgid "unable to carry out a calculation, option {0} has properties: {1} for: {2}"
msgstr ""
#: tiramisu/config.py:61
#: tiramisu/autolib.py:239
msgid "callback cannot return a list for a slave option ({0})"
msgstr ""
#: tiramisu/config.py:64
msgid "descr must be an optiondescription, not {0}"
msgstr ""
#: tiramisu/config.py:141
#: tiramisu/config.py:148
msgid "unknown group_type: {0}"
msgstr ""
#: tiramisu/config.py:180 tiramisu/setting.py:326 tiramisu/value.py:54
#: tiramisu/value.py:645
#: tiramisu/config.py:187 tiramisu/setting.py:334 tiramisu/value.py:54
#: tiramisu/value.py:742
msgid "the context does not exist anymore"
msgstr ""
#: tiramisu/config.py:185
#: tiramisu/config.py:192
msgid "no option description found for this config (may be GroupConfig)"
msgstr ""
#: tiramisu/config.py:213
#: tiramisu/config.py:228
msgid "can't assign to an OptionDescription"
msgstr ""
#: tiramisu/config.py:342
#: tiramisu/config.py:379
msgid "unknown type_ type {0}for _find"
msgstr ""
#: tiramisu/config.py:382
#: tiramisu/config.py:422
msgid "no option found in config with these criteria"
msgstr ""
#: tiramisu/config.py:432
#: tiramisu/config.py:470
msgid "make_dict can't filtering with value without option"
msgstr ""
#: tiramisu/config.py:451
#: tiramisu/config.py:493
msgid "unexpected path {0}, should start with {1}"
msgstr ""
#: tiramisu/config.py:522
#: tiramisu/config.py:567
msgid "opt in getowner must be an option not {0}"
msgstr ""
#: tiramisu/config.py:567
#: tiramisu/config.py:615
msgid "cannot serialize Config with MetaConfig"
msgstr ""
#: tiramisu/config.py:581
#: tiramisu/config.py:629
msgid "this storage is not serialisable, could be a none persistent storage"
msgstr ""
#: tiramisu/config.py:645
#: tiramisu/config.py:693
msgid "invalid name: {0} for config"
msgstr ""
#: tiramisu/config.py:676
#: tiramisu/config.py:724
msgid "groupconfig's children must be a list"
msgstr ""
#: tiramisu/config.py:680
#: tiramisu/config.py:728
msgid "groupconfig's children must be Config, MetaConfig or GroupConfig"
msgstr ""
#: tiramisu/config.py:683
#: tiramisu/config.py:731
msgid "name must be set to config before creating groupconfig"
msgstr ""
#: tiramisu/config.py:691
#: tiramisu/config.py:737
msgid "config name must be uniq in groupconfig for {0}"
msgstr ""
#: tiramisu/config.py:806
#: tiramisu/config.py:846
msgid "metaconfig's children should be config, not {0}"
msgstr ""
#: tiramisu/config.py:810
#: tiramisu/config.py:850
msgid "child has already a metaconfig's"
msgstr ""
#: tiramisu/config.py:814
#: tiramisu/config.py:854
msgid "all config in metaconfig must have the same optiondescription"
msgstr ""
#: tiramisu/config.py:826
#: tiramisu/config.py:869
msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config"
msgstr ""
#: tiramisu/config.py:832
#: tiramisu/config.py:875
msgid "force_default and force_dont_change_value cannot be set together"
msgstr ""
#: tiramisu/option/baseoption.py:57
#: tiramisu/option/baseoption.py:56
msgid "{0} must be a function"
msgstr ""
#: tiramisu/option/baseoption.py:60
#: tiramisu/option/baseoption.py:59
msgid "{0}_params must be a dict"
msgstr ""
#: tiramisu/option/baseoption.py:63
#: tiramisu/option/baseoption.py:62
msgid "{0}_params with key {1} mustn't have length different to 1"
msgstr ""
#: tiramisu/option/baseoption.py:67
#: tiramisu/option/baseoption.py:66
msgid "{0}_params must be tuple for key \"{1}\""
msgstr ""
#: tiramisu/option/baseoption.py:73
#: tiramisu/option/baseoption.py:72
msgid "{0}_params with length of tuple as 1 must only have None as first value"
msgstr ""
#: tiramisu/option/baseoption.py:77
#: tiramisu/option/baseoption.py:76
msgid "{0}_params must only have 1 or 2 as length"
msgstr ""
#: tiramisu/option/baseoption.py:83
#: tiramisu/option/baseoption.py:82
msgid "{0}_params must have an option not a {0} for first argument"
msgstr ""
#: tiramisu/option/baseoption.py:87
#: tiramisu/option/baseoption.py:86
msgid "{0}_params must have a boolean not a {0} for second argument"
msgstr ""
@ -144,155 +148,155 @@ msgstr ""
msgid "invalid name: {0} for option"
msgstr ""
#: tiramisu/option/baseoption.py:111
msgid "a default_multi is set whereas multi is False in option: {0}"
#: tiramisu/option/baseoption.py:105
msgid "default_multi is set whereas multi is False in option: {0}"
msgstr ""
#: tiramisu/option/baseoption.py:122
#: tiramisu/option/baseoption.py:117
msgid "invalid multi value"
msgstr ""
#: tiramisu/option/baseoption.py:127
msgid "invalid properties type {0} for {1}, must be a tuple"
msgstr ""
#: tiramisu/option/baseoption.py:147
#: tiramisu/option/baseoption.py:156
msgid "params defined for a callback function but no callback defined yet for option {0}"
msgstr ""
#: tiramisu/option/baseoption.py:152
#: tiramisu/option/baseoption.py:161
msgid "a callback is already set for option {0}, cannot set another one's"
msgstr ""
#: tiramisu/option/baseoption.py:279
#: tiramisu/option/baseoption.py:245
msgid "cannot serialize Option, only in OptionDescription"
msgstr ""
#: tiramisu/option/baseoption.py:365
#: tiramisu/option/baseoption.py:326 tiramisu/storage/dictionary/option.py:117
msgid "'{0}' ({1}) object attribute '{2}' is read-only"
msgstr ""
#: tiramisu/option/baseoption.py:391
#: tiramisu/option/baseoption.py:350 tiramisu/option/option.py:145
msgid "invalid string"
msgstr ""
#: tiramisu/option/baseoption.py:353
msgid "invalid unicode or string"
msgstr ""
#: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:592
#: tiramisu/option/baseoption.py:493 tiramisu/option/baseoption.py:526
msgid "invalid value for option {0}: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:560
#: tiramisu/option/baseoption.py:500
msgid "do_validation for {0}: error in value"
msgstr ""
#: tiramisu/option/baseoption.py:566
msgid "do_validation for {0}: warning in value"
msgstr ""
#: tiramisu/option/baseoption.py:576
msgid "do_validation for {0}: error in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:580
msgid "do_validation for {0}: warning in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:584
#: tiramisu/option/baseoption.py:518
msgid "warning on the value of the option {0}: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:604 tiramisu/option/baseoption.py:613
#: tiramisu/option/baseoption.py:540 tiramisu/option/baseoption.py:550
msgid "invalid value {0} for option {1} which must be a list"
msgstr ""
#: tiramisu/option/baseoption.py:619
#: tiramisu/option/baseoption.py:556
msgid "invalid value {0} for option {1} which must be a list of list"
msgstr ""
#: tiramisu/option/baseoption.py:672
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
#: tiramisu/option/baseoption.py:599 tiramisu/option/baseoption.py:603
msgid "cannot add consistency with submulti option"
msgstr ""
#: tiramisu/option/baseoption.py:684
msgid "unknow parameter {0} in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:691
#: tiramisu/option/baseoption.py:605
msgid "consistency must be set with an option"
msgstr ""
#: tiramisu/option/baseoption.py:694 tiramisu/option/baseoption.py:701
#: tiramisu/option/baseoption.py:608 tiramisu/option/baseoption.py:615
msgid "almost one option in consistency is in a dynoptiondescription but not all"
msgstr ""
#: tiramisu/option/baseoption.py:697
#: tiramisu/option/baseoption.py:611
msgid "option in consistency must be in same dynoptiondescription"
msgstr ""
#: tiramisu/option/baseoption.py:704
#: tiramisu/option/baseoption.py:618
msgid "cannot add consistency with itself"
msgstr ""
#: tiramisu/option/baseoption.py:706
#: tiramisu/option/baseoption.py:620
msgid "every options in consistency must be multi or none"
msgstr ""
#: tiramisu/option/baseoption.py:710
#: tiramisu/option/baseoption.py:634
msgid "'{0}' ({1}) cannot add consistency, option is read-only"
msgstr ""
#: tiramisu/option/baseoption.py:641
msgid "consistency {0} not available for this option"
msgstr ""
#: tiramisu/option/baseoption.py:739
#: tiramisu/option/baseoption.py:645
msgid "unknow parameter {0} in consistency"
msgstr ""
#: tiramisu/option/baseoption.py:695
msgid "same value for {0} and {1}, should be different"
msgstr ""
#: tiramisu/option/baseoption.py:741
#: tiramisu/option/baseoption.py:697
msgid "same value for {0} and {1}, must be different"
msgstr ""
#: tiramisu/option/baseoption.py:797
#: tiramisu/option/baseoption.py:755
msgid "default value not allowed if option: {0} is calculated"
msgstr ""
#: tiramisu/option/baseoption.py:819
#: tiramisu/option/baseoption.py:775
msgid "malformed requirements type for option: {0}, must be a dict"
msgstr ""
#: tiramisu/option/baseoption.py:825
#: tiramisu/option/baseoption.py:781
msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}"
msgstr ""
#: tiramisu/option/baseoption.py:836
#: tiramisu/option/baseoption.py:789
msgid "malformed requirements for option: {0} require must have option, expected and action keys"
msgstr ""
#: tiramisu/option/baseoption.py:840
#: tiramisu/option/baseoption.py:796
msgid "malformed requirements for option: {0} action cannot be force_store_value"
msgstr ""
#: tiramisu/option/baseoption.py:845
#: tiramisu/option/baseoption.py:801
msgid "malformed requirements for option: {0} inverse must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:849
#: tiramisu/option/baseoption.py:805
msgid "malformed requirements for option: {0} transitive must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:853
#: tiramisu/option/baseoption.py:809
msgid "malformed requirements for option: {0} same_action must be boolean"
msgstr ""
#: tiramisu/option/baseoption.py:857
#: tiramisu/option/baseoption.py:813
msgid "malformed requirements must be an option in option {0}"
msgstr ""
#: tiramisu/option/baseoption.py:860
msgid "malformed requirements option {0} must not be a multi for {1}"
#: tiramisu/option/baseoption.py:816
msgid "malformed requirements multi option must not set as requires of non multi option {0}"
msgstr ""
#: tiramisu/option/baseoption.py:867
#: tiramisu/option/baseoption.py:822
msgid "malformed requirements second argument must be valid for option {0}: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:872
#: tiramisu/option/baseoption.py:827
msgid "inconsistency in action types for option: {0} action: {1}"
msgstr ""
#: tiramisu/option/baseoption.py:900
#: tiramisu/option/baseoption.py:855
msgid "malformed symlinkoption must be an option for symlink {0}"
msgstr ""
@ -308,15 +312,19 @@ msgstr ""
msgid "not allowed option {0} in group {1}: this option is not a multi"
msgstr ""
#: tiramisu/option/masterslave.py:53
#: tiramisu/option/masterslave.py:52
msgid "not allowed default value for option {0} in group {1}"
msgstr ""
#: tiramisu/option/masterslave.py:57
msgid "master group with wrong master name for {0}"
msgstr ""
#: tiramisu/option/masterslave.py:63
#: tiramisu/option/masterslave.py:67
msgid "callback of master's option shall not refered a slave's ones"
msgstr ""
#: tiramisu/option/masterslave.py:260
#: tiramisu/option/masterslave.py:283
msgid "invalid len for the slave: {0} which has {1} as master"
msgstr ""
@ -328,240 +336,271 @@ msgstr ""
msgid "values must be a tuple or a function for {0}"
msgstr ""
#: tiramisu/option/option.py:81
#: tiramisu/option/option.py:91
msgid "calculated values for {0} is not a list"
msgstr ""
#: tiramisu/option/option.py:89
#: tiramisu/option/option.py:102
msgid "value {0} is not permitted, only {1} is allowed"
msgstr ""
#: tiramisu/option/option.py:103
#: tiramisu/option/option.py:115
msgid "invalid boolean"
msgstr ""
#: tiramisu/option/option.py:112
#: tiramisu/option/option.py:125
msgid "invalid integer"
msgstr ""
#: tiramisu/option/option.py:121
#: tiramisu/option/option.py:135
msgid "invalid float"
msgstr ""
#: tiramisu/option/option.py:130
msgid "invalid string"
msgstr ""
#: tiramisu/option/option.py:146
#: tiramisu/option/option.py:162
msgid "invalid unicode"
msgstr ""
#: tiramisu/option/option.py:179 tiramisu/option/option.py:182
#: tiramisu/option/option.py:187
#: tiramisu/option/option.py:207 tiramisu/option/option.py:210
#: tiramisu/option/option.py:215
msgid "invalid IP"
msgstr ""
#: tiramisu/option/option.py:193
#: tiramisu/option/option.py:221
msgid "IP is in reserved class"
msgstr ""
#: tiramisu/option/option.py:195
#: tiramisu/option/option.py:223
msgid "invalid IP, mustn't be in reserved class"
msgstr ""
#: tiramisu/option/option.py:199
#: tiramisu/option/option.py:227
msgid "IP is not in private class"
msgstr ""
#: tiramisu/option/option.py:201
#: tiramisu/option/option.py:229
msgid "invalid IP, must be in private class"
msgstr ""
#: tiramisu/option/option.py:206 tiramisu/option/option.py:384
#: tiramisu/option/option.py:234 tiramisu/option/option.py:438
msgid "invalid len for vals"
msgstr ""
#: tiramisu/option/option.py:212
#: tiramisu/option/option.py:240
msgid "IP {0} ({1}) not in network {2} ({3}) with netmask {4} ({5})"
msgstr ""
#: tiramisu/option/option.py:215
#: tiramisu/option/option.py:243
msgid "invalid IP {0} ({1}) not in network {2} ({3}) with netmask {4} ({5})"
msgstr ""
#: tiramisu/option/option.py:257
#: tiramisu/option/option.py:286
msgid "inconsistency in allowed range"
msgstr ""
#: tiramisu/option/option.py:262
#: tiramisu/option/option.py:291
msgid "max value is empty"
msgstr ""
#: tiramisu/option/option.py:283
#: tiramisu/option/option.py:319
msgid "invalid port, range must have two values only"
msgstr ""
#: tiramisu/option/option.py:286
#: tiramisu/option/option.py:322
msgid "invalid port, first port in range must be smaller than the second one"
msgstr ""
#: tiramisu/option/option.py:295
#: tiramisu/option/option.py:329
msgid "invalid port"
msgstr ""
#: tiramisu/option/option.py:297
#: tiramisu/option/option.py:332
msgid "invalid port, must be an integer between {0} and {1}"
msgstr ""
#: tiramisu/option/option.py:311
#: tiramisu/option/option.py:347 tiramisu/option/option.py:350
#: tiramisu/option/option.py:354
msgid "invalid network address"
msgstr ""
#: tiramisu/option/option.py:317
#: tiramisu/option/option.py:360
msgid "network address is in reserved class"
msgstr ""
#: tiramisu/option/option.py:319
#: tiramisu/option/option.py:362
msgid "invalid network address, mustn't be in reserved class"
msgstr ""
#: tiramisu/option/option.py:332
#: tiramisu/option/option.py:376 tiramisu/option/option.py:379
#: tiramisu/option/option.py:383
msgid "invalid netmask address"
msgstr ""
#: tiramisu/option/option.py:349
#: tiramisu/option/option.py:400
msgid "invalid len for opts"
msgstr ""
#: tiramisu/option/option.py:358
#: tiramisu/option/option.py:409
msgid "invalid IP {0} ({1}) with netmask {2}, this IP is a network"
msgstr ""
#: tiramisu/option/option.py:361
#: tiramisu/option/option.py:412
msgid "invalid IP {0} ({1}) with netmask {2}, this IP is a broadcast"
msgstr ""
#: tiramisu/option/option.py:366
#: tiramisu/option/option.py:417
msgid "invalid network {0} ({1}) with netmask {2}"
msgstr ""
#: tiramisu/option/option.py:380
#: tiramisu/option/option.py:434
msgid "invalid broadcast address"
msgstr ""
#: tiramisu/option/option.py:389
#: tiramisu/option/option.py:443
msgid "invalid broadcast {0} ({1}) with network {2} ({3}) and netmask {4} ({5})"
msgstr ""
#: tiramisu/option/option.py:410
#: tiramisu/option/option.py:464
msgid "unknown type_ {0} for hostname"
msgstr ""
#: tiramisu/option/option.py:413
#: tiramisu/option/option.py:467
msgid "allow_ip must be a boolean"
msgstr ""
#: tiramisu/option/option.py:415
#: tiramisu/option/option.py:469
msgid "allow_without_dot must be a boolean"
msgstr ""
#: tiramisu/option/option.py:437
#: tiramisu/option/option.py:495
msgid "invalid domainname's length (min 1)"
msgstr ""
#: tiramisu/option/option.py:439
#: tiramisu/option/option.py:497
msgid "invalid domainname's length (max {0})"
msgstr ""
#: tiramisu/option/option.py:454
#: tiramisu/option/option.py:512
msgid "invalid domainname, must not be an IP"
msgstr ""
#: tiramisu/option/option.py:519
msgid "invalid domainname, must have dot"
msgstr ""
#: tiramisu/option/option.py:456
#: tiramisu/option/option.py:521
msgid "invalid domainname's length (max 255)"
msgstr ""
#: tiramisu/option/option.py:465
#: tiramisu/option/option.py:532
msgid "some characters are uppercase"
msgstr ""
#: tiramisu/option/option.py:468
#: tiramisu/option/option.py:535
msgid "some characters may cause problems"
msgstr ""
#: tiramisu/option/option.py:470
#: tiramisu/option/option.py:537
msgid "invalid domainname"
msgstr ""
#: tiramisu/option/option.py:495
#: tiramisu/option/option.py:563
msgid "invalid email address, must contains one @"
msgstr ""
#: tiramisu/option/option.py:498
#: tiramisu/option/option.py:566
msgid "invalid username in email address"
msgstr ""
#: tiramisu/option/option.py:515
#: tiramisu/option/option.py:588
msgid "invalid url, must start with http:// or https://"
msgstr ""
#: tiramisu/option/option.py:534
#: tiramisu/option/option.py:606
msgid "invalid url, port must be an between 0 and 65536"
msgstr ""
#: tiramisu/option/option.py:541
#: tiramisu/option/option.py:617
msgid "invalid url, must ends with a valid resource name"
msgstr ""
#: tiramisu/option/option.py:556
#: tiramisu/option/option.py:635
msgid "invalid username"
msgstr ""
#: tiramisu/option/option.py:567
#: tiramisu/option/option.py:649
msgid "invalid filename"
msgstr ""
#: tiramisu/option/optiondescription.py:68
#: tiramisu/option/optiondescription.py:73
msgid "duplicate option name: {0}"
msgstr ""
#: tiramisu/option/optiondescription.py:73
#: tiramisu/option/optiondescription.py:78
msgid "option must not start as dynoptiondescription"
msgstr ""
#: tiramisu/option/optiondescription.py:117
msgid "consistency with option {0} which is not in Config"
#: tiramisu/option/optiondescription.py:134
msgid "malformed consistency option {0} must be a master/slaves"
msgstr ""
#: tiramisu/option/optiondescription.py:143
#: tiramisu/option/optiondescription.py:141
msgid "malformed consistency option {0} must not be a multi for {1}"
msgstr ""
#: tiramisu/option/optiondescription.py:145
msgid "malformed consistency option {0} must be in same master/slaves for {1}"
msgstr ""
#: tiramisu/option/optiondescription.py:170
msgid "malformed requirements option {0} must be in same master/slaves for {1}"
msgstr ""
#: tiramisu/option/optiondescription.py:174
msgid "malformed requirements option {0} must not be a multi for {1}"
msgstr ""
#: tiramisu/option/optiondescription.py:183
msgid "duplicate option: {0}"
msgstr ""
#: tiramisu/option/optiondescription.py:154
#: tiramisu/option/optiondescription.py:188
msgid "consistency with option {0} which is not in Config"
msgstr ""
#: tiramisu/option/optiondescription.py:201
msgid "a slave ({0}) cannot have force_store_value property"
msgstr ""
#: tiramisu/option/optiondescription.py:204
msgid "a dynoption ({0}) cannot have force_store_value property"
msgstr ""
#: tiramisu/option/optiondescription.py:218
msgid "cannot change group_type if already set (old {0}, new {1})"
msgstr ""
#: tiramisu/option/optiondescription.py:162
#: tiramisu/option/optiondescription.py:226
msgid "group_type: {0} not allowed"
msgstr ""
#: tiramisu/option/optiondescription.py:260
#: tiramisu/option/optiondescription.py:288
msgid "DynOptionDescription callback return not uniq value"
msgstr ""
#: tiramisu/option/optiondescription.py:263
#: tiramisu/option/optiondescription.py:291
msgid "invalid suffix: {0} for option"
msgstr ""
#: tiramisu/option/optiondescription.py:320
msgid "cannot set optiondescription in an dynoptiondescription"
#: tiramisu/option/optiondescription.py:348
msgid "cannot set optiondescription in a dynoptiondescription"
msgstr ""
#: tiramisu/option/optiondescription.py:325
msgid "cannot set symlinkoption in an dynoptiondescription"
#: tiramisu/option/optiondescription.py:353
#: tiramisu/option/optiondescription.py:356
msgid "cannot set symlinkoption in a dynoptiondescription"
msgstr ""
#: tiramisu/option/optiondescription.py:333
#: tiramisu/option/optiondescription.py:364
msgid "callback is mandatory for dynoptiondescription"
msgstr ""
@ -573,105 +612,102 @@ msgstr ""
msgid "can't unbind {0}"
msgstr ""
#: tiramisu/setting.py:260
#: tiramisu/setting.py:264
msgid "cannot append {0} property for option {1}: this property is calculated"
msgstr ""
#: tiramisu/setting.py:349
msgid "you should only append/remove properties"
msgstr ""
#: tiramisu/setting.py:353
msgid "opt and all_properties must not be set together in reset"
msgstr ""
#: tiramisu/setting.py:373
msgid "if opt is not None, path should not be None in _getproperties"
msgstr ""
#: tiramisu/setting.py:417
#: tiramisu/setting.py:268 tiramisu/setting.py:434
msgid "cannot add those properties: {0}"
msgstr ""
#: tiramisu/setting.py:490
msgid "cannot change the value for option {0} this option is frozen"
#: tiramisu/setting.py:357
msgid "you should only append/remove properties"
msgstr ""
#: tiramisu/setting.py:361
msgid "opt and all_properties must not be set together in reset"
msgstr ""
#: tiramisu/setting.py:382
msgid "if opt is not None, path should not be None in _getproperties"
msgstr ""
#: tiramisu/setting.py:500
msgid "cannot change the value for option {0} this option is frozen"
msgstr ""
#: tiramisu/setting.py:510
msgid "trying to access to an {0} named: {1} with properties {2}"
msgstr ""
#: tiramisu/setting.py:519
#: tiramisu/setting.py:529
msgid "permissive must be a tuple"
msgstr ""
#: tiramisu/setting.py:526 tiramisu/value.py:464
#: tiramisu/setting.py:536 tiramisu/value.py:536
msgid "invalid generic owner {0}"
msgstr ""
#: tiramisu/setting.py:614
#: tiramisu/setting.py:630
msgid "malformed requirements imbrication detected for option: '{0}' with requirement on: '{1}'"
msgstr ""
#: tiramisu/setting.py:625
#: tiramisu/setting.py:647
msgid "option '{0}' has requirement's property error: {1} {2}"
msgstr ""
#: tiramisu/storage/__init__.py:49
#: tiramisu/storage/__init__.py:52
msgid "storage_type is already set, cannot rebind it"
msgstr ""
#: tiramisu/storage/__init__.py:60
#: tiramisu/storage/__init__.py:63
msgid "cannot import the storage {0}"
msgstr ""
#: tiramisu/storage/__init__.py:93
#: tiramisu/storage/__init__.py:96
msgid "option {0} not already exists in storage {1}"
msgstr ""
#: tiramisu/storage/__init__.py:131
msgid "unable to get storages:"
msgstr ""
#: tiramisu/storage/dictionary/option.py:96
#: tiramisu/storage/dictionary/option.py:102
msgid "invalid default_multi value {0} for option {1}: {2}"
msgstr ""
#: tiramisu/storage/dictionary/option.py:138
#: tiramisu/storage/sqlalchemy/option.py:439 tiramisu/value.py:528
#: tiramisu/storage/dictionary/option.py:142
#: tiramisu/storage/dictionary/value.py:234
#: tiramisu/storage/sqlalchemy/option.py:441
msgid "information's item not found: {0}"
msgstr ""
#: tiramisu/storage/dictionary/option.py:365
#: tiramisu/storage/sqlalchemy/option.py:483
#: tiramisu/storage/dictionary/option.py:383
msgid "use impl_get_opt_by_path only with root OptionDescription"
msgstr ""
#: tiramisu/storage/dictionary/option.py:385
#: tiramisu/storage/sqlalchemy/option.py:485
msgid "no option for path {0}"
msgstr ""
#: tiramisu/storage/dictionary/option.py:369
#: tiramisu/storage/sqlalchemy/option.py:492
#: tiramisu/storage/dictionary/option.py:390
#: tiramisu/storage/sqlalchemy/option.py:494
msgid "use impl_get_path_by_opt only with root OptionDescription"
msgstr ""
#: tiramisu/storage/dictionary/option.py:373
#: tiramisu/storage/sqlalchemy/option.py:493
#: tiramisu/storage/dictionary/option.py:392
#: tiramisu/storage/sqlalchemy/option.py:495
msgid "no option {0} found"
msgstr ""
#: tiramisu/storage/dictionary/option.py:422
#: tiramisu/storage/dictionary/option.py:439
msgid "cannot find dynpath"
msgstr ""
#: tiramisu/storage/dictionary/option.py:512
#: tiramisu/storage/sqlalchemy/option.py:638
#: tiramisu/storage/dictionary/option.py:528
#: tiramisu/storage/sqlalchemy/option.py:640
msgid "suffix and context needed if it's a dyn option"
msgstr ""
#: tiramisu/storage/dictionary/option.py:525
msgid "{0} instance has no attribute '_readonly'"
msgstr ""
#: tiramisu/storage/dictionary/option.py:539
#: tiramisu/storage/sqlalchemy/option.py:668
#: tiramisu/storage/dictionary/option.py:549
#: tiramisu/storage/sqlalchemy/option.py:670
msgid "unknown Option {0} in OptionDescription {1}"
msgstr ""
@ -680,63 +716,63 @@ msgid "dictionary storage cannot delete session"
msgstr ""
#: tiramisu/storage/dictionary/storage.py:48
#: tiramisu/storage/sqlalchemy/storage.py:66
msgid "session already used"
msgstr ""
#: tiramisu/storage/dictionary/storage.py:50
#: tiramisu/storage/dictionary/value.py:252
msgid "a dictionary cannot be persistent"
msgstr ""
#: tiramisu/value.py:65
msgid "optiondescription has no value"
#: tiramisu/storage/dictionary/value.py:243
msgid "information's item not found {0}"
msgstr ""
#: tiramisu/value.py:350
#: tiramisu/value.py:391
msgid "you should only set value with config"
msgstr ""
#: tiramisu/value.py:432
#: tiramisu/value.py:500
msgid "owner only avalaible for an option"
msgstr ""
#: tiramisu/value.py:471
#: tiramisu/value.py:541
msgid "no value for {0} cannot change owner to {1}"
msgstr ""
#: tiramisu/value.py:572
#: tiramisu/value.py:671
msgid "can force cache only if cache is actived in config"
msgstr ""
#: tiramisu/value.py:611
#: tiramisu/value.py:708
msgid "{0} is already a Multi "
msgstr ""
#: tiramisu/value.py:682
#: tiramisu/value.py:786
msgid "cannot append a value on a multi option {0} which is a slave"
msgstr ""
#: tiramisu/value.py:709
#: tiramisu/value.py:817
msgid "cannot sort multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:713
#: tiramisu/value.py:821
msgid "cmp is not permitted in python v3 or greater"
msgstr ""
#: tiramisu/value.py:722
#: tiramisu/value.py:830
msgid "cannot reverse multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:730
#: tiramisu/value.py:837
msgid "cannot insert multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:746
#: tiramisu/value.py:854
msgid "cannot extend multi option {0} if master or slave"
msgstr ""
#: tiramisu/value.py:781
#: tiramisu/value.py:889
msgid "cannot pop a value on a multi option {0} which is a slave"
msgstr ""