diff --git a/test/test_config_domain.py b/test/test_config_domain.py index 9eec43a..dd37e68 100644 --- a/test/test_config_domain.py +++ b/test/test_config_domain.py @@ -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' diff --git a/tiramisu/option/option.py b/tiramisu/option/option.py index 66f0290..fed1d72 100644 --- a/tiramisu/option/option.py +++ b/tiramisu/option/option.py @@ -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: diff --git a/translations/fr/tiramisu.po b/translations/fr/tiramisu.po index 69adfcb..8f34f11 100644 --- a/translations/fr/tiramisu.po +++ b/translations/fr/tiramisu.po @@ -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 \n" "Language-Team: Tiramisu's team \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}" diff --git a/translations/tiramisu.pot b/translations/tiramisu.pot index 3bb8e61..332a366 100644 --- a/translations/tiramisu.pot +++ b/translations/tiramisu.pot @@ -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 \n" "Language-Team: LANGUAGE \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 ""