fix: better error message

This commit is contained in:
egarette@silique.fr 2025-12-22 08:51:08 +01:00
parent fe108b1238
commit 95c62f1122
5 changed files with 272 additions and 274 deletions

View file

@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Tiramisu\n" "Project-Id-Version: Tiramisu\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-04 15:43+0200\n" "POT-Creation-Date: 2025-12-22 08:49+0100\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: Emmanuel Garette <egarette@cadoles.com>\n" "Last-Translator: Emmanuel Garette <egarette@cadoles.com>\n"
"Language-Team: Tiramisu's team <egarette@cadoles.com>\n" "Language-Team: Tiramisu's team <egarette@cadoles.com>\n"
@ -11,54 +11,54 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 3.7\n" "X-Generator: Poedit 3.8\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
#: tiramisu/api.py:86 #: tiramisu/api.py:87
msgid "Settings:" msgid "Settings:"
msgstr "Paramètres :" msgstr "Paramètres :"
#: tiramisu/api.py:90 #: tiramisu/api.py:91
msgid "Access to option without verifying permissive properties" msgid "Access to option without verifying permissive properties"
msgstr "Accès à une option sans vérifié les propriétés permises" msgstr "Accès à une option sans vérifié les propriétés permises"
#: tiramisu/api.py:95 #: tiramisu/api.py:96
msgid "Access to option without property restriction" msgid "Access to option without property restriction"
msgstr "Accès à une option sans restriction de propriété" msgstr "Accès à une option sans restriction de propriété"
#: tiramisu/api.py:100 #: tiramisu/api.py:101
msgid "Do not warnings during validation" msgid "Do not warnings during validation"
msgstr "Ne peut avoir de warnings durant une validation" msgstr "Ne peut avoir de warnings durant une validation"
#: tiramisu/api.py:104 #: tiramisu/api.py:105
msgid "Commands:" msgid "Commands:"
msgstr "Commandes :" msgstr "Commandes :"
#: tiramisu/api.py:118 tiramisu/api.py:1963 #: tiramisu/api.py:119 tiramisu/api.py:2089
msgid "please specify a valid sub function ({0}.{1})" msgid "please specify a valid sub function ({0}.{1})"
msgstr "veuillez spécifier une sous fonction valide ({0}.{1})" msgstr "veuillez spécifier une sous fonction valide ({0}.{1})"
#: tiramisu/api.py:206 #: tiramisu/api.py:209
msgid "please do not specify index ({0}.{1})" msgid "please do not specify index ({0}.{1})"
msgstr "veuillez ne pas spécifier d'index ({0}.{1})" msgstr "veuillez ne pas spécifier d'index ({0}.{1})"
#: tiramisu/api.py:211 tiramisu/api.py:948 #: tiramisu/api.py:214 tiramisu/api.py:1061
msgid "please specify index with a follower option ({0}.{1})" msgid "please specify index with a follower option ({0}.{1})"
msgstr "veuillez spécifier un index avec une option suiveuse ({0}.{1})" msgstr "veuillez spécifier un index avec une option suiveuse ({0}.{1})"
#: tiramisu/api.py:234 #: tiramisu/api.py:237
msgid "please specify a valid sub function ({0}.{1}): {2}" msgid "please specify a valid sub function ({0}.{1}): {2}"
msgstr "veuillez spécifier une sous fonction valide ({0}.{1}): {2}" msgstr "veuillez spécifier une sous fonction valide ({0}.{1}): {2}"
#: tiramisu/api.py:447 #: tiramisu/api.py:498
msgid "optiondescription" msgid "optiondescription"
msgstr "option description" msgstr "option description"
#: tiramisu/api.py:452 #: tiramisu/api.py:503
msgid "symlink" msgid "symlink"
msgstr "lien symbolique" msgstr "lien symbolique"
#: tiramisu/api.py:533 #: tiramisu/api.py:608
msgid "" msgid ""
"the option {0} is not a dynamic option, cannot get identifiers with " "the option {0} is not a dynamic option, cannot get identifiers with "
"only_self parameter to True" "only_self parameter to True"
@ -66,15 +66,15 @@ msgstr ""
"l'option {0} n'est pas une option dynamique, ne peut retrouver l'identifiant " "l'option {0} n'est pas une option dynamique, ne peut retrouver l'identifiant "
"avec le paramètre only_self à True" "avec le paramètre only_self à True"
#: tiramisu/api.py:621 #: tiramisu/api.py:698
msgid "cannot get option from a follower symlink without index" msgid "cannot get option from a follower symlink without index"
msgstr "ne peut avoir d'option pour une symlink suiveuse sans index" msgstr "ne peut avoir d'option pour une symlink suiveuse sans index"
#: tiramisu/api.py:699 #: tiramisu/api.py:797
msgid "cannot add this property: \"{0}\"" msgid "cannot add this property: \"{0}\""
msgstr "ne peut pas ajouter cette propriété : \"{0}\"" msgstr "ne peut pas ajouter cette propriété : \"{0}\""
#: tiramisu/api.py:726 #: tiramisu/api.py:824
msgid "" msgid ""
"cannot remove option's property \"{0}\", use permissive instead in option " "cannot remove option's property \"{0}\", use permissive instead in option "
"\"{1}\"" "\"{1}\""
@ -82,11 +82,11 @@ msgstr ""
"ne supprimer la propriété \"{0}\" de l'option, utiliser plutôt permissive " "ne supprimer la propriété \"{0}\" de l'option, utiliser plutôt permissive "
"dans l'option \"{1}\"" "dans l'option \"{1}\""
#: tiramisu/api.py:730 #: tiramisu/api.py:828
msgid "cannot find \"{0}\" in option \"{1}\"" msgid "cannot find \"{0}\" in option \"{1}\""
msgstr "ne peut trouver \"{0}\" dans l'option \"{1}\"" msgstr "ne peut trouver \"{0}\" dans l'option \"{1}\""
#: tiramisu/api.py:735 #: tiramisu/api.py:833
msgid "" msgid ""
"cannot remove option's property \"{0}\", use permissive instead in option " "cannot remove option's property \"{0}\", use permissive instead in option "
"\"{1}\" at index \"{2}\"" "\"{1}\" at index \"{2}\""
@ -94,35 +94,35 @@ msgstr ""
"ne peut supprimer la propriété \"{0}\" de l'option, utilisez plutôt " "ne peut supprimer la propriété \"{0}\" de l'option, utilisez plutôt "
"permissive dans l'option \"{1}\" a l'index \"{2}\"" "permissive dans l'option \"{1}\" a l'index \"{2}\""
#: tiramisu/api.py:739 #: tiramisu/api.py:837
msgid "cannot find \"{0}\" in option \"{1}\" at index \"{2}\"" msgid "cannot find \"{0}\" in option \"{1}\" at index \"{2}\""
msgstr "ne peut trouver \"{0}\" dans l'option \"{1}\" à l'index \"{2}\"" msgstr "ne peut trouver \"{0}\" dans l'option \"{1}\" à l'index \"{2}\""
#: tiramisu/api.py:783 #: tiramisu/api.py:881
msgid "cannot find \"{0}\"" msgid "cannot find \"{0}\""
msgstr "ne peut trouver \"{0}\"" msgstr "ne peut trouver \"{0}\""
#: tiramisu/api.py:965 #: tiramisu/api.py:1078
msgid "only multi value has defaultmulti" msgid "only multi value has defaultmulti"
msgstr "seule les valeurs multiple a l'attribut defaultmulti" msgstr "seule les valeurs multiple a l'attribut defaultmulti"
#: tiramisu/api.py:1129 #: tiramisu/api.py:1243
msgid "please specify a valid sub function ({0}.{1}) for {2}" msgid "please specify a valid sub function ({0}.{1}) for {2}"
msgstr "veuillez spécifier une sous fonction valide ({0}.{1}) pour {2}" msgstr "veuillez spécifier une sous fonction valide ({0}.{1}) pour {2}"
#: tiramisu/api.py:1528 #: tiramisu/api.py:1649
msgid "properties must be a frozenset" msgid "properties must be a frozenset"
msgstr "une propriété doit être de type frozenset" msgstr "une propriété doit être de type frozenset"
#: tiramisu/api.py:1532 tiramisu/api.py:1559 #: tiramisu/api.py:1653 tiramisu/api.py:1680
msgid "unknown when {} (must be in append or remove)" msgid "unknown when {} (must be in append or remove)"
msgstr "value {} inconsistent (doit être append ou remove)" msgstr "value {} inconsistent (doit être append ou remove)"
#: tiramisu/api.py:1545 tiramisu/api.py:1569 tiramisu/config.py:1712 #: tiramisu/api.py:1666 tiramisu/api.py:1690 tiramisu/config.py:1782
msgid "unknown type {}" msgid "unknown type {}"
msgstr "type inconnu {}" msgstr "type inconnu {}"
#: tiramisu/api.py:1935 #: tiramisu/api.py:2061
msgid "do not use unrestraint, nowarnings or forcepermissive together" msgid "do not use unrestraint, nowarnings or forcepermissive together"
msgstr "" msgstr ""
"il ne faut pas utiliser unrestraint, nowarnings ou forcepermissive ensemble" "il ne faut pas utiliser unrestraint, nowarnings ou forcepermissive ensemble"
@ -161,59 +161,59 @@ msgid "optional in ParamDynOption must be a boolean, not {0}"
msgstr "" msgstr ""
"le paramètre optional dans ParamDynOption doit être un booléen, pas {0}" "le paramètre optional dans ParamDynOption doit être un booléen, pas {0}"
#: tiramisu/autolib.py:220 #: tiramisu/autolib.py:222
msgid "cannot add option in information after creating config" msgid "cannot add option in information after creating config"
msgstr "" msgstr ""
"ne peut ajouter une option dans une information après la création de la " "ne peut ajouter une option dans une information après la création de la "
"configuration" "configuration"
#: tiramisu/autolib.py:223 #: tiramisu/autolib.py:225
msgid "cannot redefine option in information" msgid "cannot redefine option in information"
msgstr "on ne peu pas redéfinir une option dans une information" msgstr "on ne peu pas redéfinir une option dans une information"
#: tiramisu/autolib.py:227 #: tiramisu/autolib.py:229
msgid "option in ParamInformation cannot be a symlinkoption" msgid "option in ParamInformation cannot be a symlinkoption"
msgstr "l'option dans ParamInformation ne peut pas être un symlinkoption" msgstr "l'option dans ParamInformation ne peut pas être un symlinkoption"
#: tiramisu/autolib.py:230 #: tiramisu/autolib.py:232
msgid "option in ParamInformation cannot be a follower" msgid "option in ParamInformation cannot be a follower"
msgstr "l'option dans ParamInformation ne peut pas être suiveuse" msgstr "l'option dans ParamInformation ne peut pas être suiveuse"
#: tiramisu/autolib.py:233 #: tiramisu/autolib.py:235
msgid "option in ParamInformation cannot be a dynamic option" msgid "option in ParamInformation cannot be a dynamic option"
msgstr "l'option dans ParamInformation ne peut pas être une option dynamique" msgstr "l'option dans ParamInformation ne peut pas être une option dynamique"
#: tiramisu/autolib.py:294 #: tiramisu/autolib.py:296
msgid "first argument ({0}) must be a function" msgid "first argument ({0}) must be a function"
msgstr "le premier argument ({0}) doit être une fonction" msgstr "le premier argument ({0}) doit être une fonction"
#: tiramisu/autolib.py:298 #: tiramisu/autolib.py:300
msgid "help_function ({0}) must be a function" msgid "help_function ({0}) must be a function"
msgstr "help_function ({0}) doit être une fonction" msgstr "help_function ({0}) doit être une fonction"
#: tiramisu/autolib.py:469 tiramisu/autolib.py:525 #: tiramisu/autolib.py:471 tiramisu/autolib.py:527
msgid "the option {0} is used in a calculation but is invalid ({1})" msgid "the option {0} is used in a calculation but is invalid ({1})"
msgstr "l'option {0} est utilisé dans un calcul mais est invalide ({1})" msgstr "l'option {0} est utilisé dans un calcul mais est invalide ({1})"
#: tiramisu/autolib.py:482 tiramisu/autolib.py:539 tiramisu/autolib.py:589 #: tiramisu/autolib.py:484 tiramisu/autolib.py:541 tiramisu/autolib.py:591
msgid "unable to get value for calculating {0}, {1}" msgid "unable to get value for calculating {0}, {1}"
msgstr "impossible de trouver la valeur pour calculer {0}, {1}" msgstr "impossible de trouver la valeur pour calculer {0}, {1}"
#: tiramisu/autolib.py:518 #: tiramisu/autolib.py:520
msgid "unable to carry out a calculation for {0}, {1}" msgid "unable to carry out a calculation for {0}, {1}"
msgstr "impossible d'effectuer le calcul pour {0}, {1}" msgstr "impossible d'effectuer le calcul pour {0}, {1}"
#: tiramisu/autolib.py:564 #: tiramisu/autolib.py:566
msgid "cannot find information for {0}, {1} is a dynamic option" msgid "cannot find information for {0}, {1} is a dynamic option"
msgstr "ne peut trouver l'information pour {0}, {1} est une option dynamique" msgstr "ne peut trouver l'information pour {0}, {1} est une option dynamique"
#: tiramisu/autolib.py:604 #: tiramisu/autolib.py:606
msgid "option {0} is not a dynoptiondescription or in a dynoptiondescription" msgid "option {0} is not a dynoptiondescription or in a dynoptiondescription"
msgstr "" msgstr ""
"l'option {0} n'est pas une dynoptiondescription ou n'est pas dans une " "l'option {0} n'est pas une dynoptiondescription ou n'est pas dans une "
"dynoptiondescription" "dynoptiondescription"
#: tiramisu/autolib.py:697 #: tiramisu/autolib.py:726
msgid "" msgid ""
"cannot calculate arguments for {0}, {1} with identifier \"{2}\", there is no " "cannot calculate arguments for {0}, {1} with identifier \"{2}\", there is no "
"identifiers" "identifiers"
@ -221,7 +221,7 @@ msgstr ""
"impossible de calculer les arguments de {0}, {1} avec l'identifiant \"{2}\", " "impossible de calculer les arguments de {0}, {1} avec l'identifiant \"{2}\", "
"il n'y a pas d'identifiants" "il n'y a pas d'identifiants"
#: tiramisu/autolib.py:709 #: tiramisu/autolib.py:738
msgid "" msgid ""
"cannot calculate arguments for {0}, {1} with identifier \"{2}\", list of " "cannot calculate arguments for {0}, {1} with identifier \"{2}\", list of "
"valid identifiers: {3}" "valid identifiers: {3}"
@ -229,12 +229,12 @@ msgstr ""
"impossible de calculer les arguments de {0}, {1} avec l'identifiant \"{2}\", " "impossible de calculer les arguments de {0}, {1} avec l'identifiant \"{2}\", "
"voici la liste des identifiants valables : {3}" "voici la liste des identifiants valables : {3}"
#: tiramisu/autolib.py:820 #: tiramisu/autolib.py:853
msgid "the follower {0} must have index in carry_out_calculation!" msgid "the follower {0} must have index in carry_out_calculation!"
msgstr "" msgstr ""
"la variable suiveuse {0} doit avoir un index dans carry_out_calculation!" "la variable suiveuse {0} doit avoir un index dans carry_out_calculation!"
#: tiramisu/autolib.py:932 #: tiramisu/autolib.py:966
msgid "" msgid ""
"unexpected error \"{1}\" in function \"{2}\" with arguments \"{3}\" and " "unexpected error \"{1}\" in function \"{2}\" with arguments \"{3}\" and "
"\"{4}\" for option {0}" "\"{4}\" for option {0}"
@ -242,55 +242,55 @@ msgstr ""
"erreur inattendue \"{1}\" dans la fonction \"{2}\" avec les arguments " "erreur inattendue \"{1}\" dans la fonction \"{2}\" avec les arguments "
"\"{3}\" et \"{4}\" pour l'option {0}" "\"{3}\" et \"{4}\" pour l'option {0}"
#: tiramisu/autolib.py:942 #: tiramisu/autolib.py:976
msgid "unexpected error \"{1}\" in function \"{2}\" for option {0}" msgid "unexpected error \"{1}\" in function \"{2}\" for option {0}"
msgstr "erreur inattendue \"{1}\" dans la fonction \"{2}\" pour l'option {0}" msgstr "erreur inattendue \"{1}\" dans la fonction \"{2}\" pour l'option {0}"
#: tiramisu/config.py:392 tiramisu/config.py:414 tiramisu/config.py:745 #: tiramisu/config.py:448 tiramisu/config.py:471 tiramisu/config.py:815
#: tiramisu/config.py:754 #: tiramisu/config.py:824
msgid "option name \"{0}\" is not unique in {1}" msgid "option name \"{0}\" is not unique in {1}"
msgstr "le nom de l'option \"{0}\" n'est pas unique dans {1}" msgstr "le nom de l'option \"{0}\" n'est pas unique dans {1}"
#: tiramisu/config.py:639 #: tiramisu/config.py:709
msgid "there is no option description for this config (may be GroupConfig)" msgid "there is no option description for this config (may be GroupConfig)"
msgstr "" msgstr ""
"il n'y a pas d'option description trouvé pour cette config (peut être un " "il n'y a pas d'option description trouvé pour cette config (peut être un "
"GroupConfig)" "GroupConfig)"
#: tiramisu/config.py:1010 tiramisu/option/optiondescription.py:74 #: tiramisu/config.py:1080 tiramisu/option/optiondescription.py:74
msgid "option description seems to be part of an other config" msgid "option description seems to be part of an other config"
msgstr "l'option description semble faire parti d'une autre config" msgstr "l'option description semble faire parti d'une autre config"
#: tiramisu/config.py:1172 #: tiramisu/config.py:1242
msgid "parent of {0} not already exists" msgid "parent of {0} not already exists"
msgstr "le parent de {0} n'existe plus" msgstr "le parent de {0} n'existe plus"
#: tiramisu/config.py:1219 #: tiramisu/config.py:1289
msgid "cannot set leadership object has root optiondescription" msgid "cannot set leadership object has root optiondescription"
msgstr "ne peut assigner un objet leadership comme optiondescription racine" msgstr "ne peut assigner un objet leadership comme optiondescription racine"
#: tiramisu/config.py:1222 #: tiramisu/config.py:1292
msgid "cannot set dynoptiondescription object has root optiondescription" msgid "cannot set dynoptiondescription object has root optiondescription"
msgstr "" msgstr ""
"ne peut assigner un objet dynoptiondescription comme optiondescription racine" "ne peut assigner un objet dynoptiondescription comme optiondescription racine"
#: tiramisu/config.py:1269 #: tiramisu/config.py:1339
msgid "child must be a Config, GroupConfig, MixConfig or MetaConfig" msgid "child must be a Config, GroupConfig, MixConfig or MetaConfig"
msgstr "l'enfant doit être une Config, GroupConfig, MixConfig ou MetaConfig" msgstr "l'enfant doit être une Config, GroupConfig, MixConfig ou MetaConfig"
#: tiramisu/config.py:1278 #: tiramisu/config.py:1348
msgid "config name must be uniq in groupconfig for \"{0}\"" msgid "config name must be uniq in groupconfig for \"{0}\""
msgstr "le nom d'un config doit être unique dans un groupconfig pour \"{0}\"" msgstr "le nom d'un config doit être unique dans un groupconfig pour \"{0}\""
#: tiramisu/config.py:1487 #: tiramisu/config.py:1557
msgid "unknown config \"{}\"" msgid "unknown config \"{}\""
msgstr "config \"{}\" inconnue" msgstr "config \"{}\" inconnue"
#: tiramisu/config.py:1512 #: tiramisu/config.py:1582
msgid "child must be a Config, MixConfig or MetaConfig" msgid "child must be a Config, MixConfig or MetaConfig"
msgstr "l'enfant doit être une Config, MixConfig ou MetaConfig" msgstr "l'enfant doit être une Config, MixConfig ou MetaConfig"
#: tiramisu/config.py:1547 #: tiramisu/config.py:1617
msgid "" msgid ""
"force_default, force_default_if_same or force_dont_change_value cannot be " "force_default, force_default_if_same or force_dont_change_value cannot be "
"set with only_config" "set with only_config"
@ -298,43 +298,43 @@ msgstr ""
"force_default, force_default_if_same ou force_dont_change_value ne peuvent " "force_default, force_default_if_same ou force_dont_change_value ne peuvent "
"pas être spécifié avec only_config" "pas être spécifié avec only_config"
#: tiramisu/config.py:1557 #: tiramisu/config.py:1627
msgid "force_default and force_dont_change_value cannot be set together" msgid "force_default and force_dont_change_value cannot be set together"
msgstr "" msgstr ""
"force_default et force_dont_change_value ne peuvent pas être mis ensemble" "force_default et force_dont_change_value ne peuvent pas être mis ensemble"
#: tiramisu/config.py:1708 #: tiramisu/config.py:1778
msgid "config name must be uniq in groupconfig for {0}" msgid "config name must be uniq in groupconfig for {0}"
msgstr "le nom de la config doit être unique dans un groupconfig pour {0}" msgstr "le nom de la config doit être unique dans un groupconfig pour {0}"
#: tiramisu/config.py:1753 #: tiramisu/config.py:1823
msgid "config added has no name, the name is mandatory" msgid "config added has no name, the name is mandatory"
msgstr "la config ajoutée n'a pas de nom, le nom est obligatoire" msgstr "la config ajoutée n'a pas de nom, le nom est obligatoire"
#: tiramisu/config.py:1758 #: tiramisu/config.py:1828
msgid "config name \"{0}\" is not uniq in groupconfig \"{1}\"" msgid "config name \"{0}\" is not uniq in groupconfig \"{1}\""
msgstr "" msgstr ""
"le nom d'un config \"{0}\" n'est pas unique dans le groupconfig \"{1}\"" "le nom d'un config \"{0}\" n'est pas unique dans le groupconfig \"{1}\""
#: tiramisu/config.py:1776 tiramisu/config.py:1782 #: tiramisu/config.py:1846 tiramisu/config.py:1852
msgid "cannot find the config {0}" msgid "cannot find the config {0}"
msgstr "ne peut pas trouver la config {0}" msgstr "ne peut pas trouver la config {0}"
#: tiramisu/config.py:1808 #: tiramisu/config.py:1878
msgid "MetaConfig with optiondescription must have string has child, not {}" msgid "MetaConfig with optiondescription must have string has child, not {}"
msgstr "" msgstr ""
"MetaConfig avec une optiondescription doit avoir un nom comme enfant, pas {}" "MetaConfig avec une optiondescription doit avoir un nom comme enfant, pas {}"
#: tiramisu/config.py:1820 #: tiramisu/config.py:1890
msgid "child must be a Config or MetaConfig" msgid "child must be a Config or MetaConfig"
msgstr "enfant doit être une une Config ou une MetaConfig" msgstr "enfant doit être une une Config ou une MetaConfig"
#: tiramisu/config.py:1825 #: tiramisu/config.py:1895
msgid "all config in metaconfig must have the same optiondescription" msgid "all config in metaconfig must have the same optiondescription"
msgstr "" msgstr ""
"toutes les configs d'une metaconfig doivent avoir la même optiondescription" "toutes les configs d'une metaconfig doivent avoir la même optiondescription"
#: tiramisu/config.py:1842 #: tiramisu/config.py:1912
msgid "metaconfig must have the same optiondescription" msgid "metaconfig must have the same optiondescription"
msgstr "metaconfig doivent avoir la même optiondescription" msgstr "metaconfig doivent avoir la même optiondescription"
@ -350,80 +350,80 @@ msgstr "ou"
msgid " {} " msgid " {} "
msgstr " {} " msgstr " {} "
#: tiramisu/error.py:145 #: tiramisu/error.py:141
msgid "cannot modify the {0} {1} at index \"{2}\" because {3} is frozen" msgid "cannot modify the {0} {1} at index \"{2}\" because {3} is frozen"
msgstr "ne peut modifier {0} {1} à l'index \"{2}\" parce que {3} est frozen" msgstr "ne peut modifier {0} {1} à l'index \"{2}\" parce que {3} est frozen"
#: tiramisu/error.py:149 #: tiramisu/error.py:145
msgid "cannot modify the {0} {1} at index \"{2}\" because is frozen" msgid "cannot modify the {0} {1} at index \"{2}\" because is frozen"
msgstr "ne peut modifier {0} {1} à l'index \"{2}\" parce que frozen" msgstr "ne peut modifier {0} {1} à l'index \"{2}\" parce que frozen"
#: tiramisu/error.py:154 #: tiramisu/error.py:150
msgid "cannot modify the {0} {1} because {2} is frozen" msgid "cannot modify the {0} {1} because {2} is frozen"
msgstr "ne peut modifier {0} {1} parce que {2} est frozen" msgstr "ne peut modifier {0} {1} parce que {2} est frozen"
#: tiramisu/error.py:156 #: tiramisu/error.py:152
msgid "cannot modify the {0} {1} because is frozen" msgid "cannot modify the {0} {1} because is frozen"
msgstr "ne peut modifier {0} {1} parce qu'est frozen" msgstr "ne peut modifier {0} {1} parce qu'est frozen"
#: tiramisu/error.py:160 #: tiramisu/error.py:156
msgid "cannot access to {0} {1} at index \"{2}\" because {3} hasn't value" msgid "cannot access to {0} {1} at index \"{2}\" because {3} hasn't value"
msgstr "" msgstr ""
"ne peut accéder à {0} {1} à l'index \"{2}\" parce que {3} n'a pas de valeur" "ne peut accéder à {0} {1} à l'index \"{2}\" parce que {3} n'a pas de valeur"
#: tiramisu/error.py:164 #: tiramisu/error.py:160
msgid "{0} {1} at index \"{2}\" is mandatory but hasn't value" msgid "{0} {1} at index \"{2}\" is mandatory but hasn't value"
msgstr "{0} {1} à l'index \"{2}\" est obligatoire mais n'a pas de valeur" msgstr "{0} {1} à l'index \"{2}\" est obligatoire mais n'a pas de valeur"
#: tiramisu/error.py:167 #: tiramisu/error.py:163
msgid "cannot access to {0} {1} because {2} hasn't value" msgid "cannot access to {0} {1} because {2} hasn't value"
msgstr "ne peut accéder à {0} {1} parce que {2} n'a pas de valeur" msgstr "ne peut accéder à {0} {1} parce que {2} n'a pas de valeur"
#: tiramisu/error.py:169 #: tiramisu/error.py:165
msgid "{0} {1} is mandatory but hasn't value" msgid "{0} {1} is mandatory but hasn't value"
msgstr "{0} {1} est obligatoire mais n'a pas de valeur" msgstr "{0} {1} est obligatoire mais n'a pas de valeur"
#: tiramisu/error.py:173 #: tiramisu/error.py:169
msgid "cannot access to {0} {1} at index \"{2}\" because {3} has {4} {5}" msgid "cannot access to {0} {1} at index \"{2}\" because {3} has {4} {5}"
msgstr "ne peut accéder à {0} {1} à l'index \"{2}\" parce que {3} a {4} {5}" msgstr "ne peut accéder à {0} {1} à l'index \"{2}\" parce que {3} a {4} {5}"
#: tiramisu/error.py:177 #: tiramisu/error.py:173
msgid "cannot access to {0} {1} at index \"{2}\" because has {3} {4}" msgid "cannot access to {0} {1} at index \"{2}\" because has {3} {4}"
msgstr "ne peut accéder à {0} {1} à l'index \"{2}\" parce que a {3} {4}" msgstr "ne peut accéder à {0} {1} à l'index \"{2}\" parce que a {3} {4}"
#: tiramisu/error.py:182 #: tiramisu/error.py:178
msgid "cannot access to {0} {1} because {2} has {3} {4}" msgid "cannot access to {0} {1} because {2} has {3} {4}"
msgstr "ne peut accéder à {0} {1} parce que {2} a {3} {4}" msgstr "ne peut accéder à {0} {1} parce que {2} a {3} {4}"
#: tiramisu/error.py:184 #: tiramisu/error.py:180
msgid "cannot access to {0} {1} because has {2} {3}" msgid "cannot access to {0} {1} because has {2} {3}"
msgstr "ne peut accéder à l'{0} {1} à cause {2} {3}" msgstr "ne peut accéder à l'{0} {1} à cause {2} {3}"
#: tiramisu/error.py:187 #: tiramisu/error.py:183
msgid "property" msgid "property"
msgstr "de la propriété" msgstr "de la propriété"
#: tiramisu/error.py:189 #: tiramisu/error.py:185
msgid "properties" msgid "properties"
msgstr "des propriétés" msgstr "des propriétés"
#: tiramisu/error.py:204 #: tiramisu/error.py:200
msgid "cannot access to \"{0}\" it's a dynamic option" msgid "cannot access to \"{0}\" it's a dynamic option"
msgstr "ne peut accéder à \"{0}\" c'est une option dynamique" msgstr "ne peut accéder à \"{0}\" c'est une option dynamique"
#: tiramisu/error.py:205 #: tiramisu/error.py:201
msgid "\"{0}\" is not an option" msgid "\"{0}\" is not an option"
msgstr "\"{0}\" n'est pas une option" msgstr "\"{0}\" n'est pas une option"
#: tiramisu/error.py:269 #: tiramisu/error.py:277
msgid "cannot set \"group_type\" attribute for the Leadership {0}" msgid "cannot set \"group_type\" attribute for the Leadership {0}"
msgstr "ne peut mettre l'attribut \"group_type\" pour la Leadership {0}" msgstr "ne peut mettre l'attribut \"group_type\" pour la Leadership {0}"
#: tiramisu/error.py:273 #: tiramisu/error.py:281
msgid "the leader {0} cannot have \"{1}\" property" msgid "the leader {0} cannot have \"{1}\" property"
msgstr "l'option leader {0} ne peut avoir la propriété \"{1}\"" msgstr "l'option leader {0} ne peut avoir la propriété \"{1}\""
#: tiramisu/error.py:277 #: tiramisu/error.py:285
msgid "" msgid ""
"the leader {0} cannot have \"force_default_on_freeze\" or " "the leader {0} cannot have \"force_default_on_freeze\" or "
"\"force_metaconfig_on_freeze\" property without \"frozen\"" "\"force_metaconfig_on_freeze\" property without \"frozen\""
@ -431,25 +431,25 @@ msgstr ""
"l'option leader {0} ne peut avoir de propriété \"force_default_on_freeze\" " "l'option leader {0} ne peut avoir de propriété \"force_default_on_freeze\" "
"ou \"force_metaconfig_on_freeze\" sans \"frozen\"" "ou \"force_metaconfig_on_freeze\" sans \"frozen\""
#: tiramisu/error.py:281 #: tiramisu/error.py:289
msgid "cannot reduce length of the leader {0}" msgid "cannot reduce length of the leader {0}"
msgstr "il est impossible de réduire la longueur du leader {0}" msgstr "il est impossible de réduire la longueur du leader {0}"
#: tiramisu/error.py:283 #: tiramisu/error.py:291
msgid "" msgid ""
"index \"{0}\" is greater than the leadership length \"{1}\" for option {2}" "index \"{0}\" is greater than the leadership length \"{1}\" for option {2}"
msgstr "" msgstr ""
"l'index \"{0}\" est supérieur à la longueur de la leadership \"{1}\" pour " "l'index \"{0}\" est supérieur à la longueur de la leadership \"{1}\" pour "
"l'option {2}" "l'option {2}"
#: tiramisu/error.py:287 #: tiramisu/error.py:295
msgid "" msgid ""
"the follower option {0} has greater length ({1}) than the leader length ({2})" "the follower option {0} has greater length ({1}) than the leader length ({2})"
msgstr "" msgstr ""
"l'option suiveuse {0} a une longueur supérieur ({1}) à la longueur de " "l'option suiveuse {0} a une longueur supérieur ({1}) à la longueur de "
"l'option leader ({2})" "l'option leader ({2})"
#: tiramisu/error.py:292 #: tiramisu/error.py:300
msgid "" msgid ""
"the \"{0}\" function with positional arguments \"{1}\" and keyword arguments " "the \"{0}\" function with positional arguments \"{1}\" and keyword arguments "
"\"{2}\" must not return a list (\"{3}\") for the follower option {4}" "\"{2}\" must not return a list (\"{3}\") for the follower option {4}"
@ -458,7 +458,7 @@ msgstr ""
"nommés \"{2}\" ne doit pas retourner une liste (\"{3}\") pour l'option " "nommés \"{2}\" ne doit pas retourner une liste (\"{3}\") pour l'option "
"suiveuse {4}" "suiveuse {4}"
#: tiramisu/error.py:297 #: tiramisu/error.py:305
msgid "" msgid ""
"the \"{0}\" function must not return a list (\"{1}\") for the follower " "the \"{0}\" function must not return a list (\"{1}\") for the follower "
"option {2}" "option {2}"
@ -466,32 +466,32 @@ msgstr ""
"la fonction \"{0}\" ne doit pas retourner une liste (\"{1}\") pour l'option " "la fonction \"{0}\" ne doit pas retourner une liste (\"{1}\") pour l'option "
"suiveuse {2}" "suiveuse {2}"
#: tiramisu/error.py:333 #: tiramisu/error.py:341
msgid "invalid value" msgid "invalid value"
msgstr "valeur invalide" msgstr "valeur invalide"
#: tiramisu/error.py:343 #: tiramisu/error.py:351
msgid "attention, \"{0}\" could be an invalid {1} for {2}" msgid "attention, \"{0}\" could be an invalid {1} for {2}"
msgstr "attention, \"{0}\" peut être un {1} invalide pour {2}" msgstr "attention, \"{0}\" peut être un {1} invalide pour {2}"
#: tiramisu/error.py:347 #: tiramisu/error.py:355
msgid "attention, \"{0}\" could be an invalid {1} for {2} at index \"{3}\"" msgid "attention, \"{0}\" could be an invalid {1} for {2} at index \"{3}\""
msgstr "" msgstr ""
"attention, \"{0}\" peut être un {1} invalide pour {2} à l'index \"{3}\"" "attention, \"{0}\" peut être un {1} invalide pour {2} à l'index \"{3}\""
#: tiramisu/error.py:370 #: tiramisu/error.py:378
msgid "{2} has an invalid {1}" msgid "{2} has an invalid {1}"
msgstr "{2} a un {1} invalide" msgstr "{2} a un {1} invalide"
#: tiramisu/error.py:372 #: tiramisu/error.py:380
msgid "{2} at index \"{3}\" has an invalid {1}" msgid "{2} at index \"{3}\" has an invalid {1}"
msgstr "{2} à l'index a un invalide {1}" msgstr "{2} à l'index a un invalide {1}"
#: tiramisu/error.py:375 tiramisu/error.py:386 #: tiramisu/error.py:383 tiramisu/error.py:394
msgid "\"{0}\" is an invalid {1} for {2}" msgid "\"{0}\" is an invalid {1} for {2}"
msgstr "\"{0}\" est une valeur invalide pour l'option {2} de type {1}" msgstr "\"{0}\" est une valeur invalide pour l'option {2} de type {1}"
#: tiramisu/error.py:377 #: tiramisu/error.py:385
msgid "\"{0}\" is an invalid {1} for {2} at index \"{3}\"" msgid "\"{0}\" is an invalid {1} for {2} at index \"{3}\""
msgstr "\"{0}\" est un {1} invalide pour {2} à l'index \"{3}\"" msgstr "\"{0}\" est un {1} invalide pour {2} à l'index \"{3}\""
@ -566,7 +566,7 @@ msgstr "la valeur de \"{0}\" est {1}"
msgid "the value of \"{0}\" is not {1}" msgid "the value of \"{0}\" is not {1}"
msgstr "la valeur de \"{0}\" n'est pas {1}" msgstr "la valeur de \"{0}\" n'est pas {1}"
#: tiramisu/option/baseoption.py:76 tiramisu/option/symlinkoption.py:44 #: tiramisu/option/baseoption.py:76 tiramisu/option/symlinkoption.py:43
msgid "\"{0}\" is an invalid name for an option" msgid "\"{0}\" is an invalid name for an option"
msgstr "\"{0}\" est un nom invalide pour une option" msgstr "\"{0}\" est un nom invalide pour une option"
@ -580,19 +580,19 @@ msgstr ""
"type {0} invalide pour des propriétés pour {1}, doit être des caractères ou " "type {0} invalide pour des propriétés pour {1}, doit être des caractères ou "
"un objet Calculation" "un objet Calculation"
#: tiramisu/option/baseoption.py:254 #: tiramisu/option/baseoption.py:253
msgid "information's item for {0} not found: \"{1}\"" msgid "information's item for {0} not found: \"{1}\""
msgstr "item pour {0} dans les informations non trouvée: \"{1}\"" msgstr "item pour {0} dans les informations non trouvée: \"{1}\""
#: tiramisu/option/baseoption.py:272 #: tiramisu/option/baseoption.py:271
msgid "'{0}' ({1}) object attribute '{2}' is read-only" msgid "'{0}' ({1}) object attribute '{2}' is read-only"
msgstr "l'attribut {2} de l'objet '{0}' ({1}) est en lecture seule" msgstr "l'attribut {2} de l'objet '{0}' ({1}) est en lecture seule"
#: tiramisu/option/baseoption.py:313 #: tiramisu/option/baseoption.py:312
msgid "\"{}\" ({}) object attribute \"{}\" is read-only" msgid "\"{}\" ({}) object attribute \"{}\" is read-only"
msgstr "\"{}\" ({}) l'attribut de l'objet \"{}\" est en lecture seule" msgstr "\"{}\" ({}) l'attribut de l'objet \"{}\" est en lecture seule"
#: tiramisu/option/baseoption.py:325 #: tiramisu/option/baseoption.py:324
msgid "{0} not part of any Config" msgid "{0} not part of any Config"
msgstr "{0} ne fait pas parti d'une Config" msgstr "{0} ne fait pas parti d'une Config"
@ -608,19 +608,19 @@ msgstr "adresse de broadcast"
msgid "choice" msgid "choice"
msgstr "choix" msgstr "choix"
#: tiramisu/option/choiceoption.py:53 #: tiramisu/option/choiceoption.py:51
msgid "values must be a tuple or a calculation for {0}" msgid "values must be a tuple or a calculation for {0}"
msgstr "les valeurs doivent être un tuple ou une fonction pour {0}" msgstr "les valeurs doivent être un tuple ou une fonction pour {0}"
#: tiramisu/option/choiceoption.py:76 #: tiramisu/option/choiceoption.py:74
msgid "the calculated values \"{0}\" for \"{1}\" is not a list" msgid "the calculated values \"{0}\" for \"{1}\" is not a list"
msgstr "les valeurs calculées \"{0}\" pour \"{1}\" n'est pas une liste" msgstr "les valeurs calculées \"{0}\" pour \"{1}\" n'est pas une liste"
#: tiramisu/option/choiceoption.py:107 #: tiramisu/option/choiceoption.py:106
msgid "only \"{0}\" is allowed" msgid "only \"{0}\" is allowed"
msgstr "seul \"{0}\" est autorisé" msgstr "seul \"{0}\" est autorisé"
#: tiramisu/option/choiceoption.py:109 #: tiramisu/option/choiceoption.py:108
msgid "only {0} are allowed" msgid "only {0} are allowed"
msgstr "seul {0} sont autorisées" msgstr "seul {0} sont autorisées"
@ -721,17 +721,17 @@ msgstr "ne doit pas être une IP"
msgid "some characters are uppercase" msgid "some characters are uppercase"
msgstr "des caractères sont en majuscule" msgstr "des caractères sont en majuscule"
#: tiramisu/option/dynoptiondescription.py:138 #: tiramisu/option/dynoptiondescription.py:139
msgid "DynOptionDescription identifiers for option {0}, is not a list ({1})" msgid "DynOptionDescription identifiers for option {0}, is not a list ({1})"
msgstr "" msgstr ""
"les identifiants de la DynOptionDescription pour l'option {0}, n'est pas une " "les identifiants de la DynOptionDescription pour l'option {0}, n'est pas une "
"liste ({1})" "liste ({1})"
#: tiramisu/option/dynoptiondescription.py:150 #: tiramisu/option/dynoptiondescription.py:149
msgid "invalid identifier \"{}\" for option {}" msgid "invalid identifier \"{}\" for option {}"
msgstr "identifiant \"{}\" invalide pour l'option \"{}\"" msgstr "identifiant \"{}\" invalide pour l'option \"{}\""
#: tiramisu/option/dynoptiondescription.py:162 #: tiramisu/option/dynoptiondescription.py:163
msgid "" msgid ""
"DynOptionDescription \"{0}\" identifiers return a list with same values " "DynOptionDescription \"{0}\" identifiers return a list with same values "
"\"{1}\"" "\"{1}\""
@ -776,23 +776,23 @@ msgstr "nombre flottant"
msgid "integer" msgid "integer"
msgstr "nombre" msgstr "nombre"
#: tiramisu/option/intoption.py:51 #: tiramisu/option/intoption.py:59
msgid "which is not an integer" msgid "it's not an integer"
msgstr "qui n'est pas un chiffre" msgstr "ce n'est pas un chiffre"
#: tiramisu/option/intoption.py:57 #: tiramisu/option/intoption.py:65
msgid "value should be equal or greater than \"{0}\"" msgid "value should be equal or greater than \"{0}\""
msgstr "la valeur devrait être supérieur ou égal à {0}" msgstr "la valeur devrait être supérieur ou égal à {0}"
#: tiramisu/option/intoption.py:59 #: tiramisu/option/intoption.py:67
msgid "value must be equal or greater than \"{0}\"" msgid "value must be equal or greater than \"{0}\""
msgstr "valeur doit être supérieur ou égal à {0}" msgstr "valeur doit être supérieur ou égal à {0}"
#: tiramisu/option/intoption.py:64 #: tiramisu/option/intoption.py:72
msgid "value should be less than \"{0}\"" msgid "value should be less than \"{0}\""
msgstr "valeur devrait être inférieur à \"{0}\"" msgstr "valeur devrait être inférieur à \"{0}\""
#: tiramisu/option/intoption.py:66 #: tiramisu/option/intoption.py:74
msgid "value must be less than \"{0}\"" msgid "value must be less than \"{0}\""
msgstr "valeur doit être inférieur à \"{0}\"" msgstr "valeur doit être inférieur à \"{0}\""
@ -917,12 +917,12 @@ msgid "the value \"{}\" is not unique"
msgstr "la valeur \"{}\" n'est pas unique" msgstr "la valeur \"{}\" n'est pas unique"
#: tiramisu/option/option.py:361 #: tiramisu/option/option.py:361
msgid "which must not be a list" msgid "it must not be a list"
msgstr "qui ne doit pas être une liste" msgstr "il ne doit pas être une liste"
#: tiramisu/option/option.py:416 tiramisu/option/option.py:454 #: tiramisu/option/option.py:416 tiramisu/option/option.py:454
msgid "which must be a list" msgid "it must be a list"
msgstr "qui doit être une liste" msgstr "il doit être une liste"
#: tiramisu/option/option.py:444 #: tiramisu/option/option.py:444
msgid "which \"{}\" must be a list of list" msgid "which \"{}\" must be a list of list"
@ -942,19 +942,19 @@ msgstr "l'option description racine"
msgid "option \"{0}\" is include in {1} but is also in {2}" msgid "option \"{0}\" is include in {1} but is also in {2}"
msgstr "l'option \"{0}\" est incluse dans {1} mais est aussi dans {2}" msgstr "l'option \"{0}\" est incluse dans {1} mais est aussi dans {2}"
#: tiramisu/option/optiondescription.py:328 #: tiramisu/option/optiondescription.py:315
msgid "children in optiondescription \"{}\" must be a list" msgid "children in optiondescription \"{}\" must be a list"
msgstr "les enfants d'une optiondescription \"{}\" doivent être une liste" msgstr "les enfants d'une optiondescription \"{}\" doivent être une liste"
#: tiramisu/option/optiondescription.py:357 #: tiramisu/option/optiondescription.py:344
msgid "the option name \"{0}\" is duplicate in \"{1}\"" msgid "the option name \"{0}\" is duplicate in \"{1}\""
msgstr "le nom de l'option \"{0}\" est dupliqué dans \"{1}\"" msgstr "le nom de l'option \"{0}\" est dupliqué dans \"{1}\""
#: tiramisu/option/optiondescription.py:408 #: tiramisu/option/optiondescription.py:395
msgid "cannot change group_type if already set (old {0}, new {1})" 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})" msgstr "ne peut changer group_type si déjà spécifié (ancien {0}, nouveau {1})"
#: tiramisu/option/optiondescription.py:413 #: tiramisu/option/optiondescription.py:400
msgid "group_type: {0} not allowed" msgid "group_type: {0} not allowed"
msgstr "group_type : {0} non autorisé" msgstr "group_type : {0} non autorisé"
@ -1036,10 +1036,10 @@ msgid "string"
msgstr "texte" msgstr "texte"
#: tiramisu/option/stroption.py:42 #: tiramisu/option/stroption.py:42
msgid "which is not a string" msgid "it's not a string"
msgstr "qui n'est pas une chaîne de caractères" msgstr "ce n'est pas une chaîne de caractères"
#: tiramisu/option/symlinkoption.py:51 #: tiramisu/option/symlinkoption.py:50
msgid "" msgid ""
"malformed symlink second parameters must be an option for \"{0}\", not {1}" "malformed symlink second parameters must be an option for \"{0}\", not {1}"
msgstr "" msgstr ""
@ -1074,15 +1074,15 @@ msgstr "nom d'utilisateur Unix"
msgid "unix groupname" msgid "unix groupname"
msgstr "nom de groupe Unix" msgstr "nom de groupe Unix"
#: tiramisu/setting.py:258 #: tiramisu/setting.py:281
msgid "can't rebind {0}" msgid "can't rebind {0}"
msgstr "ne peut redéfinir ({0})" msgstr "ne peut redéfinir ({0})"
#: tiramisu/setting.py:265 #: tiramisu/setting.py:288
msgid "can't unbind {0}" msgid "can't unbind {0}"
msgstr "ne peut supprimer ({0})" msgstr "ne peut supprimer ({0})"
#: tiramisu/setting.py:467 #: tiramisu/setting.py:490
msgid "" msgid ""
"invalid property type {type(new_prop)} for {subconfig.option.impl_getname()} " "invalid property type {type(new_prop)} for {subconfig.option.impl_getname()} "
"with {prop.function.__name__} function" "with {prop.function.__name__} function"
@ -1090,19 +1090,19 @@ msgstr ""
"type {type(new_prop)} de la propriété invalide pour la fonction " "type {type(new_prop)} de la propriété invalide pour la fonction "
"{subconfig.option.impl_getname()} with {prop.function.__name__}" "{subconfig.option.impl_getname()} with {prop.function.__name__}"
#: tiramisu/setting.py:606 #: tiramisu/setting.py:629
msgid "permissive must be a frozenset" msgid "permissive must be a frozenset"
msgstr "une permissive doit être de type frozenset" msgstr "une permissive doit être de type frozenset"
#: tiramisu/setting.py:616 #: tiramisu/setting.py:639
msgid "cannot add those permissives: {0}" msgid "cannot add those permissives: {0}"
msgstr "ne peut ajouter ces permissives : {0}" msgstr "ne peut ajouter ces permissives : {0}"
#: tiramisu/setting.py:653 #: tiramisu/setting.py:677
msgid "can't reset properties to the symlinkoption \"{}\"" msgid "can't reset properties to the symlinkoption \"{}\""
msgstr "ne peut réinitialiser les propriétés de la symlinkoption \"{}\"" msgstr "ne peut réinitialiser les propriétés de la symlinkoption \"{}\""
#: tiramisu/setting.py:666 #: tiramisu/setting.py:690
msgid "can't reset permissives to the symlinkoption \"{}\"" msgid "can't reset permissives to the symlinkoption \"{}\""
msgstr "ne peut réinitialiser les permissive de la symlinkoption \"{}\"" msgstr "ne peut réinitialiser les permissive de la symlinkoption \"{}\""
@ -1132,17 +1132,17 @@ msgstr ""
msgid "unknown action {}" msgid "unknown action {}"
msgstr "action inconnue {}" msgstr "action inconnue {}"
#: tiramisu/value.py:557 tiramisu/value.py:859 #: tiramisu/value.py:609 tiramisu/value.py:900
msgid "set owner \"{0}\" is forbidden" msgid "set owner \"{0}\" is forbidden"
msgstr "assigner l'utilisateur \"{0}\" est interdit" msgstr "assigner l'utilisateur \"{0}\" est interdit"
#: tiramisu/value.py:564 #: tiramisu/value.py:616
msgid "\"{0}\" is a default value, so we cannot change owner to \"{1}\"" msgid "\"{0}\" is a default value, so we cannot change owner to \"{1}\""
msgstr "" msgstr ""
"\"{0}\" est une valeur par défaut, donc ne peut changer d'utilisateur à " "\"{0}\" est une valeur par défaut, donc ne peut changer d'utilisateur à "
"\"{1}\"" "\"{1}\""
#: tiramisu/value.py:845 #: tiramisu/value.py:886
msgid "information's item not found \"{}\"" msgid "information's item not found \"{}\""
msgstr "l'information de l'objet ne sont pas trouvé \"{}\"" msgstr "l'information de l'objet ne sont pas trouvé \"{}\""

