diff --git a/locale/fr/LC_MESSAGES/rougail.po b/locale/fr/LC_MESSAGES/rougail.po index 569f5168b..9d400540a 100644 --- a/locale/fr/LC_MESSAGES/rougail.po +++ b/locale/fr/LC_MESSAGES/rougail.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2025-05-03 22:50+0200\n" -"PO-Revision-Date: 2025-05-03 22:50+0200\n" +"POT-Creation-Date: 2025-05-08 21:35+0200\n" +"PO-Revision-Date: 2025-05-08 21:37+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -135,6 +135,12 @@ msgid "" msgstr "" "la variable \"{0}\" a la valeur par défaut invalide \"{1}\" devrait être {2}" +#: src/rougail/config.py:226 +msgid "Structure format version by default, if not specified in structure file" +msgstr "" +"La version du format de la structure par défaut, si non spécifier dans le " +"fichier de structure" + #: src/rougail/config.py:234 msgid "File with functions" msgstr "Fichier avec les fonctions" @@ -193,39 +199,47 @@ msgstr "Le patron de secret pour construire le nom de l'élément dans Bitwarden msgid "The pattern is in Jinja format" msgstr "Le patron est au format Jinja" -#: src/rougail/config.py:458 +#: src/rougail/config.py:378 +msgid "Select for {0}" +msgstr "Sélection pour {0}" + +#: src/rougail/config.py:457 +msgid "Override default parameters for option type" +msgstr "Sur charger les paramètre par défaut pour le type d'option" + +#: src/rougail/config.py:460 msgid "Default parameters for option type" msgstr "Paramètre par défaut pour le type d'option" -#: src/rougail/convert.py:281 +#: src/rougail/convert.py:280 msgid "unknown type {0} for {1}" msgstr "type {0} inconnu pour {1}" -#: src/rougail/convert.py:416 +#: src/rougail/convert.py:411 msgid "family \"{0}\" define multiple time" msgstr "la famille \"{0}\" est définit plusieurs fois" -#: src/rougail/convert.py:679 +#: src/rougail/convert.py:667 msgid "variable \"{0}\" define multiple time" msgstr "la variable \"{0}\" est définit plusieurs fois" -#: src/rougail/convert.py:782 +#: src/rougail/convert.py:767 msgid "params must be a dict for {0}" msgstr "params doit être une dict pour {0}" -#: src/rougail/convert.py:803 +#: src/rougail/convert.py:788 msgid "\"{0}\" has an invalid \"params\" for {1}: {2}" msgstr "\"{0}\" a un attribut \"params\" invalide pour {1}: {2}" -#: src/rougail/convert.py:817 +#: src/rougail/convert.py:802 msgid "secret_manager must be a dict for {0}" msgstr "secret_manager doit être une dict pour {0}" -#: src/rougail/convert.py:1147 +#: src/rougail/convert.py:1129 msgid "Cannot execute annotate multiple time" msgstr "Ne peut exécuter l'annotation plusieurs fois" -#: src/rougail/convert.py:1154 +#: src/rougail/convert.py:1136 msgid "" "invalid \"structural\" definition ({0}), we cannot load any structural file!" msgstr "" @@ -237,45 +251,45 @@ msgstr "" msgid "{0} in {1}" msgstr "{0} dans {1}" -#: src/rougail/object_model.py:51 +#: src/rougail/object_model.py:50 msgid "unknown boolean value \"{0}\"" msgstr "valeur du booléen inconnue \"{0}\"" -#: src/rougail/object_model.py:182 +#: src/rougail/object_model.py:181 msgid "cannot find variable \"{0}\" defined in attribute \"{1}\" for \"{2}\"" msgstr "" "ne peut trouver la variable \"{0}\" défini dans l'attribut \"{1}\" pour " "\"{2}\"" -#: src/rougail/object_model.py:186 +#: src/rougail/object_model.py:185 msgid "" "the variable \"{0}\" is in fact a family in attribute \"{1}\" for \"{2}\"" msgstr "" "la variable \"{0}\" est en faite une famille dans l'attribut \"{1}\" pour " "\"{2}\"" -#: src/rougail/object_model.py:189 src/rougail/object_model.py:479 +#: src/rougail/object_model.py:188 src/rougail/object_model.py:478 msgid "unknown object \"{0}\" in attribute \"{1}\" for \"{2}\"" msgstr "objet inconnu \"{0}\" dans l'attribut \"{1}\" pour \"{2}\"" -#: src/rougail/object_model.py:206 +#: src/rougail/object_model.py:205 msgid "" "identifier parameter for \"{0}\" in \"{1}\" cannot be set none dynamic family" msgstr "" "le paramètre identifier pour \"{0}\" dans \"{1}\" ne peut être placé pour " "une famille non dynamique" -#: src/rougail/object_model.py:229 +#: src/rougail/object_model.py:228 msgid "cannot find variable \"{0}\" defined in \"{1}\" for \"{2}\"" msgstr "ne peut trouver la variable \"{0}\" défini dans \"{1}\" pour \"{2}\"" -#: src/rougail/object_model.py:232 +#: src/rougail/object_model.py:231 msgid "variable \"{0}\" defined in \"{1}\" for \"{2}\" is a dynamic variable" msgstr "" "la variable \"{0}\" défini dans \"{1}\" pour \"{2}\" est une variable " "dynamique" -#: src/rougail/object_model.py:243 +#: src/rougail/object_model.py:242 msgid "" "the variable \"{0}\" is not a follower, so cannot have index type for param " "in \"{1}\"" @@ -283,7 +297,7 @@ msgstr "" "la variable \"{0}\" n'est pas suiveuse, donc ne peut avoir de type index " "comme paramètre dans \"{1}\"" -#: src/rougail/object_model.py:476 +#: src/rougail/object_model.py:475 msgid "" "a variable \"{0}\" is needs in attribute \"{1}\" for \"{2}\" but it's a " "family" @@ -291,7 +305,7 @@ msgstr "" "une variable \"{0}\" est nécessaire pour l'attribut \"{1}\" pour \"{2}\" " "mais c'est une famille" -#: src/rougail/object_model.py:496 +#: src/rougail/object_model.py:495 msgid "" "variable \"{0}\" has an attribute \"{1}\" calculated with the unknown " "variable \"{2}\"" @@ -299,7 +313,7 @@ msgstr "" "la variable \"{0}\" a un attribut invalide \"{1}\" calculé avec la variable " "inconnue \"{2}\"" -#: src/rougail/object_model.py:532 +#: src/rougail/object_model.py:531 msgid "" "the variable \"{0}\" has an invalid \"{1}\" the variable \"{2}\" is in a sub " "dynamic option" @@ -307,14 +321,14 @@ msgstr "" "la variable \"{0}\" a un attribut invalide \"{1}\", la variable \"{2}\" est " "dans une sous option dynamique" -#: src/rougail/object_model.py:535 +#: src/rougail/object_model.py:534 msgid "" "the leader \"{0}\" has an invalid \"{1}\" the follower \"{2}\" is a multi" msgstr "" "la variable meneuse \"{0}\" a un attribut invalide \"{1}\", la variable " "suiveuse \"{2}\" est multiple" -#: src/rougail/object_model.py:551 +#: src/rougail/object_model.py:550 msgid "" "the variable \"{0}\" has an invalid attribute \"{1}\", the variable \"{2}\" " "must not be multi" @@ -322,7 +336,7 @@ msgstr "" "la variable \"{0}\" a un attribut invalide \"{1}\", la variable \"{2}\" ne " "doit pas être multiple" -#: src/rougail/object_model.py:556 +#: src/rougail/object_model.py:555 msgid "" "the variable \"{0}\" has an invalid attribute \"{1}\", the variable must not " "be a multi or the variable \"{2}\" must be multi" @@ -330,7 +344,7 @@ msgstr "" "la variable \"{0}\" a un attribut invalide \"{1}\", la variable ne doit pas " "être multiple ou la variable \"{2}\" doit être multiple" -#: src/rougail/object_model.py:561 +#: src/rougail/object_model.py:560 msgid "" "the variable \"{0}\" has an invalid attribute \"{1}\", the variable must be " "a multi or the variable \"{2}\" must not be multi" @@ -338,7 +352,7 @@ msgstr "" "la variable \"{0}\" a un attribut invalide \"{1}\", la variable doit être " "multiple ou la variable \"{2}\" ne doit pas être multiple" -#: src/rougail/object_model.py:566 +#: src/rougail/object_model.py:565 msgid "" "the variable \"{0}\" has an invalid attribute \"{1}\", the variable \"{2}\" " "is multi but is inside a list" @@ -362,7 +376,7 @@ msgstr "" "la variable \"{0}\" a une valeur par défaut calculé a partir de \"{1}\" " "laquelle a un type incompatible" -#: src/rougail/object_model.py:628 +#: src/rougail/object_model.py:629 msgid "" "\"when\" is not allowed in format version 1.0 for attribute \"{0}\" for " "variable \"{1}\"" @@ -370,7 +384,7 @@ msgstr "" "\"when\" n'est pas autorisé avec le format en version 1.0 pour l'attribut " "\"{0}\" pour la variable \"{1}\"" -#: src/rougail/object_model.py:631 +#: src/rougail/object_model.py:632 msgid "" "the variable \"{0}\" has an invalid attribute \"{1}\", \"when\" and " "\"when_not\" cannot set together" @@ -378,7 +392,7 @@ msgstr "" "la variable \"{0}\" a un attribut invalide \"{1}\", \"when\" et \"when_not\" " "ne peuvent pas être défini ensemble" -#: src/rougail/object_model.py:637 +#: src/rougail/object_model.py:638 msgid "" "\"when_not\" is not allowed in format version 1.0 for attribute \"{0}\" for " "variable \"{1}\"" @@ -386,7 +400,7 @@ msgstr "" "\"when_not\" n'est pas autorisé au format 1.0 pour l'attribut \"{0}\" pour " "la variable variable \"{1}\"" -#: src/rougail/object_model.py:691 +#: src/rougail/object_model.py:693 msgid "" "cannot find variable \"{0}\" for the information \"{1}\" when calculating " "\"{2}\"" @@ -394,18 +408,18 @@ msgstr "" "ne peut trouver la variable \"{0}\" pour l'information \"{1}\" lors du " "calcul de \"{2}\"" -#: src/rougail/object_model.py:694 +#: src/rougail/object_model.py:696 msgid "" "identifier not allowed for the information \"{0}\" when calculating \"{1}\"" msgstr "" "identifier n'est pas autorisé pour l'information \"{0}\" lors du calcul de " "\"{1}\"" -#: src/rougail/object_model.py:743 +#: src/rougail/object_model.py:747 msgid "\"when\" is not allowed in format version 1.0 for attribute \"{0}\"" msgstr "\"when\" n'est pas autorisé au format 1.0 pour l'attribut \"{0}\"" -#: src/rougail/object_model.py:747 src/rougail/object_model.py:755 +#: src/rougail/object_model.py:751 src/rougail/object_model.py:759 msgid "" "the identifier has an invalid attribute \"{0}\", \"when\" and \"when_not\" " "cannot set together" @@ -413,7 +427,7 @@ msgstr "" "l'identifiant a un attribut invalide \"{0}\", \"when\" et \"when_not\" ne " "peuvent pas être défini ensemble" -#: src/rougail/object_model.py:777 +#: src/rougail/object_model.py:782 msgid "" "the variable \"{0}\" is not a follower, so cannot have index type for \"{1}\"" msgstr "" diff --git a/locale/rougail.pot b/locale/rougail.pot index a2624084d..74ce1ee1d 100644 --- a/locale/rougail.pot +++ b/locale/rougail.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-05-03 22:50+0200\n" +"POT-Creation-Date: 2025-05-08 21:37+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -87,6 +87,10 @@ msgstr "" msgid "the variable \"{0}\" has an unvalid default value \"{1}\" should be in {2}" msgstr "" +#: src/rougail/config.py:226 +msgid "Structure format version by default, if not specified in structure file" +msgstr "" + #: src/rougail/config.py:234 msgid "File with functions" msgstr "" @@ -143,39 +147,47 @@ msgstr "" msgid "The pattern is in Jinja format" msgstr "" -#: src/rougail/config.py:458 +#: src/rougail/config.py:378 +msgid "Select for {0}" +msgstr "" + +#: src/rougail/config.py:457 +msgid "Override default parameters for option type" +msgstr "" + +#: src/rougail/config.py:460 msgid "Default parameters for option type" msgstr "" -#: src/rougail/convert.py:281 +#: src/rougail/convert.py:280 msgid "unknown type {0} for {1}" msgstr "" -#: src/rougail/convert.py:416 +#: src/rougail/convert.py:411 msgid "family \"{0}\" define multiple time" msgstr "" -#: src/rougail/convert.py:679 +#: src/rougail/convert.py:667 msgid "variable \"{0}\" define multiple time" msgstr "" -#: src/rougail/convert.py:782 +#: src/rougail/convert.py:767 msgid "params must be a dict for {0}" msgstr "" -#: src/rougail/convert.py:803 +#: src/rougail/convert.py:788 msgid "\"{0}\" has an invalid \"params\" for {1}: {2}" msgstr "" -#: src/rougail/convert.py:817 +#: src/rougail/convert.py:802 msgid "secret_manager must be a dict for {0}" msgstr "" -#: src/rougail/convert.py:1147 +#: src/rougail/convert.py:1129 msgid "Cannot execute annotate multiple time" msgstr "" -#: src/rougail/convert.py:1154 +#: src/rougail/convert.py:1136 msgid "invalid \"structural\" definition ({0}), we cannot load any structural file!" msgstr "" @@ -184,67 +196,67 @@ msgstr "" msgid "{0} in {1}" msgstr "" -#: src/rougail/object_model.py:51 +#: src/rougail/object_model.py:50 msgid "unknown boolean value \"{0}\"" msgstr "" -#: src/rougail/object_model.py:182 +#: src/rougail/object_model.py:181 msgid "cannot find variable \"{0}\" defined in attribute \"{1}\" for \"{2}\"" msgstr "" -#: src/rougail/object_model.py:186 +#: src/rougail/object_model.py:185 msgid "the variable \"{0}\" is in fact a family in attribute \"{1}\" for \"{2}\"" msgstr "" -#: src/rougail/object_model.py:189 src/rougail/object_model.py:479 +#: src/rougail/object_model.py:188 src/rougail/object_model.py:478 msgid "unknown object \"{0}\" in attribute \"{1}\" for \"{2}\"" msgstr "" -#: src/rougail/object_model.py:206 +#: src/rougail/object_model.py:205 msgid "identifier parameter for \"{0}\" in \"{1}\" cannot be set none dynamic family" msgstr "" -#: src/rougail/object_model.py:229 +#: src/rougail/object_model.py:228 msgid "cannot find variable \"{0}\" defined in \"{1}\" for \"{2}\"" msgstr "" -#: src/rougail/object_model.py:232 +#: src/rougail/object_model.py:231 msgid "variable \"{0}\" defined in \"{1}\" for \"{2}\" is a dynamic variable" msgstr "" -#: src/rougail/object_model.py:243 +#: src/rougail/object_model.py:242 msgid "the variable \"{0}\" is not a follower, so cannot have index type for param in \"{1}\"" msgstr "" -#: src/rougail/object_model.py:476 +#: src/rougail/object_model.py:475 msgid "a variable \"{0}\" is needs in attribute \"{1}\" for \"{2}\" but it's a family" msgstr "" -#: src/rougail/object_model.py:496 +#: src/rougail/object_model.py:495 msgid "variable \"{0}\" has an attribute \"{1}\" calculated with the unknown variable \"{2}\"" msgstr "" -#: src/rougail/object_model.py:532 +#: src/rougail/object_model.py:531 msgid "the variable \"{0}\" has an invalid \"{1}\" the variable \"{2}\" is in a sub dynamic option" msgstr "" -#: src/rougail/object_model.py:535 +#: src/rougail/object_model.py:534 msgid "the leader \"{0}\" has an invalid \"{1}\" the follower \"{2}\" is a multi" msgstr "" -#: src/rougail/object_model.py:551 +#: src/rougail/object_model.py:550 msgid "the variable \"{0}\" has an invalid attribute \"{1}\", the variable \"{2}\" must not be multi" msgstr "" -#: src/rougail/object_model.py:556 +#: src/rougail/object_model.py:555 msgid "the variable \"{0}\" has an invalid attribute \"{1}\", the variable must not be a multi or the variable \"{2}\" must be multi" msgstr "" -#: src/rougail/object_model.py:561 +#: src/rougail/object_model.py:560 msgid "the variable \"{0}\" has an invalid attribute \"{1}\", the variable must be a multi or the variable \"{2}\" must not be multi" msgstr "" -#: src/rougail/object_model.py:566 +#: src/rougail/object_model.py:565 msgid "the variable \"{0}\" has an invalid attribute \"{1}\", the variable \"{2}\" is multi but is inside a list" msgstr "" @@ -256,35 +268,35 @@ msgstr "" msgid "variable \"{0}\" has a default value calculated with \"{1}\" which has incompatible type" msgstr "" -#: src/rougail/object_model.py:628 +#: src/rougail/object_model.py:629 msgid "\"when\" is not allowed in format version 1.0 for attribute \"{0}\" for variable \"{1}\"" msgstr "" -#: src/rougail/object_model.py:631 +#: src/rougail/object_model.py:632 msgid "the variable \"{0}\" has an invalid attribute \"{1}\", \"when\" and \"when_not\" cannot set together" msgstr "" -#: src/rougail/object_model.py:637 +#: src/rougail/object_model.py:638 msgid "\"when_not\" is not allowed in format version 1.0 for attribute \"{0}\" for variable \"{1}\"" msgstr "" -#: src/rougail/object_model.py:691 +#: src/rougail/object_model.py:693 msgid "cannot find variable \"{0}\" for the information \"{1}\" when calculating \"{2}\"" msgstr "" -#: src/rougail/object_model.py:694 +#: src/rougail/object_model.py:696 msgid "identifier not allowed for the information \"{0}\" when calculating \"{1}\"" msgstr "" -#: src/rougail/object_model.py:743 +#: src/rougail/object_model.py:747 msgid "\"when\" is not allowed in format version 1.0 for attribute \"{0}\"" msgstr "" -#: src/rougail/object_model.py:747 src/rougail/object_model.py:755 +#: src/rougail/object_model.py:751 src/rougail/object_model.py:759 msgid "the identifier has an invalid attribute \"{0}\", \"when\" and \"when_not\" cannot set together" msgstr "" -#: src/rougail/object_model.py:777 +#: src/rougail/object_model.py:782 msgid "the variable \"{0}\" is not a follower, so cannot have index type for \"{1}\"" msgstr "" diff --git a/src/rougail/locale/fr/LC_MESSAGES/rougail.mo b/src/rougail/locale/fr/LC_MESSAGES/rougail.mo index df373926c..571995390 100644 Binary files a/src/rougail/locale/fr/LC_MESSAGES/rougail.mo and b/src/rougail/locale/fr/LC_MESSAGES/rougail.mo differ diff --git a/src/rougail/object_model.py b/src/rougail/object_model.py index 3eb0715cd..063c46464 100644 --- a/src/rougail/object_model.py +++ b/src/rougail/object_model.py @@ -26,10 +26,9 @@ from pydantic import ( StrictStr, ConfigDict, ) -from tiramisu import undefined import tiramisu from tiramisu.config import get_common_path -from .utils import get_jinja_variable_to_param, calc_multi_for_type_variable +from .utils import get_jinja_variable_to_param, calc_multi_for_type_variable, undefined from .i18n import _ from .error import DictConsistencyError, VariableCalculationDependencyError diff --git a/src/rougail/user_datas.py b/src/rougail/user_datas.py index c38257baa..7df24661f 100644 --- a/src/rougail/user_datas.py +++ b/src/rougail/user_datas.py @@ -22,8 +22,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA from typing import List from re import findall -from rougail.utils import normalize_family -from tiramisu import undefined, Calculation +from rougail.utils import normalize_family, undefined +from tiramisu import Calculation from tiramisu.error import ( PropertiesOptionError, LeadershipError, diff --git a/src/rougail/utils.py b/src/rougail/utils.py index ccc41e9d1..3db019afc 100644 --- a/src/rougail/utils.py +++ b/src/rougail/utils.py @@ -199,3 +199,10 @@ def calc_multi_for_type_variable(local_variable: 'Variable', variable_in_calcula elif count_identifiers > 1: variable_in_calculation_multi = 'submulti' return local_variable_multi, variable_in_calculation_multi + + +class Undefined: + pass + + +undefined = Undefined()