diff --git a/tiramisu/option/intoption.py b/tiramisu/option/intoption.py index 77d24e5..2397de7 100644 --- a/tiramisu/option/intoption.py +++ b/tiramisu/option/intoption.py @@ -51,7 +51,7 @@ class IntOption(Option): raise ValueError() min_number = self.impl_get_extra('min_number') if min_number is not None and value < min_number: - raise ValueError(_('value must be greater than "{0}"'.format(min_number))) + raise ValueError(_('value must be greater than "{0}"').format(min_number)) max_number = self.impl_get_extra('max_number') if max_number is not None and value > max_number: - raise ValueError(_('value must be less than "{0}"'.format(max_number))) + raise ValueError(_('value must be less than "{0}"').format(max_number)) diff --git a/translations/fr/tiramisu.po b/translations/fr/tiramisu.po index cb002f4..48629a5 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: 2018-10-31 18:46+CET\n" +"POT-Creation-Date: 2019-02-23 22:11+CET\n" "PO-Revision-Date: \n" "Last-Translator: Emmanuel Garette \n" "Language-Team: Tiramisu's team \n" @@ -10,85 +10,99 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Poedit-SourceCharset: UTF-8\n" -#: tiramisu/api.py:57 +#: tiramisu/api.py:58 msgid "Settings:" msgstr "Paramètres :" -#: tiramisu/api.py:58 +#: tiramisu/api.py:59 msgid "Access to option without verifying permissive properties" msgstr "Accès à une option sans vérifié les propriétés permises" -#: tiramisu/api.py:59 +#: tiramisu/api.py:60 msgid "Access to option without property restriction" msgstr "Accès à une option sans restriction de propriété" -#: tiramisu/api.py:63 +#: tiramisu/api.py:64 msgid "Call: {}" msgstr "Appel : {}" -#: tiramisu/api.py:65 +#: tiramisu/api.py:66 msgid "Commands:" msgstr "Commandes :" -#: tiramisu/api.py:98 -msgid "index \"{}\" is higher than the master length \"{}\" for option \"{}\"" -msgstr "" -"l'index \"{}\" est supérieur à la longueur de l'option maître \"{}\" pour " -"l'option \"{}\"" - #: tiramisu/api.py:103 +msgid "" +"index \"{}\" is higher than the leadership length \"{}\" for option \"{}\"" +msgstr "" +"l'index \"{}\" est supérieur à la longueur de l'option leadership \"{}\" " +"pour l'option \"{}\"" + +#: tiramisu/api.py:108 msgid "option must not be an optiondescription" msgstr "option ne doit pas être une optiondescription" -#: tiramisu/api.py:129 -msgid "index must be set with the slave option \"{}\"" -msgstr "l'index est obligatoire pour l'option esclave \"{}\"" +#: tiramisu/api.py:135 +msgid "index must be set with the follower option \"{}\"" +msgstr "l'index est obligatoire pour l'option suiveuse \"{}\"" -#: tiramisu/api.py:132 +#: tiramisu/api.py:138 msgid "unknown method {}" msgstr "méthode {} inconnue" -#: tiramisu/api.py:316 +#: tiramisu/api.py:350 msgid "cannot add this property: \"{0}\"" msgstr "ne peut pas ajouter cette propriété : \"{0}\"" -#: tiramisu/api.py:440 tiramisu/config.py:251 +#: tiramisu/api.py:492 tiramisu/config.py:252 msgid "can't delete a SymLinkOption" msgstr "ne peut supprimer une valeur à une SymLinkOption" -#: tiramisu/api.py:573 tiramisu/api.py:1206 +#: tiramisu/api.py:625 tiramisu/api.py:1345 msgid "please specify a valid sub function ({})" msgstr "veuillez spécifier une sous fonction valide ({})" -#: tiramisu/api.py:661 tiramisu/api.py:1041 +#: tiramisu/api.py:711 tiramisu/api.py:1164 msgid "unknown list type {}" msgstr "type de liste inconnue {}" -#: tiramisu/api.py:663 tiramisu/api.py:1043 +#: tiramisu/api.py:713 tiramisu/api.py:1166 msgid "unknown group_type: {0}" msgstr "group_type inconnu: {0}" -#: tiramisu/autolib.py:95 +#: tiramisu/api.py:993 +msgid "properties must be a set" +msgstr "une propriété doit être de type set" + +#: tiramisu/api.py:999 tiramisu/api.py:1021 +msgid "unknown when {} (must be in append or remove)" +msgstr "value {} inconsistent (doit être append ou remove)" + +#: tiramisu/api.py:1011 tiramisu/api.py:1033 tiramisu/config.py:1225 +msgid "unknown type {}" +msgstr "type inconnu {}" + +#: tiramisu/autolib.py:96 msgid "unable to carry out a calculation for \"{}\", {}" msgstr "impossible d'effectuer le calcul pour \"{}\", {}" -#: tiramisu/autolib.py:256 +#: tiramisu/autolib.py:257 msgid "" "function \"{}\" with arguments \"{}\" and \"{}\" return the list \"{}\" for " -"the slave option \"{}\"" +"the follower option \"{}\"" msgstr "" "la fonction \"{}\" avec les arguments \"{}\" et \"{}\" retourne la liste " -"\"{}\" pour l'option esclave \"{}\"" +"\"{}\" pour l'option suiveuse \"{}\"" -#: tiramisu/autolib.py:264 -msgid "function \"{}\" return the list \"{}\" for the slave option \"{}\"" -msgstr "fonction \"{}\" retourne une liste \"{}\" pour l'option esclave \"{}\"" +#: tiramisu/autolib.py:265 +msgid "function \"{}\" return the list \"{}\" for the follower option \"{}\"" +msgstr "" +"fonction \"{}\" retourne une liste \"{}\" pour l'option suiveuse \"{}\"" -#: tiramisu/autolib.py:292 +#: tiramisu/autolib.py:293 msgid "" "unexpected error \"{0}\" in function \"{1}\" with arguments \"{3}\" and " "\"{4}\" for option \"{2}\"" @@ -96,7 +110,7 @@ msgstr "" "erreur inattendue \"{0}\" dans la fonction \"{1}\" avec les arguments " "\"{3}\" et \"{4}\" pour l'option \"{2}\"" -#: tiramisu/autolib.py:299 +#: tiramisu/autolib.py:300 msgid "unexpected error \"{0}\" in function \"{1}\" for option \"{2}\"" msgstr "" "erreur inattendue \"{0}\" dans la fonction \"{1}\" pour l'option \"{2}\"" @@ -105,87 +119,91 @@ msgstr "" msgid "\"{0}\" must be an optiondescription, not an {1}" msgstr "\"{0}\" doit être une optiondescription, et non {1}" -#: tiramisu/config.py:212 +#: tiramisu/config.py:213 msgid "unknown option {}" msgstr "option {} inconnue" -#: tiramisu/config.py:220 +#: tiramisu/config.py:221 msgid "there is no option description for this config (may be GroupConfig)" msgstr "" "il n'y a pas d'option description trouvé pour cette config (peut être un " "GroupConfig)" -#: tiramisu/config.py:236 +#: tiramisu/config.py:237 msgid "can't assign to a SymLinkOption" msgstr "ne peut assigner une valeur à une SymLinkOption" +#: tiramisu/config.py:241 +msgid "cannot reduce length of a leader \"{}\"" +msgstr "il est impossible de réduire la longueur de l'option leader \"{}\"" + #: tiramisu/config.py:319 msgid "" -"slave option \"{}\" has higher length \"{}\" than the master length \"{}\"" +"follower option \"{}\" has higher length \"{}\" than the leader length \"{}\"" msgstr "" -"l'option esclave \"{}\" a une longueur supérieur \"{}\" à la longueur de " -"l'option maitre \"{}\"" +"l'option suiveuse \"{}\" a une longueur supérieur \"{}\" à la longueur de " +"l'option leader \"{}\"" -#: tiramisu/config.py:408 +#: tiramisu/config.py:415 msgid "no option found in config with these criteria" msgstr "aucune option trouvée dans la config avec ces critères" -#: tiramisu/config.py:458 +#: tiramisu/config.py:465 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:509 +#: tiramisu/config.py:518 msgid "unexpected path \"{0}\", should start with \"{1}\"" msgstr "chemin inconsistant \"{0}\", devrait commencé par \"{1}\"" -#: tiramisu/config.py:674 +#: tiramisu/config.py:665 msgid "cannot duplicate {}" msgstr "ne peut dupliquer : {0}" -#: tiramisu/config.py:742 -msgid "cannot set masterslaves object has root optiondescription" -msgstr "ne peut assigner un objet masterslaves comme optiondescription racine" +#: tiramisu/config.py:733 +msgid "cannot set leadership object has root optiondescription" +msgstr "ne peut assigner un objet leadership comme optiondescription racine" -#: tiramisu/config.py:744 +#: tiramisu/config.py:735 msgid "cannot set dynoptiondescription object has root optiondescription" msgstr "" "ne peut assigner un objet dynoptiondescription comme optiondescription racine" -#: tiramisu/config.py:758 tiramisu/config.py:800 +#: tiramisu/config.py:749 tiramisu/config.py:796 msgid "invalid session ID: {0} for config" msgstr "ID de session invalide : {0} pour une config" -#: tiramisu/config.py:784 +#: tiramisu/config.py:780 msgid "groupconfig's children must be a list" msgstr "enfants d'une groupconfig doit être une liste" -#: tiramisu/config.py:788 +#: tiramisu/config.py:784 msgid "groupconfig's children must be Config, MetaConfig or GroupConfig" msgstr "" "les enfants d'un groupconfig doivent être des Config, MetaConfig ou " "GroupConfig" -#: tiramisu/config.py:795 +#: tiramisu/config.py:791 msgid "config name must be uniq in groupconfig for \"{0}\"" msgstr "le nom d'un config doit être unique dans un groupconfig pour \"{0}\"" -#: tiramisu/config.py:959 +#: tiramisu/config.py:961 msgid "unknown config \"{}\"" msgstr "config \"{}\" inconnue" -#: tiramisu/config.py:979 tiramisu/config.py:1194 +#: tiramisu/config.py:986 tiramisu/config.py:1201 msgid "{}config's children should be config, not {}" msgstr "enfants d'un {}config doit être une config, pas {0}" -#: tiramisu/config.py:984 +#: tiramisu/config.py:991 msgid "child must be a Config, MixConfig or MetaConfig" msgstr "l'enfant doit être une Config, MixConfig ou MetaConfig" -#: tiramisu/config.py:986 +#: tiramisu/config.py:993 msgid "child has already a {}config's" msgstr "enfant a déjà un {}config" -#: tiramisu/config.py:1015 +#: tiramisu/config.py:1022 msgid "" "force_default, force_default_if_same or force_dont_change_value cannot be " "set with only_config" @@ -193,73 +211,73 @@ msgstr "" "force_default, force_default_if_same ou force_dont_change_value ne peuvent " "pas être spécifié avec only_config" -#: tiramisu/config.py:1037 +#: tiramisu/config.py:1044 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" -#: tiramisu/config.py:1181 +#: tiramisu/config.py:1188 msgid "MetaConfig with optiondescription must have string has child, not {}" msgstr "" "MetaConfig avec une optiondescription doit avoir un nom comme enfant, pas {}" -#: tiramisu/config.py:1199 +#: tiramisu/config.py:1206 msgid "child must be a Config or MetaConfig" msgstr "enfant doit être une une Config ou une MetaConfig" -#: tiramisu/config.py:1203 +#: tiramisu/config.py:1210 msgid "all config in metaconfig must have the same optiondescription" msgstr "" "toutes les configs d'une metaconfig doivent avoir la même optiondescription" -#: tiramisu/config.py:1216 +#: tiramisu/config.py:1223 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:1218 -msgid "unknown type {}" -msgstr "type inconnu {}" - -#: tiramisu/config.py:1241 +#: tiramisu/config.py:1248 msgid "cannot find the config {}" msgstr "ne peut pas trouver la config {0}" -#: tiramisu/error.py:23 +#: tiramisu/error.py:24 msgid "and" msgstr "et" -#: tiramisu/error.py:25 +#: tiramisu/error.py:26 msgid "or" msgstr "ou" -#: tiramisu/error.py:49 +#: tiramisu/error.py:50 msgid " {} " msgstr " {} " -#: tiramisu/error.py:102 tiramisu/setting.py:530 +#: tiramisu/error.py:103 tiramisu/setting.py:562 msgid "property" msgstr "de la propriété" -#: tiramisu/error.py:104 tiramisu/setting.py:532 +#: tiramisu/error.py:105 tiramisu/setting.py:564 msgid "properties" msgstr "des propriétés" -#: tiramisu/error.py:106 +#: tiramisu/error.py:107 msgid "cannot access to {0} \"{1}\" because \"{2}\" has {3} {4}" msgstr "ne peut accéder à {0} \"{1}\" parce que \"{2}\" a {3} {4}" -#: tiramisu/error.py:113 +#: tiramisu/error.py:114 msgid "cannot access to {0} \"{1}\" because has {2} {3}" msgstr "ne peut accéder à l'{0} \"{1}\" a cause {2} {3}" -#: tiramisu/error.py:194 -msgid "\"{0}\" is an invalid {1} for \"{2}\"" -msgstr "\"{0}\" est une valeur invalide pour l'option \"{2}\" de type {1}" - -#: tiramisu/error.py:208 +#: tiramisu/error.py:185 msgid "invalid value" msgstr "valeur invalide" +#: tiramisu/error.py:190 +msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\"" +msgstr "attention, \"{0}\" peut être un {1} invalide pour \"{2}\"" + +#: tiramisu/error.py:194 tiramisu/error.py:198 +msgid "\"{0}\" is an invalid {1} for \"{2}\"" +msgstr "\"{0}\" est une valeur invalide pour l'option \"{2}\" de type {1}" + #: tiramisu/function.py:31 msgid "args in params must be a tuple" msgstr "args dans params doit être un tuple" @@ -280,37 +298,37 @@ msgstr "paramoption doit être une option pas {0}" msgid "param must have a boolean not a {} for notraisepropertyerror" msgstr "param doit avoir un booléan pas un {} pour notraisepropertyerror" -#: tiramisu/option/baseoption.py:79 -msgid "invalid name: \"{0}\" for option" -msgstr "nom invalide : \"{0}\" pour une option" +#: tiramisu/option/baseoption.py:78 tiramisu/option/symlinkoption.py:33 +msgid "\"{0}\" is an invalid name for an option" +msgstr "\"{0}\" est un nom invalide pour une option" -#: tiramisu/option/baseoption.py:95 +#: tiramisu/option/baseoption.py:96 msgid "invalid properties type {0} for {1}, must be a frozenset" msgstr "type {0} invalide pour des propriétés pour {1}, doit être un frozenset" -#: tiramisu/option/baseoption.py:112 +#: tiramisu/option/baseoption.py:118 msgid "conflict: properties already set in requirement {0} for {1}" msgstr "" "conflit : les propriétés sont déjà mis dans les requirements {0} pour {1}" -#: tiramisu/option/baseoption.py:160 +#: tiramisu/option/baseoption.py:165 msgid "{0} must be a function" msgstr "{0} doit être une fonction" -#: tiramisu/option/baseoption.py:163 +#: tiramisu/option/baseoption.py:167 msgid "{0}_params must be a params" msgstr "{0}_params doit être un params" -#: tiramisu/option/baseoption.py:203 +#: tiramisu/option/baseoption.py:208 msgid "cannot find those arguments \"{}\" in function \"{}\" for \"{}\"" msgstr "" "ne peut trouver les arguments \"{}\" dans la fonction \"{}\" pour \"{}\"" -#: tiramisu/option/baseoption.py:222 +#: tiramisu/option/baseoption.py:227 msgid "missing those arguments \"{}\" in function \"{}\" for \"{}\"" msgstr "les arguments \"{}\" sont manquant dans la fonction \"{}\" pour \"{}\"" -#: tiramisu/option/baseoption.py:261 +#: tiramisu/option/baseoption.py:260 msgid "" "params defined for a callback function but no callback defined yet for " "option \"{0}\"" @@ -318,28 +336,24 @@ msgstr "" "paramètres définis pour la fonction de callback mais aucun callback défini " "pour l'option \"{0}\"" -#: tiramisu/option/baseoption.py:355 tiramisu/storage/dictionary/value.py:284 +#: tiramisu/option/baseoption.py:352 tiramisu/storage/dictionary/value.py:284 #: tiramisu/storage/sqlite3/value.py:214 msgid "information's item not found: {0}" msgstr "item '{0}' dans les informations non trouvée" -#: tiramisu/option/baseoption.py:368 +#: tiramisu/option/baseoption.py:365 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:408 +#: tiramisu/option/baseoption.py:396 msgid "\"{}\" ({}) object attribute \"{}\" is read-only" msgstr "\"{}\" ({}) l'attribut de l'objet \"{}\" est en lecture seule" -#: tiramisu/option/baseoption.py:424 -msgid "invalid string" -msgstr "invalide caractère" - -#: tiramisu/option/baseoption.py:478 +#: tiramisu/option/baseoption.py:450 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:481 +#: tiramisu/option/baseoption.py:453 msgid "" "malformed requirements multi option must not set as requires of non multi " "option {0}" @@ -347,59 +361,59 @@ msgstr "" "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:514 +#: tiramisu/option/baseoption.py:486 msgid "" "malformed requirements expected must have option and value for option {0}" msgstr "" "expected mal formés pour le requirements, doit avoir une option et une " "valeur pour l'option {0}" -#: tiramisu/option/baseoption.py:521 tiramisu/option/baseoption.py:537 +#: tiramisu/option/baseoption.py:493 tiramisu/option/baseoption.py:509 msgid "malformed requirements expected value must be valid for option {0}: {1}" msgstr "" "valeur de \"expected\" malformé, doit être valide pour l'option {0} : {1}" -#: tiramisu/option/baseoption.py:551 +#: tiramisu/option/baseoption.py:523 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:559 +#: tiramisu/option/baseoption.py:531 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" -#: tiramisu/option/baseoption.py:566 +#: tiramisu/option/baseoption.py:538 msgid "malformed requirements for option: {0} transitive must be boolean" msgstr "" "requirements mal formés pour l'option : {0} transitive doit être booléen" -#: tiramisu/option/baseoption.py:573 +#: tiramisu/option/baseoption.py:545 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" -#: tiramisu/option/baseoption.py:580 +#: tiramisu/option/baseoption.py:552 msgid "" "malformed requirements for option: \"{0}\" operator must be \"or\" or \"and\"" msgstr "" "requirements mal formés pour l'option : \"{0}\" l'opérateur doit être \"or\" " "ou \"and\"" -#: tiramisu/option/baseoption.py:592 +#: tiramisu/option/baseoption.py:564 msgid "malformed requirements type for option: {0}, must be a dict" msgstr "" "type requirements malformé pour l'option : {0}, doit être un dictionnaire" -#: tiramisu/option/baseoption.py:598 +#: tiramisu/option/baseoption.py:570 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}" -#: tiramisu/option/baseoption.py:607 +#: tiramisu/option/baseoption.py:579 msgid "" "malformed requirements for option: {0} require must have option, expected " "and action keys" @@ -415,11 +429,19 @@ msgstr "booléen" msgid "broadcast address" msgstr "adresse broadcast" -#: tiramisu/option/broadcastoption.py:55 +#: tiramisu/option/broadcastoption.py:38 tiramisu/option/dateoption.py:37 +#: tiramisu/option/domainnameoption.py:113 tiramisu/option/ipoption.py:73 +#: tiramisu/option/netmaskoption.py:40 tiramisu/option/networkoption.py:38 +#: tiramisu/option/passwordoption.py:38 tiramisu/option/portoption.py:106 +#: tiramisu/option/urloption.py:40 +msgid "invalid string" +msgstr "invalide caractère" + +#: tiramisu/option/broadcastoption.py:56 msgid "invalid len for vals" msgstr "longueur invalide pour vals" -#: tiramisu/option/broadcastoption.py:60 +#: tiramisu/option/broadcastoption.py:61 msgid "broadcast \"{4}\" invalid with network {0}/{1} (\"{2}\"/\"{3}\")" msgstr "" "le broadcast \"{4}\" est invalide pour le réseau {0}/{1} (\"{2}\"/\"{3}\")" @@ -452,69 +474,69 @@ msgstr "seul \"{0}\" sont autorisés" msgid "date" msgstr "date" -#: tiramisu/option/domainnameoption.py:37 +#: tiramisu/option/domainnameoption.py:38 msgid "domain name" msgstr "nom de domaine" -#: tiramisu/option/domainnameoption.py:57 +#: tiramisu/option/domainnameoption.py:58 msgid "unknown type_ {0} for hostname" msgstr "type_ inconnu {0} pour le nom d'hôte" -#: tiramisu/option/domainnameoption.py:60 +#: tiramisu/option/domainnameoption.py:61 msgid "allow_ip must be a boolean" msgstr "allow_ip doit être un booléen" -#: tiramisu/option/domainnameoption.py:62 +#: tiramisu/option/domainnameoption.py:63 msgid "allow_without_dot must be a boolean" msgstr "allow_without_dot doit être un booléen" -#: tiramisu/option/domainnameoption.py:108 +#: tiramisu/option/domainnameoption.py:107 msgid "invalid length (min 1)" msgstr "longueur invalide (min 1)" -#: tiramisu/option/domainnameoption.py:110 +#: tiramisu/option/domainnameoption.py:109 msgid "invalid length (max {0})" msgstr "longueur invalide (max {0})" -#: tiramisu/option/domainnameoption.py:126 +#: tiramisu/option/domainnameoption.py:127 msgid "must not be an IP" msgstr "ne doit pas être une IP" -#: tiramisu/option/domainnameoption.py:130 +#: tiramisu/option/domainnameoption.py:131 msgid "must have dot" msgstr "doit avec un point" -#: tiramisu/option/domainnameoption.py:132 +#: tiramisu/option/domainnameoption.py:133 msgid "invalid length (max 255)" msgstr "longueur invalide (max 255)" -#: tiramisu/option/domainnameoption.py:140 +#: tiramisu/option/domainnameoption.py:141 msgid "some characters are uppercase" msgstr "des caractères sont en majuscule" -#: tiramisu/option/domainnameoption.py:143 +#: tiramisu/option/domainnameoption.py:144 msgid "some characters may cause problems" msgstr "des caractères peuvent poser problèmes" -#: tiramisu/option/dynoptiondescription.py:55 +#: tiramisu/option/dynoptiondescription.py:56 msgid "cannot set optiondescription in a dynoptiondescription" msgstr "ne peut mettre une optiondescription dans une dynoptiondescription" -#: tiramisu/option/dynoptiondescription.py:60 +#: tiramisu/option/dynoptiondescription.py:61 msgid "cannot set symlinkoption in a dynoptiondescription" msgstr "ne peut mettre une symlinkoption dans une dynoptiondescription" -#: tiramisu/option/dynoptiondescription.py:71 +#: tiramisu/option/dynoptiondescription.py:72 msgid "callback is mandatory for the dynoptiondescription \"{}\"" msgstr "un callback est obligatoire pour le dynoptiondescription \"{}\"" -#: tiramisu/option/dynoptiondescription.py:85 +#: tiramisu/option/dynoptiondescription.py:86 msgid "DynOptionDescription callback for option \"{}\", is not a list ({})" msgstr "" "le résultat du callback du DynOptionDescription de l'option \"{}\" n'est pas " "une liste ({})" -#: tiramisu/option/dynoptiondescription.py:91 +#: tiramisu/option/dynoptiondescription.py:92 msgid "invalid suffix \"{}\" for option \"{}\"" msgstr "suffixe \"{}\" invalide pour l'option \"{}\"" @@ -540,116 +562,122 @@ msgstr "nombre flottant" msgid "integer" msgstr "nombre" -#: tiramisu/option/ipoption.py:32 +#: tiramisu/option/intoption.py:54 +msgid "value must be greater than \"{0}\"" +msgstr "valeur doit être supérieur à {0}" + +#: tiramisu/option/intoption.py:57 +msgid "value must be less than \"{0}\"" +msgstr "valeur doit être inférieur à \"{0}\"" + +#: tiramisu/option/ipoption.py:33 msgid "IP" msgstr "IP" -#: tiramisu/option/ipoption.py:89 +#: tiramisu/option/ipoption.py:91 msgid "shouldn't in reserved class" msgstr "ne devrait pas être dans une classe réservée" -#: tiramisu/option/ipoption.py:91 tiramisu/option/networkoption.py:56 +#: tiramisu/option/ipoption.py:93 tiramisu/option/networkoption.py:57 msgid "mustn't be in reserved class" msgstr "ne doit pas être dans une classe réservée" -#: tiramisu/option/ipoption.py:95 +#: tiramisu/option/ipoption.py:97 msgid "should be in private class" msgstr "devrait être dans une classe privée" -#: tiramisu/option/ipoption.py:97 +#: tiramisu/option/ipoption.py:99 msgid "must be in private class" msgstr "doit être dans une classe privée" -#: tiramisu/option/ipoption.py:107 +#: tiramisu/option/ipoption.py:109 msgid "ip_network needs an IP, a network and a netmask" msgstr "ip_network nécessite une IP, un réseau et un masque de réseau" -#: tiramisu/option/ipoption.py:113 +#: tiramisu/option/ipoption.py:115 msgid "\"{4}\" is not in network \"{0}\"/\"{1}\" (\"{2}\"/\"{3}\")" msgstr "\"{4}\" n'est pas dans le réseau \"{0}\"/\"{1}\" (\"{2}\"/\"{3}\")" -#: tiramisu/option/masterslaves.py:52 -msgid "a master and a slave are mandatories in masterslaves \"{}\"" +#: tiramisu/option/leadership.py:57 +msgid "a leader and a follower are mandatories in leadership \"{}\"" msgstr "" -"une option maître et une option esclave sont obligatoires dans la " -"masterslaves \"{}\"" +"une option leader et une option suiveuse sont obligatoires dans une option " +"leadership \"{}\"" -#: tiramisu/option/masterslaves.py:56 -msgid "masterslaves \"{0}\" shall not have a symlinkoption" -msgstr "une masterslaves \"{0}\" ne devrait pas avoir de symlinkoption" +#: tiramisu/option/leadership.py:63 +msgid "leadership \"{0}\" shall not have a symlinkoption" +msgstr "une option leadership \"{0}\" ne devrait pas avoir de symlinkoption" -#: tiramisu/option/masterslaves.py:59 -msgid "masterslaves \"{0}\" shall not have a subgroup" -msgstr "une masterslaves \"{0}\" ne devrait pas avoir de sous-groupe" +#: tiramisu/option/leadership.py:66 +msgid "leadership \"{0}\" shall not have a subgroup" +msgstr "une option leadership \"{0}\" ne devrait pas avoir de sous-groupe" -#: tiramisu/option/masterslaves.py:62 +#: tiramisu/option/leadership.py:69 msgid "" -"only multi option allowed in masterslaves \"{0}\" but option \"{1}\" is not " -"a multi" +"only multi option allowed in leadership \"{0}\" but option \"{1}\" is not a " +"multi" msgstr "" -"seules des options multiples sont autorisés dans la masterslaves \"{0}\" " +"seules des options multiples sont autorisés dans l'option leadership \"{0}\" " "alors que l'option \"{1}\" n'est pas une option multiple" -#: tiramisu/option/masterslaves.py:66 -msgid "not allowed default value for option \"{0}\" in masterslaves \"{1}\"" +#: tiramisu/option/leadership.py:74 +msgid "" +"not allowed default value for follower option \"{0}\" in leadership \"{1}\"" msgstr "" -"valeur par défaut non autorisée pour l'option \"{0}\" dans l'objet " -"masterslaves \"{1}\"" +"valeur par défaut non autorisée pour l'option suiveuse \"{0}\" dans l'option " +"leadership \"{1}\"" -#: tiramisu/option/masterslaves.py:83 -msgid "callback of master's option shall not refered a slave's ones" +#: tiramisu/option/leadership.py:90 +msgid "callback of leader's option shall not refered to a follower's ones" msgstr "" -"callback d'une variable maitre ne devrait pas référencer des variables " -"esclaves" +"callback d'une variable leader ne devrait pas référencer une variable " +"suiveuse" -#: tiramisu/option/masterslaves.py:91 -msgid "master {} have requirement, but MasterSlaves {} too" +#: tiramisu/option/leadership.py:98 +msgid "leader {} have requirement, but Leadership {} too" msgstr "" -"l'option maître {} a des requirements mais l'option MasterSlaves {} également" +"l'option leader {} a des requirements mais l'option leadership {} également" -#: tiramisu/option/masterslaves.py:108 -msgid "malformed requirements option \"{0}\" must not be in slave for \"{1}\"" +#: tiramisu/option/leadership.py:113 +msgid "" +"malformed requirements option \"{0}\" must not be in follower for \"{1}\"" msgstr "" "requirement mal formé pour l'option \"{0}\" ne doit pas être dans une " -"esclave pour \"{1}\"" +"suiveuse pour \"{1}\"" -#: tiramisu/option/masterslaves.py:224 -msgid "cannot reduce length of the master \"{}\"" -msgstr "il est impossible de réduire la longueur de l'option maître \"{}\"" - -#: tiramisu/option/netmaskoption.py:32 +#: tiramisu/option/netmaskoption.py:33 msgid "netmask address" msgstr "adresse netmask" -#: tiramisu/option/netmaskoption.py:57 +#: tiramisu/option/netmaskoption.py:59 msgid "network_netmask needs a network and a netmask" msgstr "network_netmask nécessite un réseau et un masque de réseau" -#: tiramisu/option/netmaskoption.py:76 +#: tiramisu/option/netmaskoption.py:78 msgid "ip_netmask needs an IP and a netmask" msgstr "ip_netmask nécessite une IP et un masque de réseau" -#: tiramisu/option/netmaskoption.py:103 +#: tiramisu/option/netmaskoption.py:105 msgid "this is a network with netmask \"{0}\" (\"{1}\")" msgstr "c'est une adresse réseau avec le masque \"{0}\" (\"{1}\")" -#: tiramisu/option/netmaskoption.py:105 +#: tiramisu/option/netmaskoption.py:107 msgid "this is a network with {2} \"{0}\" (\"{1}\")" msgstr "c'est une adresse réseau avec {2} \"{0}\" (\"{1}\")" -#: tiramisu/option/netmaskoption.py:108 +#: tiramisu/option/netmaskoption.py:110 msgid "this is a broadcast with netmask \"{0}\" (\"{1}\")" msgstr "c'est une adresse broadcast avec le masque \"{0}\" (\"{1}\")" -#: tiramisu/option/netmaskoption.py:110 +#: tiramisu/option/netmaskoption.py:112 msgid "this is a broadcast with {2} \"{0}\" (\"{1}\")" msgstr "c'est une adresse broadcast avec le {2} \"{0}\" (\"{1}\")" -#: tiramisu/option/netmaskoption.py:115 +#: tiramisu/option/netmaskoption.py:117 msgid "with netmask \"{0}\" (\"{1}\")" msgstr "avec le masque \"{0}\" (\"{1}\")" -#: tiramisu/option/netmaskoption.py:117 +#: tiramisu/option/netmaskoption.py:119 msgid "with {2} \"{0}\" (\"{1}\")" msgstr "avec {2} \"{0}\" (\"{1}\")" @@ -657,7 +685,7 @@ msgstr "avec {2} \"{0}\" (\"{1}\")" msgid "network address" msgstr "adresse réseau" -#: tiramisu/option/networkoption.py:54 +#: tiramisu/option/networkoption.py:55 msgid "shouldn't be in reserved class" msgstr "ne devrait pas être dans une classe réservée" @@ -690,231 +718,219 @@ msgstr "" "la valeur de la default_multi \"{0}\" est invalide pour l'option \"{1}\", " "doit être une liste pour une submulti" -#: tiramisu/option/option.py:256 +#: tiramisu/option/option.py:255 msgid "invalid value \"{}\", this value is already in \"{}\"" msgstr "valeur invalide \"{}\", cette valeur est déjà dans \"{}\"" -#: tiramisu/option/option.py:286 +#: tiramisu/option/option.py:285 msgid "which must not be a list" msgstr "qui ne doit pas être une liste" -#: tiramisu/option/option.py:303 -msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\"" -msgstr "attention, \"{0}\" peut être un {1} invalide pour \"{2}\"" - -#: tiramisu/option/option.py:322 tiramisu/option/option.py:331 +#: tiramisu/option/option.py:319 tiramisu/option/option.py:328 msgid "which must be a list" msgstr "qui doit être une liste" -#: tiramisu/option/option.py:336 +#: tiramisu/option/option.py:333 msgid "which \"{}\" must be a list of list" msgstr "lequel \"{}\" doit être une liste de liste" -#: tiramisu/option/option.py:372 +#: tiramisu/option/option.py:375 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/option.py:417 +#: tiramisu/option/option.py:423 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/option.py:425 +#: tiramisu/option/option.py:431 msgid "consistency {0} not available for this option" msgstr "consistency {0} non valable pour cette option" -#: tiramisu/option/option.py:432 +#: tiramisu/option/option.py:438 msgid "unknown parameter {0} in consistency" msgstr "paramètre inconnu {0} dans un test de consistance" -#: tiramisu/option/option.py:544 tiramisu/option/option.py:549 +#: tiramisu/option/option.py:550 tiramisu/option/option.py:555 msgid "cannot add consistency with submulti option" msgstr "ne peut ajouter de test de consistence a une option submulti" -#: tiramisu/option/option.py:550 +#: tiramisu/option/option.py:556 msgid "consistency must be set with an option, not {}" msgstr "" "test de consistence doit être renseigné avec une option, et non avec {}" -#: tiramisu/option/option.py:553 tiramisu/option/option.py:561 +#: tiramisu/option/option.py:559 tiramisu/option/option.py:567 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" -#: tiramisu/option/option.py:557 +#: tiramisu/option/option.py:563 msgid "option in consistency must be in same dynoptiondescription" msgstr "" "option dans une consistency doit être dans le même dynoptiondescription" -#: tiramisu/option/option.py:564 +#: tiramisu/option/option.py:570 msgid "cannot add consistency with itself" msgstr "ne peut ajouter une consistency avec lui même" -#: tiramisu/option/option.py:566 +#: tiramisu/option/option.py:572 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" -#: tiramisu/option/option.py:607 +#: tiramisu/option/option.py:612 msgid "unexpected length of \"{}\" in constency \"{}\", should be \"{}\"" msgstr "" "longueur inconsistante pour \"{}\" dans le test de consistence \"{}\", " "devrait être \"{}\"" -#: tiramisu/option/option.py:637 -msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\", {3}" -msgstr "" -"attention, \"{0}\" peut être une option de type {1} invalide pour \"{2}\", " -"{3}" - -#: tiramisu/option/option.py:708 +#: tiramisu/option/option.py:712 msgid "should be different from the value of \"{}\"" msgstr "devrait être différent de la valeur de \"{}\"" -#: tiramisu/option/option.py:710 +#: tiramisu/option/option.py:714 msgid "must be different from the value of \"{}\"" msgstr "doit être différent de la valeur de \"{}\"" -#: tiramisu/option/option.py:713 +#: tiramisu/option/option.py:717 msgid "value for {} should be different" msgstr "valeur pour {} devrait être différent" -#: tiramisu/option/option.py:715 +#: tiramisu/option/option.py:719 msgid "value for {} must be different" msgstr "valeur pour {} doit être différent" -#: tiramisu/option/optiondescription.py:47 +#: tiramisu/option/optiondescription.py:62 +#: tiramisu/option/optiondescription.py:177 msgid "option description seems to be part of an other config" msgstr "l'option description semble faire parti d'une autre config" -#: tiramisu/option/optiondescription.py:79 -msgid "the slave \"{0}\" cannot have \"force_store_value\" property" -msgstr "l'esclave \"{0}\" ne doit pas avoir la propriété \"force_store_value\"" +#: tiramisu/option/optiondescription.py:85 +msgid "the follower \"{0}\" cannot have \"force_store_value\" property" +msgstr "" +"l'option suiveuse \"{0}\" ne doit pas avoir la propriété \"force_store_value" +"\"" -#: tiramisu/option/optiondescription.py:83 +#: tiramisu/option/optiondescription.py:89 msgid "the dynoption \"{0}\" cannot have \"force_store_value\" property" msgstr "la dynoption \"{0}\" ne peut avoir la propriété \"force_store_value\"" -#: tiramisu/option/optiondescription.py:90 tiramisu/setting.py:612 +#: tiramisu/option/optiondescription.py:97 tiramisu/setting.py:642 msgid "" -"a master ({0}) cannot have \"force_default_on_freeze\" property without " -"\"frozen\"" +"a leader ({0}) cannot have \"force_default_on_freeze\" or " +"\"force_metaconfig_on_freeze\" property without \"frozen\"" msgstr "" -"une option maître ({0}) ne peut avoir de propriété \"force_default_on_freeze" +"une option leader ({0}) ne peut avoir de propriété \"force_default_on_freeze" "\" sans \"frozen\"" -#: tiramisu/option/optiondescription.py:98 -msgid "malformed consistency option \"{0}\" must be a masterslaves" -msgstr "" -"test de consistance mal formé pour l'option \"{0}\" doit être une maître/" -"esclave" - #: tiramisu/option/optiondescription.py:106 +msgid "malformed consistency option \"{0}\" must be a leadership" +msgstr "" +"test de consistance mal formé pour l'option \"{0}\" doit être une option " +"leadership" + +#: tiramisu/option/optiondescription.py:114 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:110 +#: tiramisu/option/optiondescription.py:118 msgid "" -"malformed consistency option \"{0}\" must be in same masterslaves as \"{1}\"" +"malformed consistency option \"{0}\" must be in same leadership as \"{1}\"" msgstr "" "test de consistance mal formé pour l'option \"{0}\" doit être dans la même " -"maître/esclave que \"{1}\"" +"option leadership que \"{1}\"" -#: tiramisu/option/optiondescription.py:140 +#: tiramisu/option/optiondescription.py:149 msgid "" -"malformed requirements option \"{0}\" must be in same masterslaves for " -"\"{1}\"" +"malformed requirements option \"{0}\" must be in same leadership for \"{1}\"" msgstr "" -"requirements mal formé pour l'option \"{0}\" doit être dans la même maître/" -"esclave que \"{1}\"" +"requirements mal formé pour l'option \"{0}\" doit être dans la même option " +"leadership que \"{1}\"" -#: tiramisu/option/optiondescription.py:144 +#: tiramisu/option/optiondescription.py:153 msgid "malformed requirements option \"{0}\" must not be a multi for \"{1}\"" msgstr "" "requirement mal formés pour l'option \"{0}\" ne doit pas être une valeur " "multiple pour \"{1}\"" -#: tiramisu/option/optiondescription.py:152 +#: tiramisu/option/optiondescription.py:157 msgid "duplicate option: {0}" msgstr "option dupliquée : {0}" -#: tiramisu/option/optiondescription.py:158 +#: tiramisu/option/optiondescription.py:166 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:237 +#: tiramisu/option/optiondescription.py:221 msgid "unknown option \"{0}\" in optiondescription \"{1}\"" msgstr "option \"{0}\" inconnue dans l'optiondescription \"{1}\"" -#: tiramisu/option/optiondescription.py:341 +#: tiramisu/option/optiondescription.py:275 msgid "children in optiondescription \"{}\" must be a list" msgstr "les enfants d'une optiondescription \"{}\" doit être une liste" -#: tiramisu/option/optiondescription.py:361 +#: tiramisu/option/optiondescription.py:299 msgid "duplicate option name: \"{0}\"" msgstr "nom de l'option dupliqué : \"{0}\"" -#: tiramisu/option/optiondescription.py:366 +#: tiramisu/option/optiondescription.py:304 msgid "" "the option's name \"{}\" start as the dynoptiondescription's name \"{}\"" msgstr "" "le nom de l'option \"{}\" commence comme le nom du dynoptiondescription " "\"{}\"" -#: tiramisu/option/optiondescription.py:399 +#: tiramisu/option/optiondescription.py:329 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:403 +#: tiramisu/option/optiondescription.py:333 msgid "group_type: {0} not allowed" msgstr "group_type : {0} non autorisé" -#: tiramisu/option/passwordoption.py:30 +#: tiramisu/option/passwordoption.py:31 msgid "password" msgstr "mot de passe" -#: tiramisu/option/portoption.py:41 +#: tiramisu/option/portoption.py:43 msgid "port" msgstr "port" -#: tiramisu/option/portoption.py:78 +#: tiramisu/option/portoption.py:80 msgid "inconsistency in allowed range" msgstr "inconsistence dans la plage autorisée" -#: tiramisu/option/portoption.py:83 +#: tiramisu/option/portoption.py:85 msgid "max value is empty" msgstr "la valeur maximum est vide" -#: tiramisu/option/portoption.py:109 +#: tiramisu/option/portoption.py:110 msgid "range must have two values only" msgstr "un rang doit avoir deux valeurs seulement" -#: tiramisu/option/portoption.py:111 +#: tiramisu/option/portoption.py:112 msgid "first port in range must be smaller than the second one" msgstr "le premier port d'un rang doit être plus petit que le second" -#: tiramisu/option/portoption.py:121 +#: tiramisu/option/portoption.py:122 msgid "must be an integer between {0} and {1}" msgstr "doit être une nombre entre {0} et {1}" -#: tiramisu/option/stroption.py:31 +#: tiramisu/option/stroption.py:32 msgid "string" msgstr "texte" -#: tiramisu/option/stroption.py:44 -msgid "unicode" -msgstr "unicode" - -#: tiramisu/option/symlinkoption.py:33 +#: tiramisu/option/symlinkoption.py:37 msgid "malformed symlinkoption must be an option for symlink {0}" msgstr "symlinkoption mal formé, doit être une option pour symlink {0}" -#: tiramisu/option/syndynoptiondescription.py:58 +#: tiramisu/option/syndynoptiondescription.py:68 msgid "unknown option \"{0}\" in syndynoptiondescription \"{1}\"" msgstr "l'option \"{0}\" inconnue dans la syndynoptiondescription \"{1}\"" @@ -922,15 +938,15 @@ msgstr "l'option \"{0}\" inconnue dans la syndynoptiondescription \"{1}\"" msgid "URL" msgstr "URL" -#: tiramisu/option/urloption.py:42 +#: tiramisu/option/urloption.py:43 msgid "must start with http:// or https://" msgstr "doit débuter par http:// ou https://" -#: tiramisu/option/urloption.py:60 +#: tiramisu/option/urloption.py:61 msgid "port must be an between 0 and 65536" msgstr "port doit être entre 0 et 65536" -#: tiramisu/option/urloption.py:69 +#: tiramisu/option/urloption.py:70 msgid "must ends with a valid resource name" msgstr "doit finir par un nom de ressource valide" @@ -938,15 +954,15 @@ msgstr "doit finir par un nom de ressource valide" msgid "username" msgstr "nom d'utilisateur" -#: tiramisu/setting.py:234 +#: tiramisu/setting.py:253 msgid "can't rebind {0}" msgstr "ne peut redéfinir ({0})" -#: tiramisu/setting.py:239 +#: tiramisu/setting.py:258 msgid "can't unbind {0}" msgstr "ne peut supprimer ({0})" -#: tiramisu/setting.py:492 +#: tiramisu/setting.py:521 msgid "" "malformed requirements imbrication detected for option: '{0}' with " "requirement on: '{1}'" @@ -954,65 +970,65 @@ msgstr "" "imbrication de requirements mal formés detectée pour l'option : '{0}' avec " "requirement sur : '{1}'" -#: tiramisu/setting.py:533 +#: tiramisu/setting.py:565 msgid "" "cannot access to option \"{0}\" because required option \"{1}\" has {2} {3}" msgstr "" "ne peut accéder à l'option \"{0}\" parce que l'option requise \"{1}\" a {2} " "{3}" -#: tiramisu/setting.py:555 +#: tiramisu/setting.py:589 msgid "the value of \"{0}\" is {1}" msgstr "la valeur de \"{0}\" est {1}" -#: tiramisu/setting.py:557 +#: tiramisu/setting.py:591 msgid "the value of \"{0}\" is not {1}" msgstr "la valeur de \"{0}\" n'est pas {1}" -#: tiramisu/setting.py:598 +#: tiramisu/setting.py:632 msgid "cannot set property {} for option \"{}\" this property is calculated" msgstr "" "ne peut ajouter la propriété {} pour l'option \"{}\" cette propriété est " "calculée" -#: tiramisu/setting.py:607 +#: tiramisu/setting.py:637 msgid "can't assign property to the symlinkoption \"{}\"" msgstr "ne peut assigner une propriété à une symlinkoption \"{}\"" -#: tiramisu/setting.py:640 +#: tiramisu/setting.py:669 msgid "permissive must be a frozenset" msgstr "une permissive doit être de type frozenset" -#: tiramisu/setting.py:644 +#: tiramisu/setting.py:673 msgid "can't assign permissive to the symlinkoption \"{}\"" msgstr "ne peut assigner une permissive à la symlinkoption \"{}\"" -#: tiramisu/setting.py:651 +#: tiramisu/setting.py:680 msgid "cannot add those permissives: {0}" msgstr "ne peut ajouter ces permissives : {0}" -#: tiramisu/setting.py:668 +#: tiramisu/setting.py:697 msgid "can't reset properties to the symlinkoption \"{}\"" msgstr "ne peut réinitialiser les propriétés de la symlinkoption \"{}\"" -#: tiramisu/setting.py:683 +#: tiramisu/setting.py:712 msgid "can't reset permissives to the symlinkoption \"{}\"" msgstr "ne peut réinitialiser les permissive de la symlinkoption \"{}\"" -#: tiramisu/storage/__init__.py:54 -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:70 +#: tiramisu/storage/__init__.py:60 msgid "cannot import the storage {0}" msgstr "ne peut pas importer le stockage {0}" -#: tiramisu/storage/dictionary/storage.py:43 -#: tiramisu/storage/sqlite3/storage.py:117 +#: tiramisu/storage/__init__.py:72 +msgid "storage_type is already set, cannot rebind it" +msgstr "storage_type est déjà défini, impossible de le redéfinir" + +#: tiramisu/storage/dictionary/storage.py:44 +#: tiramisu/storage/sqlite3/storage.py:129 msgid "session \"{}\" already used" msgstr "session \"{}\" en court d'utilisation" -#: tiramisu/storage/dictionary/storage.py:45 +#: tiramisu/storage/dictionary/storage.py:46 msgid "a dictionary cannot be persistent" msgstr "un espace de stockage dictionary ne peut être persistant" @@ -1025,620 +1041,24 @@ msgstr "l'information de l'objet ne sont pas trouvé {0}" msgid "cannot delete none persistent session" msgstr "ne peut supprimer une session non persistante" -#: tiramisu/value.py:397 +#: tiramisu/storage/sqlite3/storage.py:44 +msgid "cannot change setting when connexion is already opened" +msgstr "ne peut changer les paramètres quand une connexion est déjà ouverte" + +#: tiramisu/value.py:413 msgid "can't set owner for the symlinkoption \"{}\"" msgstr "ne peut spécifier d'utilisateur à la symlinkoption \"{}\"" -#: tiramisu/value.py:400 tiramisu/value.py:612 +#: tiramisu/value.py:416 tiramisu/value.py:628 msgid "set owner \"{0}\" is forbidden" msgstr "assigner l'utilisateur \"{0}\" est interdit" -#: tiramisu/value.py:403 +#: tiramisu/value.py:419 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:481 +#: tiramisu/value.py:497 msgid "index \"{}\" is higher than the length \"{}\" for option \"{}\"" msgstr "" "l'index \"{}\" est supérieur à la longueur de l'option \"{}\" pour l'option " "\"{}\"" - -#~ msgid "{} is unknown" -#~ msgstr "{} est inconnu" - -#~ msgid "not implemented yet" -#~ msgstr "non implémenté encore" - -#~ msgid "the context does not exist anymore" -#~ msgstr "le context n'existe plus" - -#~ msgid "{}_params must have an option not a {} for first argument" -#~ msgstr "{}_params doit avoir une option pas un {} pour premier argument" - -#~ 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" - -#~ msgid "{0}_params must only have 1 or 2 as length" -#~ msgstr "{0}_params doit seulement avoir une longueur de 1 ou 2" - -#~ 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" - -#~ msgid "{0}_params must be tuple for key \"{1}\"" -#~ msgstr "{0}_params doit être un tuple pour la clef \"{1}\"" - -#~ msgid "a callback is already set for {0}, cannot set another one's" -#~ msgstr "un calback a déjà été définit pour {0}, ne peut en définir un autre" - -#~ msgid "invalid len for opts" -#~ msgstr "longueur invalide pour opts" - -#~ msgid "this value is not uniq" -#~ msgstr "cette valeur n'est pas unique" - -#~ msgid "_cons_not_equal: {} are not different" -#~ msgstr "_cons_not_equal: {} sont différents" - -#~ msgid "use impl_get_opt_by_path only with root OptionDescription" -#~ msgstr "" -#~ "utiliser impl_get_opt_by_path seulement sur l'OptionDescription racine" - -#~ msgid "no option for path \"{}\"" -#~ msgstr "pas d'option pour le chemin \"{}\"" - -#~ msgid "use impl_get_path_by_opt only with root OptionDescription" -#~ msgstr "" -#~ "utiliser impl_get_path_by_opt seulement avec une OptionDescription racine" - -#~ msgid "no option \"{}\" found" -#~ msgstr "pas d'option \"{}\" trouvée" - -#~ msgid "need context" -#~ msgstr "context obligatoire" - -#~ msgid "cannot change property with metaconfig" -#~ msgstr "impossible de changer une propriété d'une metaconfig" - -#~ msgid "cannot change permissive with metaconfig" -#~ msgstr "ne peut changer une permissive avec une metaconfig" - -#~ 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" - -#~ msgid "dictionary storage cannot delete session" -#~ msgstr "" -#~ "impossible de supprimer une session dans un espace de stockage dictionary" - -#~ 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}" - -#~ 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})" - -#~ msgid "can't assign to an OptionDescription" -#~ msgstr "ne peut pas attribuer une valeur à une OptionDescription" - -#~ msgid "unknown type_ type {0}for _find" -#~ msgstr "type_ type {0} pour _find inconnu" - -#~ msgid "unexpected path {0}, should start with {1}" -#~ msgstr "chemin imprévu {0}, devrait commencer par {1}" - -#~ 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" - -#~ msgid "invalid name: {0} for config" -#~ msgstr "nom invalide : {0} pour la config" - -#~ msgid "name must be set to config before creating groupconfig" -#~ msgstr "un nom doit être donné à la config avant de créer un groupconfig" - -#~ msgid "invalid name: {0} for option" -#~ msgstr "nom invalide : {0} pour l'option" - -#~ msgid "invalid properties type {0} for {1}, must be a tuple" -#~ msgstr "type des properties invalide {0} pour {1}, doit être un tuple" - -#~ 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}" - -#~ msgid "cannot serialize Option, only in OptionDescription" -#~ msgstr "ne peut serialiser une Option, seulement via une OptionDescription" - -#~ msgid "invalid unicode or string" -#~ msgstr "invalide unicode ou string" - -#~ msgid "\"{0}\" is an invalid {1} for \"{2}\", {3}" -#~ msgstr "" -#~ "\"{0}\" est une valeur invalide pour l'option \"{2}\" de type {1}, {3}" - -#~ msgid "do_validation for {0}: error in value" -#~ msgstr "do_validation for {0} : erreur dans un la valeur" - -#~ msgid "invalid value \"{0}\" for \"{1}\" which must be a list" -#~ msgstr "valeur invalide \"{0}\" pour \"{1}\" qui doit être une liste" - -#~ msgid "invalid value \"{}\" for \"{}\" which must not be a list" -#~ msgstr "valeur invalide \"{0}\" pour \"{1}\" qui ne doit pas être une liste" - -#~ msgid "invalid value \"{0}\" for \"{1}\" which must be a list of list" -#~ msgstr "" -#~ "valeur invalide \"{0}\" pour \"{1}\" qui doit être une liste de liste" - -#~ msgid "consistency must be set with an option" -#~ msgstr "consistency doit être configuré avec une option" - -#~ msgid "unknow parameter {0} in consistency" -#~ msgstr "paramètre inconnu {0} dans un test de consistance" - -#~ 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" - -#~ msgid "master group with wrong master name for {0}" -#~ msgstr "le groupe maître avec un nom de maître érroné pour {0}" - -#~ msgid "not allowed default value for option {0} in master/slave object {1}" -#~ msgstr "" -#~ "valeur par défaut non autorisée pour l'option {0} dans l'objet master/" -#~ "slave {1}" - -#~ 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" - -#~ msgid "only {0} is allowed" -#~ msgstr "seulement {0} est autorisé" - -#~ msgid "only {0} are allowed" -#~ msgstr "seulement {0} sont autorisés" - -#~ msgid "unicode string" -#~ msgstr "texte unicode" - -#~ msgid "should be in network {0}/{1} ({2}/{3})" -#~ msgstr "devrait être dans le réseau {0}/{1} ({2}/{3})" - -#~ msgid "must be in network {0}/{1} ({2}/{3})" -#~ msgstr "doit être dans le réseau {0}/{1} ({2}/{3})" - -#~ msgid "this is a network with netmask {0} ({1})" -#~ msgstr "c'est une adresse réseau avec le masque {0} ({1})" - -#~ msgid "this is a broadcast with netmask {0} ({1})" -#~ msgstr "c'est une adresse broadcast avec le masque {0} ({1})" - -#~ msgid "with netmask {0} ({1})" -#~ msgstr "avec le masque {0} ({1})" - -#~ msgid "with network {0}/{1} ({2}/{3})" -#~ msgstr "avec le réseau {0}/{1} ({2}/{3})" - -#~ msgid "duplicate option name: {0}" -#~ msgstr "nom de l'option dupliqué : {0}" - -#~ msgid "option must not start as dynoptiondescription" -#~ msgstr "option ne doit pas commencé pareil qu'un dynoptiondescription" - -#~ 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}" - -#~ msgid "master group {0} shall not have a symlinkoption" -#~ msgstr "groupe maître {0} ne doit pas avoir de symlinkoption" - -#~ msgid "master group {0} shall not have a subgroup" -#~ msgstr "groupe maître {0} ne doit pas avoir de sous-groupe" - -#~ 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" - -#~ msgid "invalid suffix: {0} for option" -#~ msgstr "suffix invalide : {0} pour l'option" - -#~ msgid "callback is mandatory for dynoptiondescription" -#~ msgstr "callback est obligatoire pour un dynoptiondescription" - -#~ 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" - -#~ msgid "cannot add those properties: {0}" -#~ msgstr "ne peut pas ajouter ces propriétés : {0}" - -#~ msgid "you should only append/remove properties" -#~ msgstr "pour pouvait seulement ajouter/supprimer des propriétés" - -#~ 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" - -#~ 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" - -#~ msgid "invalid generic owner {0}" -#~ msgstr "invalide owner générique {0}" - -#~ msgid "the value of \"{0}\" is \"{1}\"" -#~ msgstr "la valeur de \"{0}\" est \"{1}\"" - -#~ msgid "the value of \"{0}\" is not \"{1}\"" -#~ msgstr "la valeur de \"{0}\" n'est pas \"{1}\"" - -#~ msgid "option {0} not already exists in storage {1}" -#~ msgstr "option {0} n'existe pas dans l'espace de stockage {1}" - -#~ msgid "no option for path {0}" -#~ msgstr "pas d'option pour le chemin {0}" - -#~ msgid "no option {0} found" -#~ msgstr "pas d'option {0} trouvée" - -#~ msgid "cannot find dynpath" -#~ msgstr "ne peut trouver le dynpath" - -#~ msgid "suffix and context needed if it's a dyn option" -#~ msgstr "suffix et context obligatoire si c'est une option dynamique" - -#~ msgid "session already used" -#~ msgstr "session déjà utilisée" - -#~ msgid "you should only set value with config" -#~ msgstr "vous devez seul affecter une valeur avec un config" - -#~ msgid "owner only avalaible for an option" -#~ msgstr "owner seulement possible pour une option" - -#~ 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" - -#~ msgid "{0} is already a Multi " -#~ msgstr "{0} est déjà une Multi" - -#~ 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" - -#~ 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" - -#~ msgid "cmp is not permitted in python v3 or greater" -#~ msgstr "cmp n'est pas permis en python v3 ou supérieure" - -#~ 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" - -#~ 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" - -#~ 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" - -#~ 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 "option '{0}' has requirement's property error: {1} {2}" -#~ msgstr "" -#~ "l'option '{0}' a une erreur de propriété pour le requirement : {1} {2}" - -#~ 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" - -#~ msgid "function \"{0}\" returns \"{1}\" for option \"{2}\"" -#~ msgstr "la fonction \"{0}\" retourne \"{1}\" pour l'option \"{2}\"" - -#~ 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}" - -#~ 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" - -#~ 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" - -#~ 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}" - -#~ msgid "inconsistency in action types for option: {0} action: {1}" -#~ msgstr "incohérence dans les types action pour l'option : {0} action {1}" - -#~ 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" - -#~ 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" - -#~ 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" - -#~ msgid "this value is already present" -#~ msgstr "cette valeur est déjà présente" - -#~ msgid "DynOptionDescription callback return not uniq value" -#~ msgstr "" -#~ "callback d'une DynOptionDescription ne retourne pas une valeur unique" - -#~ 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" - -#~ 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}" - -#~ 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}" - -#~ msgid "invalid value for option {0}: {1}" -#~ msgstr "valeur invalide pour l'option {0} : {1}" - -#~ msgid "warning on the value of the option {0}: {1}" -#~ msgstr "avertissement sur la valeur de l'option {0} : {1}" - -#~ msgid "same value for {0} and {1}, should be different" -#~ msgstr "même valeur pour {0} et {1}, devrait être différent" - -#~ msgid "same value for {0} and {1}, must be different" -#~ msgstr "même valeur pour {0} et {1}, doit être différent" - -#~ msgid "value {0} is not permitted, only {1} is allowed" -#~ msgstr "valeur {0} n'est pas permis, seules {1} sont autorisées" - -#~ msgid "invalid boolean" -#~ msgstr "booléen invalide" - -#~ msgid "invalid integer" -#~ msgstr "nombre invalide" - -#~ msgid "invalid float" -#~ msgstr "invalide nombre flottan" - -#~ msgid "invalid unicode" -#~ msgstr "invalide unicode" - -#~ msgid "invalid IP" -#~ msgstr "adresse IP invalide" - -#~ msgid "IP is in reserved class" -#~ msgstr "l'adresse IP est dans une plage d'adresse réservée" - -#~ msgid "invalid IP, mustn't be in reserved class" -#~ msgstr "adresse IP invalide, ne doit pas être dans une classe réservée" - -#~ msgid "IP is not in private class" -#~ msgstr "l'adresse IP n'est pas dans une plage d'adressage privée" - -#~ msgid "invalid IP, must be in private class" -#~ msgstr "adresse IP invalide, doit être dans la classe privée" - -#~ 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})" - -#~ 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})" - -#~ msgid "invalid port, range must have two values only" -#~ msgstr "port invalide, une plage doit avoir deux valeurs seulement" - -#~ 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" - -#~ msgid "invalid port" -#~ msgstr "port invalide" - -#~ msgid "invalid port, must be an integer between {0} and {1}" -#~ msgstr "port invalide, port doit être nombre entre {0} et {1}" - -#~ msgid "invalid network address" -#~ msgstr "adresse réseau invalide" - -#~ msgid "network address is in reserved class" -#~ msgstr "l'adresse réseau est pas dans une plage d'adresse réservée" - -#~ 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" - -#~ msgid "invalid netmask address" -#~ msgstr "masque de sous-réseau invalide" - -#~ 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" - -#~ 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" - -#~ msgid "invalid network {0} ({1}) with netmask {2}" -#~ msgstr "réseau invalide {0} ({1}) avec masque {2}" - -#~ msgid "invalid broadcast address" -#~ msgstr "adresse de broadcast invalide" - -#~ 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})" - -#~ msgid "invalid domainname's length (min 1)" -#~ msgstr "longueur du nom de domaine invalide (minimum 1)" - -#~ msgid "invalid domainname's length (max {0})" -#~ msgstr "longueur du nom de domaine invalide (maximum {0})" - -#~ msgid "invalid domainname, must not be an IP" -#~ msgstr "nom de domaine invalide, ne doit pas être une IP" - -#~ msgid "invalid domainname, must have dot" -#~ msgstr "nom de domaine invalide, doit avoir un point" - -#~ msgid "invalid domainname's length (max 255)" -#~ msgstr "longueur du nom de domaine invalide (maximum {1})" - -#~ msgid "invalid domainname" -#~ msgstr "nom de domaine invalide" - -#~ msgid "invalid email address, must contains one @" -#~ msgstr "adresse email invalide, doit contenir un @" - -#~ msgid "invalid username in email address" -#~ msgstr "nom d'utilisateur invalide dans une adresse email" - -#~ msgid "invalid url, must start with http:// or https://" -#~ msgstr "URL invalide, doit démarrer avec http:// ou https://" - -#~ msgid "invalid url, port must be an between 0 and 65536" -#~ msgstr "URL invalide, port doit être entre 0 et 65536" - -#~ msgid "invalid url, must ends with a valid resource name" -#~ msgstr "URL invalide, doit finir par un nom de ressource valide" - -#~ msgid "invalid username" -#~ msgstr "utilisateur invalide" - -#~ msgid "invalid filename" -#~ msgstr "nom de fichier invalide" - -#~ 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}" - -#~ 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" - -#~ msgid "open_values must be a boolean for {0}" -#~ msgstr "open_values doit être un booléen pour {0}" - -#~ msgid "invalid value {0} for option {1}: {2}" -#~ msgstr "valeur invalide {0} pour l'option {1} : {2}" - -#~ msgid "option not in all_cons_opts" -#~ msgstr "option non présentante dans all_cons_opts" - -#~ msgid "invalid network {0} ({1}) with netmask {2}, this network is an IP" -#~ msgstr "réseau invalide {0} ({1}) avec masque {2}, ce réseau est une IP" - -#~ 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 "" -#~ "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}" - -#~ msgid "no child has same nom has master group for: {0}" -#~ msgstr "pas d'enfant avec le nom du groupe maître pour {0} " - -#~ msgid "value must be a boolean" -#~ msgstr "valeur doit être un booléen" - -#~ msgid "value must be an integer" -#~ msgstr "valeur doit être un nombre entier" - -#~ msgid "value must be a float" -#~ msgstr "valeur doit être un nombre flottant" - -#~ msgid "value must be a string, not {0}" -#~ msgstr "valeur doit être une chaîne, pas {0}" - -#~ msgid "value must be an unicode" -#~ 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}" - -#~ msgid "validator should return a boolean, not {0}" -#~ msgstr "le validator devrait retourner un boolean, pas un {0}" - -#~ msgid "invalid value {0} for option {1} for object {2}" -#~ msgstr "valeur invalide {0} pour l'option {1} pour l'objet {2}" - -#~ msgid "no config specified but needed" -#~ msgstr "aucune config spécifié alors que c'est nécessaire" - -#~ msgid "{0} has no attribute impl_get_information" -#~ msgstr "{0} n'a pas d'attribut impl_get_information" - -#~ msgid "required option not found: {0}" -#~ msgstr "option requise non trouvée : {0}" diff --git a/translations/tiramisu.pot b/translations/tiramisu.pot index d47966c..863960e 100644 --- a/translations/tiramisu.pot +++ b/translations/tiramisu.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2018-10-31 18:46+CET\n" +"POT-Creation-Date: 2019-02-23 22:11+CET\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,79 +15,91 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" -#: tiramisu/api.py:57 +#: tiramisu/api.py:58 msgid "Settings:" msgstr "" -#: tiramisu/api.py:58 +#: tiramisu/api.py:59 msgid "Access to option without verifying permissive properties" msgstr "" -#: tiramisu/api.py:59 +#: tiramisu/api.py:60 msgid "Access to option without property restriction" msgstr "" -#: tiramisu/api.py:63 +#: tiramisu/api.py:64 msgid "Call: {}" msgstr "" -#: tiramisu/api.py:65 +#: tiramisu/api.py:66 msgid "Commands:" msgstr "" -#: tiramisu/api.py:98 -msgid "index \"{}\" is higher than the master length \"{}\" for option \"{}\"" +#: tiramisu/api.py:103 +msgid "index \"{}\" is higher than the leadership length \"{}\" for option \"{}\"" msgstr "" -#: tiramisu/api.py:103 +#: tiramisu/api.py:108 msgid "option must not be an optiondescription" msgstr "" -#: tiramisu/api.py:129 -msgid "index must be set with the slave option \"{}\"" +#: tiramisu/api.py:135 +msgid "index must be set with the follower option \"{}\"" msgstr "" -#: tiramisu/api.py:132 +#: tiramisu/api.py:138 msgid "unknown method {}" msgstr "" -#: tiramisu/api.py:316 +#: tiramisu/api.py:350 msgid "cannot add this property: \"{0}\"" msgstr "" -#: tiramisu/api.py:440 tiramisu/config.py:251 +#: tiramisu/api.py:492 tiramisu/config.py:252 msgid "can't delete a SymLinkOption" msgstr "" -#: tiramisu/api.py:573 tiramisu/api.py:1206 +#: tiramisu/api.py:625 tiramisu/api.py:1345 msgid "please specify a valid sub function ({})" msgstr "" -#: tiramisu/api.py:661 tiramisu/api.py:1041 +#: tiramisu/api.py:711 tiramisu/api.py:1164 msgid "unknown list type {}" msgstr "" -#: tiramisu/api.py:663 tiramisu/api.py:1043 +#: tiramisu/api.py:713 tiramisu/api.py:1166 msgid "unknown group_type: {0}" msgstr "" -#: tiramisu/autolib.py:95 +#: tiramisu/api.py:993 +msgid "properties must be a set" +msgstr "" + +#: tiramisu/api.py:999 tiramisu/api.py:1021 +msgid "unknown when {} (must be in append or remove)" +msgstr "" + +#: tiramisu/api.py:1011 tiramisu/api.py:1033 tiramisu/config.py:1225 +msgid "unknown type {}" +msgstr "" + +#: tiramisu/autolib.py:96 msgid "unable to carry out a calculation for \"{}\", {}" msgstr "" -#: tiramisu/autolib.py:256 -msgid "function \"{}\" with arguments \"{}\" and \"{}\" return the list \"{}\" for the slave option \"{}\"" +#: tiramisu/autolib.py:257 +msgid "function \"{}\" with arguments \"{}\" and \"{}\" return the list \"{}\" for the follower option \"{}\"" msgstr "" -#: tiramisu/autolib.py:264 -msgid "function \"{}\" return the list \"{}\" for the slave option \"{}\"" +#: tiramisu/autolib.py:265 +msgid "function \"{}\" return the list \"{}\" for the follower option \"{}\"" msgstr "" -#: tiramisu/autolib.py:292 +#: tiramisu/autolib.py:293 msgid "unexpected error \"{0}\" in function \"{1}\" with arguments \"{3}\" and \"{4}\" for option \"{2}\"" msgstr "" -#: tiramisu/autolib.py:299 +#: tiramisu/autolib.py:300 msgid "unexpected error \"{0}\" in function \"{1}\" for option \"{2}\"" msgstr "" @@ -95,144 +107,148 @@ msgstr "" msgid "\"{0}\" must be an optiondescription, not an {1}" msgstr "" -#: tiramisu/config.py:212 +#: tiramisu/config.py:213 msgid "unknown option {}" msgstr "" -#: tiramisu/config.py:220 +#: tiramisu/config.py:221 msgid "there is no option description for this config (may be GroupConfig)" msgstr "" -#: tiramisu/config.py:236 +#: tiramisu/config.py:237 msgid "can't assign to a SymLinkOption" msgstr "" -#: tiramisu/config.py:319 -msgid "slave option \"{}\" has higher length \"{}\" than the master length \"{}\"" +#: tiramisu/config.py:241 +msgid "cannot reduce length of a leader \"{}\"" msgstr "" -#: tiramisu/config.py:408 +#: tiramisu/config.py:319 +msgid "follower option \"{}\" has higher length \"{}\" than the leader length \"{}\"" +msgstr "" + +#: tiramisu/config.py:415 msgid "no option found in config with these criteria" msgstr "" -#: tiramisu/config.py:458 +#: tiramisu/config.py:465 msgid "make_dict can't filtering with value without option" msgstr "" -#: tiramisu/config.py:509 +#: tiramisu/config.py:518 msgid "unexpected path \"{0}\", should start with \"{1}\"" msgstr "" -#: tiramisu/config.py:674 +#: tiramisu/config.py:665 msgid "cannot duplicate {}" msgstr "" -#: tiramisu/config.py:742 -msgid "cannot set masterslaves object has root optiondescription" +#: tiramisu/config.py:733 +msgid "cannot set leadership object has root optiondescription" msgstr "" -#: tiramisu/config.py:744 +#: tiramisu/config.py:735 msgid "cannot set dynoptiondescription object has root optiondescription" msgstr "" -#: tiramisu/config.py:758 tiramisu/config.py:800 +#: tiramisu/config.py:749 tiramisu/config.py:796 msgid "invalid session ID: {0} for config" msgstr "" -#: tiramisu/config.py:784 +#: tiramisu/config.py:780 msgid "groupconfig's children must be a list" msgstr "" -#: tiramisu/config.py:788 +#: tiramisu/config.py:784 msgid "groupconfig's children must be Config, MetaConfig or GroupConfig" msgstr "" -#: tiramisu/config.py:795 +#: tiramisu/config.py:791 msgid "config name must be uniq in groupconfig for \"{0}\"" msgstr "" -#: tiramisu/config.py:959 +#: tiramisu/config.py:961 msgid "unknown config \"{}\"" msgstr "" -#: tiramisu/config.py:979 tiramisu/config.py:1194 +#: tiramisu/config.py:986 tiramisu/config.py:1201 msgid "{}config's children should be config, not {}" msgstr "" -#: tiramisu/config.py:984 +#: tiramisu/config.py:991 msgid "child must be a Config, MixConfig or MetaConfig" msgstr "" -#: tiramisu/config.py:986 +#: tiramisu/config.py:993 msgid "child has already a {}config's" msgstr "" -#: tiramisu/config.py:1015 +#: tiramisu/config.py:1022 msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config" msgstr "" -#: tiramisu/config.py:1037 +#: tiramisu/config.py:1044 msgid "force_default and force_dont_change_value cannot be set together" msgstr "" -#: tiramisu/config.py:1181 +#: tiramisu/config.py:1188 msgid "MetaConfig with optiondescription must have string has child, not {}" msgstr "" -#: tiramisu/config.py:1199 +#: tiramisu/config.py:1206 msgid "child must be a Config or MetaConfig" msgstr "" -#: tiramisu/config.py:1203 +#: tiramisu/config.py:1210 msgid "all config in metaconfig must have the same optiondescription" msgstr "" -#: tiramisu/config.py:1216 +#: tiramisu/config.py:1223 msgid "config name must be uniq in groupconfig for {0}" msgstr "" -#: tiramisu/config.py:1218 -msgid "unknown type {}" -msgstr "" - -#: tiramisu/config.py:1241 +#: tiramisu/config.py:1248 msgid "cannot find the config {}" msgstr "" -#: tiramisu/error.py:23 +#: tiramisu/error.py:24 msgid "and" msgstr "" -#: tiramisu/error.py:25 +#: tiramisu/error.py:26 msgid "or" msgstr "" -#: tiramisu/error.py:49 +#: tiramisu/error.py:50 msgid " {} " msgstr "" -#: tiramisu/error.py:102 tiramisu/setting.py:530 +#: tiramisu/error.py:103 tiramisu/setting.py:562 msgid "property" msgstr "" -#: tiramisu/error.py:104 tiramisu/setting.py:532 +#: tiramisu/error.py:105 tiramisu/setting.py:564 msgid "properties" msgstr "" -#: tiramisu/error.py:106 +#: tiramisu/error.py:107 msgid "cannot access to {0} \"{1}\" because \"{2}\" has {3} {4}" msgstr "" -#: tiramisu/error.py:113 +#: tiramisu/error.py:114 msgid "cannot access to {0} \"{1}\" because has {2} {3}" msgstr "" -#: tiramisu/error.py:194 -msgid "\"{0}\" is an invalid {1} for \"{2}\"" +#: tiramisu/error.py:185 +msgid "invalid value" msgstr "" -#: tiramisu/error.py:208 -msgid "invalid value" +#: tiramisu/error.py:190 +msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\"" +msgstr "" + +#: tiramisu/error.py:194 tiramisu/error.py:198 +msgid "\"{0}\" is an invalid {1} for \"{2}\"" msgstr "" #: tiramisu/function.py:31 @@ -255,100 +271,96 @@ msgstr "" msgid "param must have a boolean not a {} for notraisepropertyerror" msgstr "" -#: tiramisu/option/baseoption.py:79 -msgid "invalid name: \"{0}\" for option" +#: tiramisu/option/baseoption.py:78 tiramisu/option/symlinkoption.py:33 +msgid "\"{0}\" is an invalid name for an option" msgstr "" -#: tiramisu/option/baseoption.py:95 +#: tiramisu/option/baseoption.py:96 msgid "invalid properties type {0} for {1}, must be a frozenset" msgstr "" -#: tiramisu/option/baseoption.py:112 +#: tiramisu/option/baseoption.py:118 msgid "conflict: properties already set in requirement {0} for {1}" msgstr "" -#: tiramisu/option/baseoption.py:160 +#: tiramisu/option/baseoption.py:165 msgid "{0} must be a function" msgstr "" -#: tiramisu/option/baseoption.py:163 +#: tiramisu/option/baseoption.py:167 msgid "{0}_params must be a params" msgstr "" -#: tiramisu/option/baseoption.py:203 +#: tiramisu/option/baseoption.py:208 msgid "cannot find those arguments \"{}\" in function \"{}\" for \"{}\"" msgstr "" -#: tiramisu/option/baseoption.py:222 +#: tiramisu/option/baseoption.py:227 msgid "missing those arguments \"{}\" in function \"{}\" for \"{}\"" msgstr "" -#: tiramisu/option/baseoption.py:261 +#: tiramisu/option/baseoption.py:260 msgid "params defined for a callback function but no callback defined yet for option \"{0}\"" msgstr "" -#: tiramisu/option/baseoption.py:355 tiramisu/storage/dictionary/value.py:284 +#: tiramisu/option/baseoption.py:352 tiramisu/storage/dictionary/value.py:284 #: tiramisu/storage/sqlite3/value.py:214 msgid "information's item not found: {0}" msgstr "" -#: tiramisu/option/baseoption.py:368 +#: tiramisu/option/baseoption.py:365 msgid "'{0}' ({1}) object attribute '{2}' is read-only" msgstr "" -#: tiramisu/option/baseoption.py:408 +#: tiramisu/option/baseoption.py:396 msgid "\"{}\" ({}) object attribute \"{}\" is read-only" msgstr "" -#: tiramisu/option/baseoption.py:424 -msgid "invalid string" -msgstr "" - -#: tiramisu/option/baseoption.py:478 +#: tiramisu/option/baseoption.py:450 msgid "malformed requirements must be an option in option {0}" msgstr "" -#: tiramisu/option/baseoption.py:481 +#: tiramisu/option/baseoption.py:453 msgid "malformed requirements multi option must not set as requires of non multi option {0}" msgstr "" -#: tiramisu/option/baseoption.py:514 +#: tiramisu/option/baseoption.py:486 msgid "malformed requirements expected must have option and value for option {0}" msgstr "" -#: tiramisu/option/baseoption.py:521 tiramisu/option/baseoption.py:537 +#: tiramisu/option/baseoption.py:493 tiramisu/option/baseoption.py:509 msgid "malformed requirements expected value must be valid for option {0}: {1}" msgstr "" -#: tiramisu/option/baseoption.py:551 +#: tiramisu/option/baseoption.py:523 msgid "malformed requirements for option: {0} action cannot be force_store_value" msgstr "" -#: tiramisu/option/baseoption.py:559 +#: tiramisu/option/baseoption.py:531 msgid "malformed requirements for option: {0} inverse must be boolean" msgstr "" -#: tiramisu/option/baseoption.py:566 +#: tiramisu/option/baseoption.py:538 msgid "malformed requirements for option: {0} transitive must be boolean" msgstr "" -#: tiramisu/option/baseoption.py:573 +#: tiramisu/option/baseoption.py:545 msgid "malformed requirements for option: {0} same_action must be boolean" msgstr "" -#: tiramisu/option/baseoption.py:580 +#: tiramisu/option/baseoption.py:552 msgid "malformed requirements for option: \"{0}\" operator must be \"or\" or \"and\"" msgstr "" -#: tiramisu/option/baseoption.py:592 +#: tiramisu/option/baseoption.py:564 msgid "malformed requirements type for option: {0}, must be a dict" msgstr "" -#: tiramisu/option/baseoption.py:598 +#: tiramisu/option/baseoption.py:570 msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}" msgstr "" -#: tiramisu/option/baseoption.py:607 +#: tiramisu/option/baseoption.py:579 msgid "malformed requirements for option: {0} require must have option, expected and action keys" msgstr "" @@ -360,11 +372,19 @@ msgstr "" msgid "broadcast address" msgstr "" -#: tiramisu/option/broadcastoption.py:55 +#: tiramisu/option/broadcastoption.py:38 tiramisu/option/dateoption.py:37 +#: tiramisu/option/domainnameoption.py:113 tiramisu/option/ipoption.py:73 +#: tiramisu/option/netmaskoption.py:40 tiramisu/option/networkoption.py:38 +#: tiramisu/option/passwordoption.py:38 tiramisu/option/portoption.py:106 +#: tiramisu/option/urloption.py:40 +msgid "invalid string" +msgstr "" + +#: tiramisu/option/broadcastoption.py:56 msgid "invalid len for vals" msgstr "" -#: tiramisu/option/broadcastoption.py:60 +#: tiramisu/option/broadcastoption.py:61 msgid "broadcast \"{4}\" invalid with network {0}/{1} (\"{2}\"/\"{3}\")" msgstr "" @@ -396,67 +416,67 @@ msgstr "" msgid "date" msgstr "" -#: tiramisu/option/domainnameoption.py:37 +#: tiramisu/option/domainnameoption.py:38 msgid "domain name" msgstr "" -#: tiramisu/option/domainnameoption.py:57 +#: tiramisu/option/domainnameoption.py:58 msgid "unknown type_ {0} for hostname" msgstr "" -#: tiramisu/option/domainnameoption.py:60 +#: tiramisu/option/domainnameoption.py:61 msgid "allow_ip must be a boolean" msgstr "" -#: tiramisu/option/domainnameoption.py:62 +#: tiramisu/option/domainnameoption.py:63 msgid "allow_without_dot must be a boolean" msgstr "" -#: tiramisu/option/domainnameoption.py:108 +#: tiramisu/option/domainnameoption.py:107 msgid "invalid length (min 1)" msgstr "" -#: tiramisu/option/domainnameoption.py:110 +#: tiramisu/option/domainnameoption.py:109 msgid "invalid length (max {0})" msgstr "" -#: tiramisu/option/domainnameoption.py:126 +#: tiramisu/option/domainnameoption.py:127 msgid "must not be an IP" msgstr "" -#: tiramisu/option/domainnameoption.py:130 +#: tiramisu/option/domainnameoption.py:131 msgid "must have dot" msgstr "" -#: tiramisu/option/domainnameoption.py:132 +#: tiramisu/option/domainnameoption.py:133 msgid "invalid length (max 255)" msgstr "" -#: tiramisu/option/domainnameoption.py:140 +#: tiramisu/option/domainnameoption.py:141 msgid "some characters are uppercase" msgstr "" -#: tiramisu/option/domainnameoption.py:143 +#: tiramisu/option/domainnameoption.py:144 msgid "some characters may cause problems" msgstr "" -#: tiramisu/option/dynoptiondescription.py:55 +#: tiramisu/option/dynoptiondescription.py:56 msgid "cannot set optiondescription in a dynoptiondescription" msgstr "" -#: tiramisu/option/dynoptiondescription.py:60 +#: tiramisu/option/dynoptiondescription.py:61 msgid "cannot set symlinkoption in a dynoptiondescription" msgstr "" -#: tiramisu/option/dynoptiondescription.py:71 +#: tiramisu/option/dynoptiondescription.py:72 msgid "callback is mandatory for the dynoptiondescription \"{}\"" msgstr "" -#: tiramisu/option/dynoptiondescription.py:85 +#: tiramisu/option/dynoptiondescription.py:86 msgid "DynOptionDescription callback for option \"{}\", is not a list ({})" msgstr "" -#: tiramisu/option/dynoptiondescription.py:91 +#: tiramisu/option/dynoptiondescription.py:92 msgid "invalid suffix \"{}\" for option \"{}\"" msgstr "" @@ -480,103 +500,107 @@ msgstr "" msgid "integer" msgstr "" -#: tiramisu/option/ipoption.py:32 +#: tiramisu/option/intoption.py:54 +msgid "value must be greater than \"{0}\"" +msgstr "" + +#: tiramisu/option/intoption.py:57 +msgid "value must be less than \"{0}\"" +msgstr "" + +#: tiramisu/option/ipoption.py:33 msgid "IP" msgstr "" -#: tiramisu/option/ipoption.py:89 +#: tiramisu/option/ipoption.py:91 msgid "shouldn't in reserved class" msgstr "" -#: tiramisu/option/ipoption.py:91 tiramisu/option/networkoption.py:56 +#: tiramisu/option/ipoption.py:93 tiramisu/option/networkoption.py:57 msgid "mustn't be in reserved class" msgstr "" -#: tiramisu/option/ipoption.py:95 +#: tiramisu/option/ipoption.py:97 msgid "should be in private class" msgstr "" -#: tiramisu/option/ipoption.py:97 +#: tiramisu/option/ipoption.py:99 msgid "must be in private class" msgstr "" -#: tiramisu/option/ipoption.py:107 +#: tiramisu/option/ipoption.py:109 msgid "ip_network needs an IP, a network and a netmask" msgstr "" -#: tiramisu/option/ipoption.py:113 +#: tiramisu/option/ipoption.py:115 msgid "\"{4}\" is not in network \"{0}\"/\"{1}\" (\"{2}\"/\"{3}\")" msgstr "" -#: tiramisu/option/masterslaves.py:52 -msgid "a master and a slave are mandatories in masterslaves \"{}\"" +#: tiramisu/option/leadership.py:57 +msgid "a leader and a follower are mandatories in leadership \"{}\"" msgstr "" -#: tiramisu/option/masterslaves.py:56 -msgid "masterslaves \"{0}\" shall not have a symlinkoption" +#: tiramisu/option/leadership.py:63 +msgid "leadership \"{0}\" shall not have a symlinkoption" msgstr "" -#: tiramisu/option/masterslaves.py:59 -msgid "masterslaves \"{0}\" shall not have a subgroup" +#: tiramisu/option/leadership.py:66 +msgid "leadership \"{0}\" shall not have a subgroup" msgstr "" -#: tiramisu/option/masterslaves.py:62 -msgid "only multi option allowed in masterslaves \"{0}\" but option \"{1}\" is not a multi" +#: tiramisu/option/leadership.py:69 +msgid "only multi option allowed in leadership \"{0}\" but option \"{1}\" is not a multi" msgstr "" -#: tiramisu/option/masterslaves.py:66 -msgid "not allowed default value for option \"{0}\" in masterslaves \"{1}\"" +#: tiramisu/option/leadership.py:74 +msgid "not allowed default value for follower option \"{0}\" in leadership \"{1}\"" msgstr "" -#: tiramisu/option/masterslaves.py:83 -msgid "callback of master's option shall not refered a slave's ones" +#: tiramisu/option/leadership.py:90 +msgid "callback of leader's option shall not refered to a follower's ones" msgstr "" -#: tiramisu/option/masterslaves.py:91 -msgid "master {} have requirement, but MasterSlaves {} too" +#: tiramisu/option/leadership.py:98 +msgid "leader {} have requirement, but Leadership {} too" msgstr "" -#: tiramisu/option/masterslaves.py:108 -msgid "malformed requirements option \"{0}\" must not be in slave for \"{1}\"" +#: tiramisu/option/leadership.py:113 +msgid "malformed requirements option \"{0}\" must not be in follower for \"{1}\"" msgstr "" -#: tiramisu/option/masterslaves.py:224 -msgid "cannot reduce length of the master \"{}\"" -msgstr "" - -#: tiramisu/option/netmaskoption.py:32 +#: tiramisu/option/netmaskoption.py:33 msgid "netmask address" msgstr "" -#: tiramisu/option/netmaskoption.py:57 +#: tiramisu/option/netmaskoption.py:59 msgid "network_netmask needs a network and a netmask" msgstr "" -#: tiramisu/option/netmaskoption.py:76 +#: tiramisu/option/netmaskoption.py:78 msgid "ip_netmask needs an IP and a netmask" msgstr "" -#: tiramisu/option/netmaskoption.py:103 +#: tiramisu/option/netmaskoption.py:105 msgid "this is a network with netmask \"{0}\" (\"{1}\")" msgstr "" -#: tiramisu/option/netmaskoption.py:105 +#: tiramisu/option/netmaskoption.py:107 msgid "this is a network with {2} \"{0}\" (\"{1}\")" msgstr "" -#: tiramisu/option/netmaskoption.py:108 +#: tiramisu/option/netmaskoption.py:110 msgid "this is a broadcast with netmask \"{0}\" (\"{1}\")" msgstr "" -#: tiramisu/option/netmaskoption.py:110 +#: tiramisu/option/netmaskoption.py:112 msgid "this is a broadcast with {2} \"{0}\" (\"{1}\")" msgstr "" -#: tiramisu/option/netmaskoption.py:115 +#: tiramisu/option/netmaskoption.py:117 msgid "with netmask \"{0}\" (\"{1}\")" msgstr "" -#: tiramisu/option/netmaskoption.py:117 +#: tiramisu/option/netmaskoption.py:119 msgid "with {2} \"{0}\" (\"{1}\")" msgstr "" @@ -584,7 +608,7 @@ msgstr "" msgid "network address" msgstr "" -#: tiramisu/option/networkoption.py:54 +#: tiramisu/option/networkoption.py:55 msgid "shouldn't be in reserved class" msgstr "" @@ -612,199 +636,188 @@ msgstr "" msgid "invalid default_multi value \"{0}\" for option \"{1}\", must be a list for a submulti" msgstr "" -#: tiramisu/option/option.py:256 +#: tiramisu/option/option.py:255 msgid "invalid value \"{}\", this value is already in \"{}\"" msgstr "" -#: tiramisu/option/option.py:286 +#: tiramisu/option/option.py:285 msgid "which must not be a list" msgstr "" -#: tiramisu/option/option.py:303 -msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\"" -msgstr "" - -#: tiramisu/option/option.py:322 tiramisu/option/option.py:331 +#: tiramisu/option/option.py:319 tiramisu/option/option.py:328 msgid "which must be a list" msgstr "" -#: tiramisu/option/option.py:336 +#: tiramisu/option/option.py:333 msgid "which \"{}\" must be a list of list" msgstr "" -#: tiramisu/option/option.py:372 +#: tiramisu/option/option.py:375 msgid "default value not allowed if option \"{0}\" is calculated" msgstr "" -#: tiramisu/option/option.py:417 +#: tiramisu/option/option.py:423 msgid "'{0}' ({1}) cannot add consistency, option is read-only" msgstr "" -#: tiramisu/option/option.py:425 +#: tiramisu/option/option.py:431 msgid "consistency {0} not available for this option" msgstr "" -#: tiramisu/option/option.py:432 +#: tiramisu/option/option.py:438 msgid "unknown parameter {0} in consistency" msgstr "" -#: tiramisu/option/option.py:544 tiramisu/option/option.py:549 +#: tiramisu/option/option.py:550 tiramisu/option/option.py:555 msgid "cannot add consistency with submulti option" msgstr "" -#: tiramisu/option/option.py:550 +#: tiramisu/option/option.py:556 msgid "consistency must be set with an option, not {}" msgstr "" -#: tiramisu/option/option.py:553 tiramisu/option/option.py:561 +#: tiramisu/option/option.py:559 tiramisu/option/option.py:567 msgid "almost one option in consistency is in a dynoptiondescription but not all" msgstr "" -#: tiramisu/option/option.py:557 +#: tiramisu/option/option.py:563 msgid "option in consistency must be in same dynoptiondescription" msgstr "" -#: tiramisu/option/option.py:564 +#: tiramisu/option/option.py:570 msgid "cannot add consistency with itself" msgstr "" -#: tiramisu/option/option.py:566 +#: tiramisu/option/option.py:572 msgid "every options in consistency must be multi or none" msgstr "" -#: tiramisu/option/option.py:607 +#: tiramisu/option/option.py:612 msgid "unexpected length of \"{}\" in constency \"{}\", should be \"{}\"" msgstr "" -#: tiramisu/option/option.py:637 -msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\", {3}" -msgstr "" - -#: tiramisu/option/option.py:708 +#: tiramisu/option/option.py:712 msgid "should be different from the value of \"{}\"" msgstr "" -#: tiramisu/option/option.py:710 +#: tiramisu/option/option.py:714 msgid "must be different from the value of \"{}\"" msgstr "" -#: tiramisu/option/option.py:713 +#: tiramisu/option/option.py:717 msgid "value for {} should be different" msgstr "" -#: tiramisu/option/option.py:715 +#: tiramisu/option/option.py:719 msgid "value for {} must be different" msgstr "" -#: tiramisu/option/optiondescription.py:47 +#: tiramisu/option/optiondescription.py:62 +#: tiramisu/option/optiondescription.py:177 msgid "option description seems to be part of an other config" msgstr "" -#: tiramisu/option/optiondescription.py:79 -msgid "the slave \"{0}\" cannot have \"force_store_value\" property" +#: tiramisu/option/optiondescription.py:85 +msgid "the follower \"{0}\" cannot have \"force_store_value\" property" msgstr "" -#: tiramisu/option/optiondescription.py:83 +#: tiramisu/option/optiondescription.py:89 msgid "the dynoption \"{0}\" cannot have \"force_store_value\" property" msgstr "" -#: tiramisu/option/optiondescription.py:90 tiramisu/setting.py:612 -msgid "a master ({0}) cannot have \"force_default_on_freeze\" property without \"frozen\"" -msgstr "" - -#: tiramisu/option/optiondescription.py:98 -msgid "malformed consistency option \"{0}\" must be a masterslaves" +#: tiramisu/option/optiondescription.py:97 tiramisu/setting.py:642 +msgid "a leader ({0}) cannot have \"force_default_on_freeze\" or \"force_metaconfig_on_freeze\" property without \"frozen\"" msgstr "" #: tiramisu/option/optiondescription.py:106 +msgid "malformed consistency option \"{0}\" must be a leadership" +msgstr "" + +#: tiramisu/option/optiondescription.py:114 msgid "malformed consistency option \"{0}\" must not be a multi for \"{1}\"" msgstr "" -#: tiramisu/option/optiondescription.py:110 -msgid "malformed consistency option \"{0}\" must be in same masterslaves as \"{1}\"" +#: tiramisu/option/optiondescription.py:118 +msgid "malformed consistency option \"{0}\" must be in same leadership as \"{1}\"" msgstr "" -#: tiramisu/option/optiondescription.py:140 -msgid "malformed requirements option \"{0}\" must be in same masterslaves for \"{1}\"" +#: tiramisu/option/optiondescription.py:149 +msgid "malformed requirements option \"{0}\" must be in same leadership for \"{1}\"" msgstr "" -#: tiramisu/option/optiondescription.py:144 +#: tiramisu/option/optiondescription.py:153 msgid "malformed requirements option \"{0}\" must not be a multi for \"{1}\"" msgstr "" -#: tiramisu/option/optiondescription.py:152 +#: tiramisu/option/optiondescription.py:157 msgid "duplicate option: {0}" msgstr "" -#: tiramisu/option/optiondescription.py:158 +#: tiramisu/option/optiondescription.py:166 msgid "consistency with option {0} which is not in Config" msgstr "" -#: tiramisu/option/optiondescription.py:237 +#: tiramisu/option/optiondescription.py:221 msgid "unknown option \"{0}\" in optiondescription \"{1}\"" msgstr "" -#: tiramisu/option/optiondescription.py:341 +#: tiramisu/option/optiondescription.py:275 msgid "children in optiondescription \"{}\" must be a list" msgstr "" -#: tiramisu/option/optiondescription.py:361 +#: tiramisu/option/optiondescription.py:299 msgid "duplicate option name: \"{0}\"" msgstr "" -#: tiramisu/option/optiondescription.py:366 +#: tiramisu/option/optiondescription.py:304 msgid "the option's name \"{}\" start as the dynoptiondescription's name \"{}\"" msgstr "" -#: tiramisu/option/optiondescription.py:399 +#: tiramisu/option/optiondescription.py:329 msgid "cannot change group_type if already set (old {0}, new {1})" msgstr "" -#: tiramisu/option/optiondescription.py:403 +#: tiramisu/option/optiondescription.py:333 msgid "group_type: {0} not allowed" msgstr "" -#: tiramisu/option/passwordoption.py:30 +#: tiramisu/option/passwordoption.py:31 msgid "password" msgstr "" -#: tiramisu/option/portoption.py:41 +#: tiramisu/option/portoption.py:43 msgid "port" msgstr "" -#: tiramisu/option/portoption.py:78 +#: tiramisu/option/portoption.py:80 msgid "inconsistency in allowed range" msgstr "" -#: tiramisu/option/portoption.py:83 +#: tiramisu/option/portoption.py:85 msgid "max value is empty" msgstr "" -#: tiramisu/option/portoption.py:109 +#: tiramisu/option/portoption.py:110 msgid "range must have two values only" msgstr "" -#: tiramisu/option/portoption.py:111 +#: tiramisu/option/portoption.py:112 msgid "first port in range must be smaller than the second one" msgstr "" -#: tiramisu/option/portoption.py:121 +#: tiramisu/option/portoption.py:122 msgid "must be an integer between {0} and {1}" msgstr "" -#: tiramisu/option/stroption.py:31 +#: tiramisu/option/stroption.py:32 msgid "string" msgstr "" -#: tiramisu/option/stroption.py:44 -msgid "unicode" -msgstr "" - -#: tiramisu/option/symlinkoption.py:33 +#: tiramisu/option/symlinkoption.py:37 msgid "malformed symlinkoption must be an option for symlink {0}" msgstr "" -#: tiramisu/option/syndynoptiondescription.py:58 +#: tiramisu/option/syndynoptiondescription.py:68 msgid "unknown option \"{0}\" in syndynoptiondescription \"{1}\"" msgstr "" @@ -812,15 +825,15 @@ msgstr "" msgid "URL" msgstr "" -#: tiramisu/option/urloption.py:42 +#: tiramisu/option/urloption.py:43 msgid "must start with http:// or https://" msgstr "" -#: tiramisu/option/urloption.py:60 +#: tiramisu/option/urloption.py:61 msgid "port must be an between 0 and 65536" msgstr "" -#: tiramisu/option/urloption.py:69 +#: tiramisu/option/urloption.py:70 msgid "must ends with a valid resource name" msgstr "" @@ -828,72 +841,72 @@ msgstr "" msgid "username" msgstr "" -#: tiramisu/setting.py:234 +#: tiramisu/setting.py:253 msgid "can't rebind {0}" msgstr "" -#: tiramisu/setting.py:239 +#: tiramisu/setting.py:258 msgid "can't unbind {0}" msgstr "" -#: tiramisu/setting.py:492 +#: tiramisu/setting.py:521 msgid "malformed requirements imbrication detected for option: '{0}' with requirement on: '{1}'" msgstr "" -#: tiramisu/setting.py:533 +#: tiramisu/setting.py:565 msgid "cannot access to option \"{0}\" because required option \"{1}\" has {2} {3}" msgstr "" -#: tiramisu/setting.py:555 +#: tiramisu/setting.py:589 msgid "the value of \"{0}\" is {1}" msgstr "" -#: tiramisu/setting.py:557 +#: tiramisu/setting.py:591 msgid "the value of \"{0}\" is not {1}" msgstr "" -#: tiramisu/setting.py:598 +#: tiramisu/setting.py:632 msgid "cannot set property {} for option \"{}\" this property is calculated" msgstr "" -#: tiramisu/setting.py:607 +#: tiramisu/setting.py:637 msgid "can't assign property to the symlinkoption \"{}\"" msgstr "" -#: tiramisu/setting.py:640 +#: tiramisu/setting.py:669 msgid "permissive must be a frozenset" msgstr "" -#: tiramisu/setting.py:644 +#: tiramisu/setting.py:673 msgid "can't assign permissive to the symlinkoption \"{}\"" msgstr "" -#: tiramisu/setting.py:651 +#: tiramisu/setting.py:680 msgid "cannot add those permissives: {0}" msgstr "" -#: tiramisu/setting.py:668 +#: tiramisu/setting.py:697 msgid "can't reset properties to the symlinkoption \"{}\"" msgstr "" -#: tiramisu/setting.py:683 +#: tiramisu/setting.py:712 msgid "can't reset permissives to the symlinkoption \"{}\"" msgstr "" -#: tiramisu/storage/__init__.py:54 -msgid "storage_type is already set, cannot rebind it" -msgstr "" - -#: tiramisu/storage/__init__.py:70 +#: tiramisu/storage/__init__.py:60 msgid "cannot import the storage {0}" msgstr "" -#: tiramisu/storage/dictionary/storage.py:43 -#: tiramisu/storage/sqlite3/storage.py:117 +#: tiramisu/storage/__init__.py:72 +msgid "storage_type is already set, cannot rebind it" +msgstr "" + +#: tiramisu/storage/dictionary/storage.py:44 +#: tiramisu/storage/sqlite3/storage.py:129 msgid "session \"{}\" already used" msgstr "" -#: tiramisu/storage/dictionary/storage.py:45 +#: tiramisu/storage/dictionary/storage.py:46 msgid "a dictionary cannot be persistent" msgstr "" @@ -906,19 +919,23 @@ msgstr "" msgid "cannot delete none persistent session" msgstr "" -#: tiramisu/value.py:397 +#: tiramisu/storage/sqlite3/storage.py:44 +msgid "cannot change setting when connexion is already opened" +msgstr "" + +#: tiramisu/value.py:413 msgid "can't set owner for the symlinkoption \"{}\"" msgstr "" -#: tiramisu/value.py:400 tiramisu/value.py:612 +#: tiramisu/value.py:416 tiramisu/value.py:628 msgid "set owner \"{0}\" is forbidden" msgstr "" -#: tiramisu/value.py:403 +#: tiramisu/value.py:419 msgid "no value for {0} cannot change owner to {1}" msgstr "" -#: tiramisu/value.py:481 +#: tiramisu/value.py:497 msgid "index \"{}\" is higher than the length \"{}\" for option \"{}\"" msgstr ""