From 70003fcbc52028a4268b0b068f0939b9b96b47c2 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Mon, 17 Feb 2025 09:20:38 +0100 Subject: [PATCH] fix: we can define structural plugin when generate documentation --- locale/fr/LC_MESSAGES/rougail.po | 272 ++++++++++++------- locale/rougail.pot | 198 +++++++++----- src/rougail/config.py | 40 ++- src/rougail/convert.py | 2 +- src/rougail/locale/fr/LC_MESSAGES/rougail.mo | Bin 5878 -> 7517 bytes 5 files changed, 337 insertions(+), 175 deletions(-) diff --git a/locale/fr/LC_MESSAGES/rougail.po b/locale/fr/LC_MESSAGES/rougail.po index 529c54e97..31534c830 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: 2024-12-15 16:50+0100\n" -"PO-Revision-Date: 2024-12-15 16:55+0100\n" +"POT-Creation-Date: 2025-02-17 09:16+0100\n" +"PO-Revision-Date: 2025-02-17 09:17+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -16,39 +16,39 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" "X-Generator: Poedit 3.5\n" -#: src/rougail/annotator/family.py:143 +#: src/rougail/annotator/family.py:147 msgid "default variable mode \"{0}\" is not a valid mode, valid modes are {1}" msgstr "" "le mode d'une variable par défaut \"{0}\" n'est pas un mode valide, les " "modes valides sont {1}" -#: src/rougail/annotator/family.py:149 +#: src/rougail/annotator/family.py:153 msgid "default family mode \"{0}\" is not a valid mode, valid modes are {1}" msgstr "" "le mode d'une famille par défaut \"{0}\" n'est pas un mode valide, les modes " "valides sont {1}" -#: src/rougail/annotator/family.py:181 +#: src/rougail/annotator/family.py:185 msgid "mode \"{0}\" for \"{1}\" is not a valid mode, valid modes are {2}" msgstr "" "le mode \"{0}\" pour \"{1}\" n'est pas un mode valide, les modes valides " "sont {2}" -#: src/rougail/annotator/family.py:185 +#: src/rougail/annotator/family.py:189 msgid "mode \"{0}\" for \"{1}\" is not a valid mode, no modes are available" msgstr "" "le mode \"{0}\" pour \"{1}\" n'est pas un mode valide, aucun mode ne sont " "définis" -#: src/rougail/annotator/family.py:249 +#: src/rougail/annotator/family.py:253 msgid "" "the variable \"{0}\" is mandatory so in \"{1}\" mode but family has the " "higher family mode \"{2}\"" msgstr "" -"la variable \"{0}\" est obligatoire, donc en mode \"{1}\", mais la " -"famille a un mode supérieur \"{2}\"" +"la variable \"{0}\" est obligatoire, donc en mode \"{1}\", mais la famille a " +"un mode supérieur \"{2}\"" -#: src/rougail/annotator/family.py:287 +#: src/rougail/annotator/family.py:291 msgid "" "the follower \"{0}\" is in \"{1}\" mode but leader have the higher mode " "\"{2}\"" @@ -56,7 +56,7 @@ msgstr "" "la variable suiveuse \"{0}\" a le mode \"{1}\" mais la variable leader a un " "mode supérieur \"{2}\"" -#: src/rougail/annotator/family.py:320 +#: src/rougail/annotator/family.py:324 msgid "" "the family \"{0}\" is in \"{1}\" mode but variables and families inside have " "the higher modes \"{2}\"" @@ -64,7 +64,7 @@ msgstr "" "la famille \"{0}\" a le mode \"{1}\" mais les variables et les familles à " "l'intérieur ont des modes supérieurs \"{2}\"" -#: src/rougail/annotator/family.py:338 +#: src/rougail/annotator/family.py:342 msgid "" "the variable \"{0}\" is in \"{1}\" mode but family has the higher family " "mode \"{2}\"" @@ -84,83 +84,122 @@ msgstr "" "la variable \"{0}\" est multiple mais a une valeur par défaut sans être une " "liste" -#: src/rougail/annotator/variable.py:189 +#: src/rougail/annotator/variable.py:175 msgid "" "the variable \"{0}\" has regexp attribut but has not the \"regexp\" type" msgstr "" "la variable \"{0}\" a un attribut regexp mais n'a pas le type \"regexp\"" -#: src/rougail/annotator/variable.py:232 +#: src/rougail/annotator/variable.py:218 msgid "" "the variable \"{0}\" has choices attribut but has not the \"choice\" type" msgstr "" "la variable \"{0}\" a un attribut choices mais n'a pas le type \"choice\"" -#: src/rougail/annotator/variable.py:260 +#: src/rougail/annotator/variable.py:246 msgid "" "the variable \"{0}\" has an unvalid default value \"{1}\" should be in {2}" msgstr "" "la variable \"{0}\" a la valeur par défaut invalide \"{1}\" devrait être {2}" -#: src/rougail/config.py:216 -msgid "Directories where dictionary files are placed" -msgstr "Répertoires où sont placés les fichiers de structure" - -#: src/rougail/config.py:227 -msgid "Sort dictionaries from differents directories" -msgstr "Trier les fichiers de structure à partir de différents répertoires" - -#: src/rougail/config.py:232 -msgid "Main namespace name" -msgstr "Nom de l'espace de nom principal" - -#: src/rougail/config.py:238 -msgid "Extra namespaces" -msgstr "Espaces de nom supplémentaires" - -#: src/rougail/config.py:245 -msgid "Extra namespace name" -msgstr "Nom de l'espace de nom supplémentaire" - -#: src/rougail/config.py:251 -msgid "Directories where extra dictionary files are placed" -msgstr "" -"Répertoires où sont placés les fichiers de structure de l'espace de nom " -"supplémentaire" - -#: src/rougail/config.py:262 -msgid "Update dictionaries to newest Rougail format version" -msgstr "" -"Mettre à jour le fichier de structure vers la dernière version du format de " -"Rougail" - -#: src/rougail/config.py:263 -msgid "Do not update dictionaries to newest Rougail format version" -msgstr "" -"Ne pas mettre à jour le fichier de structure vers la dernière version du " -"format de Rougail" - -#: src/rougail/config.py:267 -msgid "Update informations" -msgstr "Mise à jour des informations" - -#: src/rougail/config.py:273 -msgid "Directories where dictionary files will be placed" -msgstr "Répertoires où sont placés les fichiers de structure" - -#: src/rougail/config.py:278 -msgid "Directories where extra files will be placed" -msgstr "Répertoires où sont placés les fichiers de structure supplémentaire" - -#: src/rougail/config.py:290 +#: src/rougail/config.py:231 msgid "File with functions" msgstr "Fichier avec les fonctions" -#: src/rougail/config.py:302 +#: src/rougail/config.py:243 msgid "All modes level available" msgstr "Tous les niveaux de modes valides" -#: src/rougail/convert.py:281 +#: src/rougail/config.py:255 +msgid "Default mode for a family" +msgstr "Mode par défaut pour une famille" + +#: src/rougail/config.py:275 +msgid "Default mode for a variable" +msgstr "Mode par défaut pour une variable" + +#: src/rougail/config.py:299 +msgid "Option name for the base option" +msgstr "Nom de l'option pour l'option de base" + +#: src/rougail/config.py:304 +msgid "In cache file, do not importation of Tiramisu and other dependencies" +msgstr "" +"Dans le fichier de cache, ne pas importer Tiramisu et autres dépendances" + +#: src/rougail/config.py:305 +msgid "In cache file, do importation of Tiramisu and other dependencies" +msgstr "Dans le fichier de cache, importer Tiramisu et autres dépendances" + +#: src/rougail/config.py:310 +msgid "Tiramisu cache filename" +msgstr "Nom du fichier du cache Tiramisu" + +#: src/rougail/config.py:318 +msgid "Name of internal functions that we can use as a function" +msgstr "" +"Nom des fonctions internes qu'il est possible d'utiliser comme fonction" + +#: src/rougail/config.py:324 +msgid "Name of extra annotators" +msgstr "Nom des annotators supplémentaires" + +#: src/rougail/config.py:330 +msgid "Suffix add to generated options name" +msgstr "Suffix ajouté pour généré le nom des options" + +#: src/rougail/config.py:336 +msgid "Every variables in calculation are optionals" +msgstr "Toutes les variables dans un calcul sont optionnelles" + +#: src/rougail/config.py:337 +msgid "Variables in calculation are not optional by default" +msgstr "Les variables dans un calcul sont optionnelles par défaut" + +#: src/rougail/config.py:341 src/rougail/config.py:342 +msgid "Loads redefine variables even if there don't already exists" +msgstr "Charger les variables redéfinis même si elles n'existe pas" + +#: src/rougail/config.py:443 +msgid "Default parameters for option type" +msgstr "Paramètre par défaut pour le type d'option" + +#: src/rougail/convert.py:270 +msgid "unknown type {0} for {1}" +msgstr "type {0} inconnu pour {1}" + +#: src/rougail/convert.py:402 +msgid "family \"{0}\" define multiple time" +msgstr "la famille \"{0}\" est définit plusieurs fois" + +#: src/rougail/convert.py:658 +msgid "variable \"{0}\" define multiple time" +msgstr "la variable \"{0}\" est définit plusieurs fois" + +#: src/rougail/convert.py:761 +msgid "params must be a dict for {0}" +msgstr "params doit être une dict pour {0}" + +#: src/rougail/convert.py:782 +msgid "\"{0}\" has an invalid \"params\" for {1}: {2}" +msgstr "\"{0}\" a un attribut \"params\" invalide pour {1}: {2}" + +#: src/rougail/convert.py:1096 +msgid "Cannot execute annotate multiple time" +msgstr "Ne peut exécuter l'annotation plusieurs fois" + +#: src/rougail/convert.py:1103 +msgid "" +"invalid \"structural\" definition ({0}), we cannot load any structural file!" +msgstr "" +"définition invalide pour la définition des \"structures\" ({0}), aucun " +"fichier de structure ne peut être chargé !" + +#: src/rougail/error.py:67 +msgid "{0} in {1}" +msgstr "{0} dans {1}" + +#: src/rougail/path.py:209 msgid "" "A variable or a family located in the \"{0}\" namespace shall not be used in " "the \"{1}\" namespace" @@ -168,26 +207,6 @@ msgstr "" "Une variable ou une famille localisé dans l'espace de nom \"{0}\" ne devrait " "pas être utilisé dans l'espace de nom \"{1}\"" -#: src/rougail/convert.py:480 -msgid "unknown type {0} for {1}" -msgstr "type {0} inconnu pour {1}" - -#: src/rougail/convert.py:613 -msgid "The family \"{0}\" already exists and it is not redefined" -msgstr "La famille \"{0}\" existe déjà et n'est pas redéfinie" - -#: src/rougail/convert.py:1356 -msgid "duplicate dictionary file name {0}" -msgstr "nom de fichier {0} de dictionnaire dupliqué" - -#: src/rougail/convert.py:1403 -msgid "Cannot execute annotate multiple time" -msgstr "Ne peut exécuter l'annotation plusieurs fois" - -#: src/rougail/error.py:67 -msgid "{0} in {1}" -msgstr "{0} dans {1}" - #: src/rougail/structural_commandline/annotator.py:67 msgid "alternative_name \"{0}\" conflict with \"--help\"" msgstr "alternative_name \"{0}\" est en conflit avec \"--help\"" @@ -196,14 +215,14 @@ msgstr "alternative_name \"{0}\" est en conflit avec \"--help\"" msgid "conflict alternative_name \"{0}\": \"{1}\" and \"{2}\"" msgstr "conflit dans les \"alternative_name\" \"{0}\": \"{1}\" et \"{2}\"" -#: src/rougail/structural_commandline/annotator.py:95 +#: src/rougail/structural_commandline/annotator.py:98 msgid "" "negative_description is mandatory for boolean variable, but \"{0}\" hasn't" msgstr "" "l'attribut negative_description est obligatoire pour des variables " "\"boolean\", mais \"{0}\" n'en a pas" -#: src/rougail/structural_commandline/annotator.py:104 +#: src/rougail/structural_commandline/annotator.py:106 msgid "" "negative_description is only available for boolean variable, but \"{0}\" is " "\"{1}\"" @@ -211,9 +230,49 @@ msgstr "" "l'attribut negative_description est seulement valide pour des variables " "\"boolean\", mais \"{0}\" est \"{1}\"" -#: src/rougail/update/update.py:738 -msgid "not a XML file: {0}" -msgstr "fichier XML invalid : {0}" +#: src/rougail/structural_directory/__init__.py:127 +msgid "duplicate dictionary file name {0}" +msgstr "nom de fichier {0} de dictionnaire dupliqué" + +#: src/rougail/structural_directory/config.py:32 +msgid "Directories where dictionary files are placed" +msgstr "Répertoires où sont placés les fichiers de structure" + +#: src/rougail/structural_directory/config.py:46 +msgid "Sort dictionaries from differents directories" +msgstr "Trier les fichiers de structure à partir de différents répertoires" + +#: src/rougail/structural_directory/config.py:56 +msgid "Main namespace name" +msgstr "Nom de l'espace de nom principal" + +#: src/rougail/structural_directory/config.py:67 +msgid "Extra namespaces" +msgstr "Espaces de nom supplémentaires" + +#: src/rougail/structural_directory/config.py:76 +msgid "Extra namespace name" +msgstr "Nom de l'espace de nom supplémentaire" + +#: src/rougail/structural_directory/config.py:82 +msgid "Directories where extra dictionary files are placed" +msgstr "" +"Répertoires où sont placés les fichiers de structure de l'espace de nom " +"supplémentaire" + +#: src/rougail/tiramisureflector.py:376 +msgid "internal error, {0} is not a dynamic variable" +msgstr "erreur interne, \"{0}\" n'est pas une variable dynamique" + +#: src/rougail/user_datas.py:155 +msgid "the variable \"{0}\" contains secrets and should not be defined in {1}" +msgstr "" +"la variable \"{0}\" contient des secrets et ne devrait pas être défini dans " +"{1}" + +#: src/rougail/user_datas.py:215 +msgid "the option \"{0}\" is an option description" +msgstr "l'option \"{0}\" est une option description" #: src/rougail/utils.py:55 msgid "" @@ -223,6 +282,31 @@ msgstr "" "nom invalide pour la variable ou famille \"{0}\" doit seulement contenir des " "caractères ascii minuscule, nombre or _" -#: src/rougail/utils.py:117 +#: src/rougail/utils.py:113 msgid "error in jinja \"{0}\" for the variable \"{1}\": {2}" msgstr "erreur dans Jinja \"{0}\" pour la variable \"{1}\": {2}" + +#~ msgid "Update dictionaries to newest Rougail format version" +#~ msgstr "" +#~ "Mettre à jour le fichier de structure vers la dernière version du format " +#~ "de Rougail" + +#~ msgid "Do not update dictionaries to newest Rougail format version" +#~ msgstr "" +#~ "Ne pas mettre à jour le fichier de structure vers la dernière version du " +#~ "format de Rougail" + +#~ msgid "Update informations" +#~ msgstr "Mise à jour des informations" + +#~ msgid "Directories where dictionary files will be placed" +#~ msgstr "Répertoires où sont placés les fichiers de structure" + +#~ msgid "Directories where extra files will be placed" +#~ msgstr "Répertoires où sont placés les fichiers de structure supplémentaire" + +#~ msgid "The family \"{0}\" already exists and it is not redefined" +#~ msgstr "La famille \"{0}\" existe déjà et n'est pas redéfinie" + +#~ msgid "not a XML file: {0}" +#~ msgstr "fichier XML invalid : {0}" diff --git a/locale/rougail.pot b/locale/rougail.pot index 1770d0914..6285637b4 100644 --- a/locale/rougail.pot +++ b/locale/rougail.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2024-12-15 16:57+0100\n" +"POT-Creation-Date: 2025-02-17 09:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,35 +15,35 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" -#: src/rougail/annotator/family.py:143 +#: src/rougail/annotator/family.py:147 msgid "default variable mode \"{0}\" is not a valid mode, valid modes are {1}" msgstr "" -#: src/rougail/annotator/family.py:149 +#: src/rougail/annotator/family.py:153 msgid "default family mode \"{0}\" is not a valid mode, valid modes are {1}" msgstr "" -#: src/rougail/annotator/family.py:181 +#: src/rougail/annotator/family.py:185 msgid "mode \"{0}\" for \"{1}\" is not a valid mode, valid modes are {2}" msgstr "" -#: src/rougail/annotator/family.py:185 +#: src/rougail/annotator/family.py:189 msgid "mode \"{0}\" for \"{1}\" is not a valid mode, no modes are available" msgstr "" -#: src/rougail/annotator/family.py:249 +#: src/rougail/annotator/family.py:253 msgid "the variable \"{0}\" is mandatory so in \"{1}\" mode but family has the higher family mode \"{2}\"" msgstr "" -#: src/rougail/annotator/family.py:287 +#: src/rougail/annotator/family.py:291 msgid "the follower \"{0}\" is in \"{1}\" mode but leader have the higher mode \"{2}\"" msgstr "" -#: src/rougail/annotator/family.py:320 +#: src/rougail/annotator/family.py:324 msgid "the family \"{0}\" is in \"{1}\" mode but variables and families inside have the higher modes \"{2}\"" msgstr "" -#: src/rougail/annotator/family.py:338 +#: src/rougail/annotator/family.py:342 msgid "the variable \"{0}\" is in \"{1}\" mode but family has the higher family mode \"{2}\"" msgstr "" @@ -55,94 +55,114 @@ msgstr "" msgid "the variable \"{0}\" is multi but has a non list default value" msgstr "" -#: src/rougail/annotator/variable.py:189 +#: src/rougail/annotator/variable.py:175 msgid "the variable \"{0}\" has regexp attribut but has not the \"regexp\" type" msgstr "" -#: src/rougail/annotator/variable.py:232 +#: src/rougail/annotator/variable.py:218 msgid "the variable \"{0}\" has choices attribut but has not the \"choice\" type" msgstr "" -#: src/rougail/annotator/variable.py:260 +#: src/rougail/annotator/variable.py:246 msgid "the variable \"{0}\" has an unvalid default value \"{1}\" should be in {2}" msgstr "" -#: src/rougail/config.py:216 -msgid "Directories where dictionary files are placed" -msgstr "" - -#: src/rougail/config.py:227 -msgid "Sort dictionaries from differents directories" -msgstr "" - -#: src/rougail/config.py:232 -msgid "Main namespace name" -msgstr "" - -#: src/rougail/config.py:238 -msgid "Extra namespaces" -msgstr "" - -#: src/rougail/config.py:245 -msgid "Extra namespace name" -msgstr "" - -#: src/rougail/config.py:251 -msgid "Directories where extra dictionary files are placed" -msgstr "" - -#: src/rougail/config.py:262 -msgid "Update dictionaries to newest Rougail format version" -msgstr "" - -#: src/rougail/config.py:263 -msgid "Do not update dictionaries to newest Rougail format version" -msgstr "" - -#: src/rougail/config.py:267 -msgid "Update informations" -msgstr "" - -#: src/rougail/config.py:273 -msgid "Directories where dictionary files will be placed" -msgstr "" - -#: src/rougail/config.py:278 -msgid "Directories where extra files will be placed" -msgstr "" - -#: src/rougail/config.py:290 +#: src/rougail/config.py:231 msgid "File with functions" msgstr "" -#: src/rougail/config.py:302 +#: src/rougail/config.py:243 msgid "All modes level available" msgstr "" -#: src/rougail/convert.py:281 -msgid "A variable or a family located in the \"{0}\" namespace shall not be used in the \"{1}\" namespace" +#: src/rougail/config.py:255 +msgid "Default mode for a family" msgstr "" -#: src/rougail/convert.py:480 +#: src/rougail/config.py:275 +msgid "Default mode for a variable" +msgstr "" + +#: src/rougail/config.py:299 +msgid "Option name for the base option" +msgstr "" + +#: src/rougail/config.py:304 +msgid "In cache file, do not importation of Tiramisu and other dependencies" +msgstr "" + +#: src/rougail/config.py:305 +msgid "In cache file, do importation of Tiramisu and other dependencies" +msgstr "" + +#: src/rougail/config.py:310 +msgid "Tiramisu cache filename" +msgstr "" + +#: src/rougail/config.py:318 +msgid "Name of internal functions that we can use as a function" +msgstr "" + +#: src/rougail/config.py:324 +msgid "Name of extra annotators" +msgstr "" + +#: src/rougail/config.py:330 +msgid "Suffix add to generated options name" +msgstr "" + +#: src/rougail/config.py:336 +msgid "Every variables in calculation are optionals" +msgstr "" + +#: src/rougail/config.py:337 +msgid "Variables in calculation are not optional by default" +msgstr "" + +#: src/rougail/config.py:341 src/rougail/config.py:342 +msgid "Loads redefine variables even if there don't already exists" +msgstr "" + +#: src/rougail/config.py:443 +msgid "Default parameters for option type" +msgstr "" + +#: src/rougail/convert.py:270 msgid "unknown type {0} for {1}" msgstr "" -#: src/rougail/convert.py:613 -msgid "The family \"{0}\" already exists and it is not redefined" +#: src/rougail/convert.py:402 +msgid "family \"{0}\" define multiple time" msgstr "" -#: src/rougail/convert.py:1356 -msgid "duplicate dictionary file name {0}" +#: src/rougail/convert.py:658 +msgid "variable \"{0}\" define multiple time" msgstr "" -#: src/rougail/convert.py:1403 +#: src/rougail/convert.py:761 +msgid "params must be a dict for {0}" +msgstr "" + +#: src/rougail/convert.py:782 +msgid "\"{0}\" has an invalid \"params\" for {1}: {2}" +msgstr "" + +#: src/rougail/convert.py:1096 msgid "Cannot execute annotate multiple time" msgstr "" +#: src/rougail/convert.py:1103 +msgid "invalid \"structural\" definition ({0}), we cannot load any structural file!" +msgstr "" + #: src/rougail/error.py:67 msgid "{0} in {1}" msgstr "" +#: src/rougail/path.py:209 +msgid "A variable or a family located in the \"{0}\" namespace shall not be used in the \"{1}\" namespace" +msgstr "" + #: src/rougail/structural_commandline/annotator.py:67 msgid "alternative_name \"{0}\" conflict with \"--help\"" msgstr "" @@ -151,23 +171,59 @@ msgstr "" msgid "conflict alternative_name \"{0}\": \"{1}\" and \"{2}\"" msgstr "" -#: src/rougail/structural_commandline/annotator.py:95 +#: src/rougail/structural_commandline/annotator.py:98 msgid "negative_description is mandatory for boolean variable, but \"{0}\" hasn't" msgstr "" -#: src/rougail/structural_commandline/annotator.py:104 +#: src/rougail/structural_commandline/annotator.py:106 msgid "negative_description is only available for boolean variable, but \"{0}\" is \"{1}\"" msgstr "" -#: src/rougail/update/update.py:738 -msgid "not a XML file: {0}" +#: src/rougail/structural_directory/__init__.py:127 +msgid "duplicate dictionary file name {0}" +msgstr "" + +#: src/rougail/structural_directory/config.py:32 +msgid "Directories where dictionary files are placed" +msgstr "" + +#: src/rougail/structural_directory/config.py:46 +msgid "Sort dictionaries from differents directories" +msgstr "" + +#: src/rougail/structural_directory/config.py:56 +msgid "Main namespace name" +msgstr "" + +#: src/rougail/structural_directory/config.py:67 +msgid "Extra namespaces" +msgstr "" + +#: src/rougail/structural_directory/config.py:76 +msgid "Extra namespace name" +msgstr "" + +#: src/rougail/structural_directory/config.py:82 +msgid "Directories where extra dictionary files are placed" +msgstr "" + +#: src/rougail/tiramisureflector.py:376 +msgid "internal error, {0} is not a dynamic variable" +msgstr "" + +#: src/rougail/user_datas.py:155 +msgid "the variable \"{0}\" contains secrets and should not be defined in {1}" +msgstr "" + +#: src/rougail/user_datas.py:215 +msgid "the option \"{0}\" is an option description" msgstr "" #: src/rougail/utils.py:55 msgid "invalid variable or family name \"{0}\" must only contains lowercase ascii character, number or _" msgstr "" -#: src/rougail/utils.py:117 +#: src/rougail/utils.py:113 msgid "error in jinja \"{0}\" for the variable \"{1}\": {2}" msgstr "" diff --git a/src/rougail/config.py b/src/rougail/config.py index e3174d0fd..12205d492 100644 --- a/src/rougail/config.py +++ b/src/rougail/config.py @@ -327,19 +327,19 @@ extra_annotators: commandline: false suffix: - description: {_("Suffix add to generated option name")} + description: {_("Suffix add to generated options name")} default: '' mandatory: false commandline: false force_optional: - description: {_("Every variable in calculation are optional")} - negative_description: {_("Variable in calculation are not optional by default")} + description: {_("Every variables in calculation are optionals")} + negative_description: {_("Variables in calculation are not optional by default")} default: False load_unexist_redefine: - description: {_("Load redefine variable even if there don't already exists")} - negative_description: {_("Load redefine variable even if there don't already exists")} + description: {_("Loads redefine variables even if there don't already exists")} + negative_description: {_("Loads redefine variables even if there don't already exists")} commandline: false default: False @@ -349,9 +349,13 @@ load_unexist_redefine: "user data": [], "output": [], } + processes_empty = [] for module in get_sub_modules().values(): data = module.get_rougail_config(backward_compatibility=backward_compatibility) - processes[data["process"]].append(data) + if data["process"]: + processes[data["process"]].append(data) + else: + processes_empty.append(data["options"]) # reorder for process in processes: processes[process] = list(sorted(processes[process], key=get_level)) @@ -363,7 +367,6 @@ load_unexist_redefine: {NAME}: description: Select for {NAME} - alternative_name: {NAME[0]} choices: """.format( NAME=normalize_family(process), @@ -371,11 +374,28 @@ load_unexist_redefine: for obj in objects: rougail_process += f" - {obj['name']}\n" if process == "structural": - rougail_process += """ commandline: false - multi: true +# rougail_process += """ commandline: false + rougail_process += """ multi: true default: - directory """ + hidden_outputs = [ + process["name"] + for process in processes["output"] + if process.get("allow_user_data", True) + ] + if hidden_outputs: + rougail_process += """ + hidden: + type: jinja + jinja: | +""" + for hidden_output in hidden_outputs: + rougail_process += """ {% if _.output == 'NAME' %} + Cannot load structural for NAME output + {% endif %}""".replace( + "NAME", hidden_output + ) elif process == "user data": rougail_process += """ multi: true mandatory: false""" @@ -435,6 +455,8 @@ default_params: mandatory: false default: {value} """ + for process_empty in processes_empty: + rougail_process += process_empty rougail_options += rougail_process # print(rougail_options) convert = FakeRougailConvert(add_extra_options) diff --git a/src/rougail/convert.py b/src/rougail/convert.py index fab55ac47..55cf1a18c 100644 --- a/src/rougail/convert.py +++ b/src/rougail/convert.py @@ -1100,7 +1100,7 @@ class RougailConvert(ParserVariable): def parse_directories(self) -> None: if not self.walker: - msg = _("cannot find walker in structural {0}!").format(self.structurals) + msg = _('invalid "structural" definition ({0}), we cannot load any structural file!').format(self.structurals) raise DictConsistencyError(msg, 51, None) self.init() self.walker(self) diff --git a/src/rougail/locale/fr/LC_MESSAGES/rougail.mo b/src/rougail/locale/fr/LC_MESSAGES/rougail.mo index 25b24c22f3aef6113c60968cf758dd172563b998..d4b0be014069440eeaa62109db103145cce6ad42 100644 GIT binary patch literal 7517 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