View file

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2025-10-04 15:46+0200\n" "POT-Creation-Date: 2025-12-22 08:50+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -15,103 +15,103 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
#: tiramisu/api.py:86 #: tiramisu/api.py:87
msgid "Settings:" msgid "Settings:"
msgstr "" msgstr ""
#: tiramisu/api.py:90 #: tiramisu/api.py:91
msgid "Access to option without verifying permissive properties" msgid "Access to option without verifying permissive properties"
msgstr "" msgstr ""
#: tiramisu/api.py:95 #: tiramisu/api.py:96
msgid "Access to option without property restriction" msgid "Access to option without property restriction"
msgstr "" msgstr ""
#: tiramisu/api.py:100 #: tiramisu/api.py:101
msgid "Do not warnings during validation" msgid "Do not warnings during validation"
msgstr "" msgstr ""
#: tiramisu/api.py:104 #: tiramisu/api.py:105
msgid "Commands:" msgid "Commands:"
msgstr "" msgstr ""
#: tiramisu/api.py:118 tiramisu/api.py:1963 #: tiramisu/api.py:119 tiramisu/api.py:2089
msgid "please specify a valid sub function ({0}.{1})" msgid "please specify a valid sub function ({0}.{1})"
msgstr "" msgstr ""
#: tiramisu/api.py:206 #: tiramisu/api.py:209
msgid "please do not specify index ({0}.{1})" msgid "please do not specify index ({0}.{1})"
msgstr "" msgstr ""
#: tiramisu/api.py:211 tiramisu/api.py:948 #: tiramisu/api.py:214 tiramisu/api.py:1061
msgid "please specify index with a follower option ({0}.{1})" msgid "please specify index with a follower option ({0}.{1})"
msgstr "" msgstr ""
#: tiramisu/api.py:234 #: tiramisu/api.py:237
msgid "please specify a valid sub function ({0}.{1}): {2}" msgid "please specify a valid sub function ({0}.{1}): {2}"
msgstr "" msgstr ""
#: tiramisu/api.py:447 #: tiramisu/api.py:498
msgid "optiondescription" msgid "optiondescription"
msgstr "" msgstr ""
#: tiramisu/api.py:452 #: tiramisu/api.py:503
msgid "symlink" msgid "symlink"
msgstr "" msgstr ""
#: tiramisu/api.py:533 #: tiramisu/api.py:608
msgid "the option {0} is not a dynamic option, cannot get identifiers with only_self parameter to True" msgid "the option {0} is not a dynamic option, cannot get identifiers with only_self parameter to True"
msgstr "" msgstr ""
#: tiramisu/api.py:621 #: tiramisu/api.py:698
msgid "cannot get option from a follower symlink without index" msgid "cannot get option from a follower symlink without index"
msgstr "" msgstr ""
#: tiramisu/api.py:699 #: tiramisu/api.py:797
msgid "cannot add this property: \"{0}\"" msgid "cannot add this property: \"{0}\""
msgstr "" msgstr ""
#: tiramisu/api.py:726 #: tiramisu/api.py:824
msgid "cannot remove option's property \"{0}\", use permissive instead in option \"{1}\"" msgid "cannot remove option's property \"{0}\", use permissive instead in option \"{1}\""
msgstr "" msgstr ""
#: tiramisu/api.py:730 #: tiramisu/api.py:828
msgid "cannot find \"{0}\" in option \"{1}\"" msgid "cannot find \"{0}\" in option \"{1}\""
msgstr "" msgstr ""
#: tiramisu/api.py:735 #: tiramisu/api.py:833
msgid "cannot remove option's property \"{0}\", use permissive instead in option \"{1}\" at index \"{2}\"" msgid "cannot remove option's property \"{0}\", use permissive instead in option \"{1}\" at index \"{2}\""
msgstr "" msgstr ""
#: tiramisu/api.py:739 #: tiramisu/api.py:837
msgid "cannot find \"{0}\" in option \"{1}\" at index \"{2}\"" msgid "cannot find \"{0}\" in option \"{1}\" at index \"{2}\""
msgstr "" msgstr ""
#: tiramisu/api.py:783 #: tiramisu/api.py:881
msgid "cannot find \"{0}\"" msgid "cannot find \"{0}\""
msgstr "" msgstr ""
#: tiramisu/api.py:965 #: tiramisu/api.py:1078
msgid "only multi value has defaultmulti" msgid "only multi value has defaultmulti"
msgstr "" msgstr ""
#: tiramisu/api.py:1129 #: tiramisu/api.py:1243
msgid "please specify a valid sub function ({0}.{1}) for {2}" msgid "please specify a valid sub function ({0}.{1}) for {2}"
msgstr "" msgstr ""
#: tiramisu/api.py:1528 #: tiramisu/api.py:1649
msgid "properties must be a frozenset" msgid "properties must be a frozenset"
msgstr "" msgstr ""
#: tiramisu/api.py:1532 tiramisu/api.py:1559 #: tiramisu/api.py:1653 tiramisu/api.py:1680
msgid "unknown when {} (must be in append or remove)" msgid "unknown when {} (must be in append or remove)"
msgstr "" msgstr ""
#: tiramisu/api.py:1545 tiramisu/api.py:1569 tiramisu/config.py:1712 #: tiramisu/api.py:1666 tiramisu/api.py:1690 tiramisu/config.py:1782
msgid "unknown type {}" msgid "unknown type {}"
msgstr "" msgstr ""
#: tiramisu/api.py:1935 #: tiramisu/api.py:2061
msgid "do not use unrestraint, nowarnings or forcepermissive together" msgid "do not use unrestraint, nowarnings or forcepermissive together"
msgstr "" msgstr ""
@ -147,152 +147,152 @@ msgstr ""
msgid "optional in ParamDynOption must be a boolean, not {0}" msgid "optional in ParamDynOption must be a boolean, not {0}"
msgstr "" msgstr ""
#: tiramisu/autolib.py:220 #: tiramisu/autolib.py:222
msgid "cannot add option in information after creating config" msgid "cannot add option in information after creating config"
msgstr "" msgstr ""
#: tiramisu/autolib.py:223 #: tiramisu/autolib.py:225
msgid "cannot redefine option in information" msgid "cannot redefine option in information"
msgstr "" msgstr ""
#: tiramisu/autolib.py:227 #: tiramisu/autolib.py:229
msgid "option in ParamInformation cannot be a symlinkoption" msgid "option in ParamInformation cannot be a symlinkoption"
msgstr "" msgstr ""
#: tiramisu/autolib.py:230 #: tiramisu/autolib.py:232
msgid "option in ParamInformation cannot be a follower" msgid "option in ParamInformation cannot be a follower"
msgstr "" msgstr ""
#: tiramisu/autolib.py:233 #: tiramisu/autolib.py:235
msgid "option in ParamInformation cannot be a dynamic option" msgid "option in ParamInformation cannot be a dynamic option"
msgstr "" msgstr ""
#: tiramisu/autolib.py:294 #: tiramisu/autolib.py:296
msgid "first argument ({0}) must be a function" msgid "first argument ({0}) must be a function"
msgstr "" msgstr ""
#: tiramisu/autolib.py:298 #: tiramisu/autolib.py:300
msgid "help_function ({0}) must be a function" msgid "help_function ({0}) must be a function"
msgstr "" msgstr ""
#: tiramisu/autolib.py:469 tiramisu/autolib.py:525 #: tiramisu/autolib.py:471 tiramisu/autolib.py:527
msgid "the option {0} is used in a calculation but is invalid ({1})" msgid "the option {0} is used in a calculation but is invalid ({1})"
msgstr "" msgstr ""
#: tiramisu/autolib.py:482 tiramisu/autolib.py:539 tiramisu/autolib.py:589 #: tiramisu/autolib.py:484 tiramisu/autolib.py:541 tiramisu/autolib.py:591
msgid "unable to get value for calculating {0}, {1}" msgid "unable to get value for calculating {0}, {1}"
msgstr "" msgstr ""
#: tiramisu/autolib.py:518 #: tiramisu/autolib.py:520
msgid "unable to carry out a calculation for {0}, {1}" msgid "unable to carry out a calculation for {0}, {1}"
msgstr "" msgstr ""
#: tiramisu/autolib.py:564 #: tiramisu/autolib.py:566
msgid "cannot find information for {0}, {1} is a dynamic option" msgid "cannot find information for {0}, {1} is a dynamic option"
msgstr "" msgstr ""
#: tiramisu/autolib.py:604 #: tiramisu/autolib.py:606
msgid "option {0} is not a dynoptiondescription or in a dynoptiondescription" msgid "option {0} is not a dynoptiondescription or in a dynoptiondescription"
msgstr "" msgstr ""
#: tiramisu/autolib.py:697 #: tiramisu/autolib.py:726
msgid "cannot calculate arguments for {0}, {1} with identifier \"{2}\", there is no identifiers" msgid "cannot calculate arguments for {0}, {1} with identifier \"{2}\", there is no identifiers"
msgstr "" msgstr ""
#: tiramisu/autolib.py:709 #: tiramisu/autolib.py:738
msgid "cannot calculate arguments for {0}, {1} with identifier \"{2}\", list of valid identifiers: {3}" msgid "cannot calculate arguments for {0}, {1} with identifier \"{2}\", list of valid identifiers: {3}"
msgstr "" msgstr ""
#: tiramisu/autolib.py:820 #: tiramisu/autolib.py:853
msgid "the follower {0} must have index in carry_out_calculation!" msgid "the follower {0} must have index in carry_out_calculation!"
msgstr "" msgstr ""
#: tiramisu/autolib.py:932 #: tiramisu/autolib.py:966
msgid "unexpected error \"{1}\" in function \"{2}\" with arguments \"{3}\" and \"{4}\" for option {0}" msgid "unexpected error \"{1}\" in function \"{2}\" with arguments \"{3}\" and \"{4}\" for option {0}"
msgstr "" msgstr ""
#: tiramisu/autolib.py:942 #: tiramisu/autolib.py:976
msgid "unexpected error \"{1}\" in function \"{2}\" for option {0}" msgid "unexpected error \"{1}\" in function \"{2}\" for option {0}"
msgstr "" msgstr ""
#: tiramisu/config.py:392 tiramisu/config.py:414 tiramisu/config.py:745 #: tiramisu/config.py:448 tiramisu/config.py:471 tiramisu/config.py:815
#: tiramisu/config.py:754 #: tiramisu/config.py:824
msgid "option name \"{0}\" is not unique in {1}" msgid "option name \"{0}\" is not unique in {1}"
msgstr "" msgstr ""
#: tiramisu/config.py:639 #: tiramisu/config.py:709
msgid "there is no option description for this config (may be GroupConfig)" msgid "there is no option description for this config (may be GroupConfig)"
msgstr "" msgstr ""
#: tiramisu/config.py:1010 tiramisu/option/optiondescription.py:74 #: tiramisu/config.py:1080 tiramisu/option/optiondescription.py:74
msgid "option description seems to be part of an other config" msgid "option description seems to be part of an other config"
msgstr "" msgstr ""
#: tiramisu/config.py:1172 #: tiramisu/config.py:1242
msgid "parent of {0} not already exists" msgid "parent of {0} not already exists"
msgstr "" msgstr ""
#: tiramisu/config.py:1219 #: tiramisu/config.py:1289
msgid "cannot set leadership object has root optiondescription" msgid "cannot set leadership object has root optiondescription"
msgstr "" msgstr ""
#: tiramisu/config.py:1222 #: tiramisu/config.py:1292
msgid "cannot set dynoptiondescription object has root optiondescription" msgid "cannot set dynoptiondescription object has root optiondescription"
msgstr "" msgstr ""
#: tiramisu/config.py:1269 #: tiramisu/config.py:1339
msgid "child must be a Config, GroupConfig, MixConfig or MetaConfig" msgid "child must be a Config, GroupConfig, MixConfig or MetaConfig"
msgstr "" msgstr ""
#: tiramisu/config.py:1278 #: tiramisu/config.py:1348
msgid "config name must be uniq in groupconfig for \"{0}\"" msgid "config name must be uniq in groupconfig for \"{0}\""
msgstr "" msgstr ""
#: tiramisu/config.py:1487 #: tiramisu/config.py:1557
msgid "unknown config \"{}\"" msgid "unknown config \"{}\""
msgstr "" msgstr ""
#: tiramisu/config.py:1512 #: tiramisu/config.py:1582
msgid "child must be a Config, MixConfig or MetaConfig" msgid "child must be a Config, MixConfig or MetaConfig"
msgstr "" msgstr ""
#: tiramisu/config.py:1547 #: tiramisu/config.py:1617
msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config" msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config"
msgstr "" msgstr ""
#: tiramisu/config.py:1557 #: tiramisu/config.py:1627
msgid "force_default and force_dont_change_value cannot be set together" msgid "force_default and force_dont_change_value cannot be set together"
msgstr "" msgstr ""
#: tiramisu/config.py:1708 #: tiramisu/config.py:1778
msgid "config name must be uniq in groupconfig for {0}" msgid "config name must be uniq in groupconfig for {0}"
msgstr "" msgstr ""
#: tiramisu/config.py:1753 #: tiramisu/config.py:1823
msgid "config added has no name, the name is mandatory" msgid "config added has no name, the name is mandatory"
msgstr "" msgstr ""
#: tiramisu/config.py:1758 #: tiramisu/config.py:1828
msgid "config name \"{0}\" is not uniq in groupconfig \"{1}\"" msgid "config name \"{0}\" is not uniq in groupconfig \"{1}\""
msgstr "" msgstr ""
#: tiramisu/config.py:1776 tiramisu/config.py:1782 #: tiramisu/config.py:1846 tiramisu/config.py:1852
msgid "cannot find the config {0}" msgid "cannot find the config {0}"
msgstr "" msgstr ""
#: tiramisu/config.py:1808 #: tiramisu/config.py:1878
msgid "MetaConfig with optiondescription must have string has child, not {}" msgid "MetaConfig with optiondescription must have string has child, not {}"
msgstr "" msgstr ""
#: tiramisu/config.py:1820 #: tiramisu/config.py:1890
msgid "child must be a Config or MetaConfig" msgid "child must be a Config or MetaConfig"
msgstr "" msgstr ""
#: tiramisu/config.py:1825 #: tiramisu/config.py:1895
msgid "all config in metaconfig must have the same optiondescription" msgid "all config in metaconfig must have the same optiondescription"
msgstr "" msgstr ""
#: tiramisu/config.py:1842 #: tiramisu/config.py:1912
msgid "metaconfig must have the same optiondescription" msgid "metaconfig must have the same optiondescription"
msgstr "" msgstr ""
@ -308,127 +308,127 @@ msgstr ""
msgid " {} " msgid " {} "
msgstr "" msgstr ""
#: tiramisu/error.py:145 #: tiramisu/error.py:141
msgid "cannot modify the {0} {1} at index \"{2}\" because {3} is frozen" msgid "cannot modify the {0} {1} at index \"{2}\" because {3} is frozen"
msgstr "" msgstr ""
#: tiramisu/error.py:149 #: tiramisu/error.py:145
msgid "cannot modify the {0} {1} at index \"{2}\" because is frozen" msgid "cannot modify the {0} {1} at index \"{2}\" because is frozen"
msgstr "" msgstr ""
#: tiramisu/error.py:154 #: tiramisu/error.py:150
msgid "cannot modify the {0} {1} because {2} is frozen" msgid "cannot modify the {0} {1} because {2} is frozen"
msgstr "" msgstr ""
#: tiramisu/error.py:156 #: tiramisu/error.py:152
msgid "cannot modify the {0} {1} because is frozen" msgid "cannot modify the {0} {1} because is frozen"
msgstr "" msgstr ""
#: tiramisu/error.py:160 #: tiramisu/error.py:156
msgid "cannot access to {0} {1} at index \"{2}\" because {3} hasn't value" msgid "cannot access to {0} {1} at index \"{2}\" because {3} hasn't value"
msgstr "" msgstr ""
#: tiramisu/error.py:164 #: tiramisu/error.py:160
msgid "{0} {1} at index \"{2}\" is mandatory but hasn't value" msgid "{0} {1} at index \"{2}\" is mandatory but hasn't value"
msgstr "" msgstr ""
#: tiramisu/error.py:167 #: tiramisu/error.py:163
msgid "cannot access to {0} {1} because {2} hasn't value" msgid "cannot access to {0} {1} because {2} hasn't value"
msgstr "" msgstr ""
#: tiramisu/error.py:169 #: tiramisu/error.py:165
msgid "{0} {1} is mandatory but hasn't value" msgid "{0} {1} is mandatory but hasn't value"
msgstr "" msgstr ""
#: tiramisu/error.py:173 #: tiramisu/error.py:169
msgid "cannot access to {0} {1} at index \"{2}\" because {3} has {4} {5}" msgid "cannot access to {0} {1} at index \"{2}\" because {3} has {4} {5}"
msgstr "" msgstr ""
#: tiramisu/error.py:177 #: tiramisu/error.py:173
msgid "cannot access to {0} {1} at index \"{2}\" because has {3} {4}" msgid "cannot access to {0} {1} at index \"{2}\" because has {3} {4}"
msgstr "" msgstr ""
#: tiramisu/error.py:182 #: tiramisu/error.py:178
msgid "cannot access to {0} {1} because {2} has {3} {4}" msgid "cannot access to {0} {1} because {2} has {3} {4}"
msgstr "" msgstr ""
#: tiramisu/error.py:184 #: tiramisu/error.py:180
msgid "cannot access to {0} {1} because has {2} {3}" msgid "cannot access to {0} {1} because has {2} {3}"
msgstr "" msgstr ""
#: tiramisu/error.py:187 #: tiramisu/error.py:183
msgid "property" msgid "property"
msgstr "" msgstr ""
#: tiramisu/error.py:189 #: tiramisu/error.py:185
msgid "properties" msgid "properties"
msgstr "" msgstr ""
#: tiramisu/error.py:204 #: tiramisu/error.py:200
msgid "cannot access to \"{0}\" it's a dynamic option" msgid "cannot access to \"{0}\" it's a dynamic option"
msgstr "" msgstr ""
#: tiramisu/error.py:205 #: tiramisu/error.py:201
msgid "\"{0}\" is not an option" msgid "\"{0}\" is not an option"
msgstr "" msgstr ""
#: tiramisu/error.py:269 #: tiramisu/error.py:277
msgid "cannot set \"group_type\" attribute for the Leadership {0}" msgid "cannot set \"group_type\" attribute for the Leadership {0}"
msgstr "" msgstr ""
#: tiramisu/error.py:273 #: tiramisu/error.py:281
msgid "the leader {0} cannot have \"{1}\" property" msgid "the leader {0} cannot have \"{1}\" property"
msgstr "" msgstr ""
#: tiramisu/error.py:277 #: tiramisu/error.py:285
msgid "the leader {0} cannot have \"force_default_on_freeze\" or \"force_metaconfig_on_freeze\" property without \"frozen\"" msgid "the leader {0} cannot have \"force_default_on_freeze\" or \"force_metaconfig_on_freeze\" property without \"frozen\""
msgstr "" msgstr ""
#: tiramisu/error.py:281 #: tiramisu/error.py:289
msgid "cannot reduce length of the leader {0}" msgid "cannot reduce length of the leader {0}"
msgstr "" msgstr ""
#: tiramisu/error.py:283 #: tiramisu/error.py:291
msgid "index \"{0}\" is greater than the leadership length \"{1}\" for option {2}" msgid "index \"{0}\" is greater than the leadership length \"{1}\" for option {2}"
msgstr "" msgstr ""
#: tiramisu/error.py:287 #: tiramisu/error.py:295
msgid "the follower option {0} has greater length ({1}) than the leader length ({2})" msgid "the follower option {0} has greater length ({1}) than the leader length ({2})"
msgstr "" msgstr ""
#: tiramisu/error.py:292 #: tiramisu/error.py:300
msgid "the \"{0}\" function with positional arguments \"{1}\" and keyword arguments \"{2}\" must not return a list (\"{3}\") for the follower option {4}" msgid "the \"{0}\" function with positional arguments \"{1}\" and keyword arguments \"{2}\" must not return a list (\"{3}\") for the follower option {4}"
msgstr "" msgstr ""
#: tiramisu/error.py:297 #: tiramisu/error.py:305
msgid "the \"{0}\" function must not return a list (\"{1}\") for the follower option {2}" msgid "the \"{0}\" function must not return a list (\"{1}\") for the follower option {2}"
msgstr "" msgstr ""
#: tiramisu/error.py:333 #: tiramisu/error.py:341
msgid "invalid value" msgid "invalid value"
msgstr "" msgstr ""
#: tiramisu/error.py:343 #: tiramisu/error.py:351
msgid "attention, \"{0}\" could be an invalid {1} for {2}" msgid "attention, \"{0}\" could be an invalid {1} for {2}"
msgstr "" msgstr ""
#: tiramisu/error.py:347 #: tiramisu/error.py:355
msgid "attention, \"{0}\" could be an invalid {1} for {2} at index \"{3}\"" msgid "attention, \"{0}\" could be an invalid {1} for {2} at index \"{3}\""
msgstr "" msgstr ""
#: tiramisu/error.py:370 #: tiramisu/error.py:378
msgid "{2} has an invalid {1}" msgid "{2} has an invalid {1}"
msgstr "" msgstr ""
#: tiramisu/error.py:372 #: tiramisu/error.py:380
msgid "{2} at index \"{3}\" has an invalid {1}" msgid "{2} at index \"{3}\" has an invalid {1}"
msgstr "" msgstr ""
#: tiramisu/error.py:375 tiramisu/error.py:386 #: tiramisu/error.py:383 tiramisu/error.py:394
msgid "\"{0}\" is an invalid {1} for {2}" msgid "\"{0}\" is an invalid {1} for {2}"
msgstr "" msgstr ""
#: tiramisu/error.py:377 #: tiramisu/error.py:385
msgid "\"{0}\" is an invalid {1} for {2} at index \"{3}\"" msgid "\"{0}\" is an invalid {1} for {2} at index \"{3}\""
msgstr "" msgstr ""
@ -488,7 +488,7 @@ msgstr ""
msgid "the value of \"{0}\" is not {1}" msgid "the value of \"{0}\" is not {1}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:76 tiramisu/option/symlinkoption.py:44 #: tiramisu/option/baseoption.py:76 tiramisu/option/symlinkoption.py:43
msgid "\"{0}\" is an invalid name for an option" msgid "\"{0}\" is an invalid name for an option"
msgstr "" msgstr ""
@ -500,19 +500,19 @@ msgstr ""
msgid "invalid property type {0} for {1}, must be a string or a Calculation" msgid "invalid property type {0} for {1}, must be a string or a Calculation"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:254 #: tiramisu/option/baseoption.py:253
msgid "information's item for {0} not found: \"{1}\"" msgid "information's item for {0} not found: \"{1}\""
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:272 #: tiramisu/option/baseoption.py:271
msgid "'{0}' ({1}) object attribute '{2}' is read-only" msgid "'{0}' ({1}) object attribute '{2}' is read-only"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:313 #: tiramisu/option/baseoption.py:312
msgid "\"{}\" ({}) object attribute \"{}\" is read-only" msgid "\"{}\" ({}) object attribute \"{}\" is read-only"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:325 #: tiramisu/option/baseoption.py:324
msgid "{0} not part of any Config" msgid "{0} not part of any Config"
msgstr "" msgstr ""
@ -528,19 +528,19 @@ msgstr ""
msgid "choice" msgid "choice"
msgstr "" msgstr ""
#: tiramisu/option/choiceoption.py:53 #: tiramisu/option/choiceoption.py:51
msgid "values must be a tuple or a calculation for {0}" msgid "values must be a tuple or a calculation for {0}"
msgstr "" msgstr ""
#: tiramisu/option/choiceoption.py:76 #: tiramisu/option/choiceoption.py:74
msgid "the calculated values \"{0}\" for \"{1}\" is not a list" msgid "the calculated values \"{0}\" for \"{1}\" is not a list"
msgstr "" msgstr ""
#: tiramisu/option/choiceoption.py:107 #: tiramisu/option/choiceoption.py:106
msgid "only \"{0}\" is allowed" msgid "only \"{0}\" is allowed"
msgstr "" msgstr ""
#: tiramisu/option/choiceoption.py:109 #: tiramisu/option/choiceoption.py:108
msgid "only {0} are allowed" msgid "only {0} are allowed"
msgstr "" msgstr ""
@ -625,15 +625,15 @@ msgstr ""
msgid "some characters are uppercase" msgid "some characters are uppercase"
msgstr "" msgstr ""
#: tiramisu/option/dynoptiondescription.py:138 #: tiramisu/option/dynoptiondescription.py:139
msgid "DynOptionDescription identifiers for option {0}, is not a list ({1})" msgid "DynOptionDescription identifiers for option {0}, is not a list ({1})"
msgstr "" msgstr ""
#: tiramisu/option/dynoptiondescription.py:150 #: tiramisu/option/dynoptiondescription.py:149
msgid "invalid identifier \"{}\" for option {}" msgid "invalid identifier \"{}\" for option {}"
msgstr "" msgstr ""
#: tiramisu/option/dynoptiondescription.py:162 #: tiramisu/option/dynoptiondescription.py:163
msgid "DynOptionDescription \"{0}\" identifiers return a list with same values \"{1}\"" msgid "DynOptionDescription \"{0}\" identifiers return a list with same values \"{1}\""
msgstr "" msgstr ""
@ -673,23 +673,23 @@ msgstr ""
msgid "integer" msgid "integer"
msgstr "" msgstr ""
#: tiramisu/option/intoption.py:51 #: tiramisu/option/intoption.py:59
msgid "which is not an integer" msgid "it's not an integer"
msgstr "" msgstr ""
#: tiramisu/option/intoption.py:57 #: tiramisu/option/intoption.py:65
msgid "value should be equal or greater than \"{0}\"" msgid "value should be equal or greater than \"{0}\""
msgstr "" msgstr ""
#: tiramisu/option/intoption.py:59 #: tiramisu/option/intoption.py:67
msgid "value must be equal or greater than \"{0}\"" msgid "value must be equal or greater than \"{0}\""
msgstr "" msgstr ""
#: tiramisu/option/intoption.py:64 #: tiramisu/option/intoption.py:72
msgid "value should be less than \"{0}\"" msgid "value should be less than \"{0}\""
msgstr "" msgstr ""
#: tiramisu/option/intoption.py:66 #: tiramisu/option/intoption.py:74
msgid "value must be less than \"{0}\"" msgid "value must be less than \"{0}\""
msgstr "" msgstr ""
@ -802,11 +802,11 @@ msgid "the value \"{}\" is not unique"
msgstr "" msgstr ""
#: tiramisu/option/option.py:361 #: tiramisu/option/option.py:361
msgid "which must not be a list" msgid "it must not be a list"
msgstr "" msgstr ""
#: tiramisu/option/option.py:416 tiramisu/option/option.py:454 #: tiramisu/option/option.py:416 tiramisu/option/option.py:454
msgid "which must be a list" msgid "it must be a list"
msgstr "" msgstr ""
#: tiramisu/option/option.py:444 #: tiramisu/option/option.py:444
@ -827,19 +827,19 @@ msgstr ""
msgid "option \"{0}\" is include in {1} but is also in {2}" msgid "option \"{0}\" is include in {1} but is also in {2}"
msgstr "" msgstr ""
#: tiramisu/option/optiondescription.py:328 #: tiramisu/option/optiondescription.py:315
msgid "children in optiondescription \"{}\" must be a list" msgid "children in optiondescription \"{}\" must be a list"
msgstr "" msgstr ""
#: tiramisu/option/optiondescription.py:357 #: tiramisu/option/optiondescription.py:344
msgid "the option name \"{0}\" is duplicate in \"{1}\"" msgid "the option name \"{0}\" is duplicate in \"{1}\""
msgstr "" msgstr ""
#: tiramisu/option/optiondescription.py:408 #: tiramisu/option/optiondescription.py:395
msgid "cannot change group_type if already set (old {0}, new {1})" msgid "cannot change group_type if already set (old {0}, new {1})"
msgstr "" msgstr ""
#: tiramisu/option/optiondescription.py:413 #: tiramisu/option/optiondescription.py:400
msgid "group_type: {0} not allowed" msgid "group_type: {0} not allowed"
msgstr "" msgstr ""
@ -921,10 +921,10 @@ msgid "string"
msgstr "" msgstr ""
#: tiramisu/option/stroption.py:42 #: tiramisu/option/stroption.py:42
msgid "which is not a string" msgid "it's not a string"
msgstr "" msgstr ""
#: tiramisu/option/symlinkoption.py:51 #: tiramisu/option/symlinkoption.py:50
msgid "malformed symlink second parameters must be an option for \"{0}\", not {1}" msgid "malformed symlink second parameters must be an option for \"{0}\", not {1}"
msgstr "" msgstr ""
@ -956,31 +956,31 @@ msgstr ""
msgid "unix groupname" msgid "unix groupname"
msgstr "" msgstr ""
#: tiramisu/setting.py:258 #: tiramisu/setting.py:281
msgid "can't rebind {0}" msgid "can't rebind {0}"
msgstr "" msgstr ""
#: tiramisu/setting.py:265 #: tiramisu/setting.py:288
msgid "can't unbind {0}" msgid "can't unbind {0}"
msgstr "" msgstr ""
#: tiramisu/setting.py:467 #: tiramisu/setting.py:490
msgid "invalid property type {type(new_prop)} for {subconfig.option.impl_getname()} with {prop.function.__name__} function" msgid "invalid property type {type(new_prop)} for {subconfig.option.impl_getname()} with {prop.function.__name__} function"
msgstr "" msgstr ""
#: tiramisu/setting.py:606 #: tiramisu/setting.py:629
msgid "permissive must be a frozenset" msgid "permissive must be a frozenset"
msgstr "" msgstr ""
#: tiramisu/setting.py:616 #: tiramisu/setting.py:639
msgid "cannot add those permissives: {0}" msgid "cannot add those permissives: {0}"
msgstr "" msgstr ""
#: tiramisu/setting.py:653 #: tiramisu/setting.py:677
msgid "can't reset properties to the symlinkoption \"{}\"" msgid "can't reset properties to the symlinkoption \"{}\""
msgstr "" msgstr ""
#: tiramisu/setting.py:666 #: tiramisu/setting.py:690
msgid "can't reset permissives to the symlinkoption \"{}\"" msgid "can't reset permissives to the symlinkoption \"{}\""
msgstr "" msgstr ""
@ -1008,15 +1008,15 @@ msgstr ""
msgid "unknown action {}" msgid "unknown action {}"
msgstr "" msgstr ""
#: tiramisu/value.py:557 tiramisu/value.py:859 #: tiramisu/value.py:609 tiramisu/value.py:900
msgid "set owner \"{0}\" is forbidden" msgid "set owner \"{0}\" is forbidden"
msgstr "" msgstr ""
#: tiramisu/value.py:564 #: tiramisu/value.py:616
msgid "\"{0}\" is a default value, so we cannot change owner to \"{1}\"" msgid "\"{0}\" is a default value, so we cannot change owner to \"{1}\""
msgstr "" msgstr ""
#: tiramisu/value.py:845 #: tiramisu/value.py:886
msgid "information's item not found \"{}\"" msgid "information's item not found \"{}\""
msgstr "" msgstr ""

View file

@ -83,15 +83,11 @@ class PropertiesOptionError(AttributeError):
settings, settings,
opt_type=None, opt_type=None,
name=None, name=None,
orig_opt=None,
help_properties=None, help_properties=None,
): ):
if orig_opt:
raise Exception("a la")
if opt_type: if opt_type:
self._opt_type = opt_type self._opt_type = opt_type
self._name = name self._name = name
self._orig_opt = orig_opt
else: else:
if subconfig.option.impl_is_optiondescription(): if subconfig.option.impl_is_optiondescription():
self._opt_type = "optiondescription" self._opt_type = "optiondescription"

View file

@ -358,7 +358,7 @@ class Option(BaseOption):
if _value is None: if _value is None:
return return
if isinstance(_value, list): if isinstance(_value, list):
raise ValueError(_("which must not be a list")) raise ValueError(_("it must not be a list"))
if isinstance(_value, Calculation) and not subconfig: if isinstance(_value, Calculation) and not subconfig:
return return
# option validation # option validation
@ -413,7 +413,7 @@ class Option(BaseOption):
elif force_index is not None: elif force_index is not None:
if self.impl_is_submulti(): if self.impl_is_submulti():
if not isinstance(value, list): if not isinstance(value, list):
raise ValueError(_("which must be a list")) raise ValueError(_("it must be a list"))
for val in value: for val in value:
try: try:
do_validation( do_validation(
@ -451,7 +451,9 @@ class Option(BaseOption):
self.validate_parse_error(val, err_index, err, subconfig) self.validate_parse_error(val, err_index, err, subconfig)
ret = False ret = False
elif not isinstance(value, list): elif not isinstance(value, list):
raise ValueError(_("which must be a list")) msg = ValueError(_("it must be a list"))
self.validate_parse_error(value, None, msg, subconfig)
ret = False
else: else:
# FIXME suboptimal, not several time for whole=True! # FIXME suboptimal, not several time for whole=True!
for err_index, val in enumerate(value): for err_index, val in enumerate(value):