# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2026-04-29 21:06+0200\n"
"PO-Revision-Date: 2026-04-29 21:11+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.9\n"

#: src/rougail/annotator/family.py:152
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:158
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:190
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:194
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:258
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}\""

#: src/rougail/annotator/family.py:296
msgid ""
"the follower \"{0}\" is in \"{1}\" mode but leader have the higher mode "
"\"{2}\""
msgstr ""
"la variable suiveuse \"{0}\" a le mode \"{1}\" mais la variable leader a un "
"mode supérieur \"{2}\""

#: src/rougail/annotator/family.py:329
msgid ""
"the family \"{0}\" is in \"{1}\" mode but variables and families inside have "
"the higher modes \"{2}\""
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:347
msgid ""
"the variable \"{0}\" is in \"{1}\" mode but family has the higher family "
"mode \"{2}\""
msgstr ""
"la variable \"{0}\" est dans le mode \"{1}\" mais la famille a le mode "
"supérieur \"{2}\""

#: src/rougail/annotator/property.py:182
msgid ""
"invalid tag name \"{0}\" should only contains lowercase ascii character, "
"number or _"
msgstr ""
"nom de l'étiquette invalide \"{0}\" doit seulement contenir des caractères "
"ascii minuscule, nombre or _"

#: src/rougail/annotator/property.py:187
msgid "invalid tag name \"{0}\" should not be a name of an existing mode"
msgstr ""
"nom de l'étiquette invalide \"{0}\" ne doit pas être un nom de mode existant"

#: src/rougail/annotator/property.py:192
msgid ""
"invalid tag name \"{0}\" should not be the name of an available properties"
msgstr ""
"nom de l'étiquette invalide \"{0}\" ne doit pas être le nom d'une propriétés "
"existantes"

#: src/rougail/annotator/value.py:78
msgid ""
"the follower \"{0}\" is not multi, so cannot have a list has default value"
msgstr ""
"la variable suiveuse \"{0}\" n'est pas multiple, donc ne peut avoir une "
"liste comme valeur par défaut"

#: src/rougail/annotator/value.py:94
msgid "the variable \"{0}\" is multi but has a non list default value"
msgstr ""
"la variable \"{0}\" est multiple mais a une valeur par défaut sans être une "
"liste"

#: src/rougail/annotator/value.py:118
msgid "the variable \"{0}\" is a \"choice\" variable but don't have any choice"
msgstr "la variable \"{0}\" a une variable à \"choix\" mais n'a aucun choix"

#: src/rougail/annotator/value.py:137
msgid "the variable \"{0}\" is a \"regexp\" variable but don't have any regexp"
msgstr ""
"la variable \"{0}\" a une variable \"regexp\" mais n'a pas de \"regexp\""

#: src/rougail/annotator/variable.py:93
msgid ""
"only \"unix_user\" or \"secret\" variable type can have \"secret_manager\" "
"attribute, but \"{0}\" has type \"{1}\""
msgstr ""
"seul une variable de type \"unix_user\" ou \"secret\" peut avoir l'attribut "
"\"secret_manager\", mais \"{0}\" a le type \"{1}\""

#: src/rougail/annotator/variable.py:100
msgid ""
"the variable \"{0}\" has attribute \"secret_manager\" but is a multi variable"
msgstr ""
"la variable \"{0}\" a l'attribut \"secret_manager\" mais est une variable "
"multiple"

#: src/rougail/annotator/variable.py:105
msgid ""
"the variable \"{0}\" has attribute \"secret_manager\" so must not have "
"default value"
msgstr ""
"la variable \"{0}\" a l'attribut \"secret_manager\" donc ne devrait pas "
"avoir de valeur par défaut"

#: src/rougail/annotator/variable.py:159
msgid "{0} values needed, but there are {{{{ var | length }}}}"
msgstr "il faut {0} valeurs, mais il y en a {{{{ var | length }}}}"

#: src/rougail/annotator/variable.py:160
msgid "needs exactly {0} values"
msgstr "nécessite exactement {0} valeurs"

#: src/rougail/annotator/variable.py:162
msgid ""
"a maximum of {0} values are needed, but there are {{{{ var | length }}}}"
msgstr "il faut au maximum {0} valeurs, mais il y en a {{{{ var | length }}}}"

#: src/rougail/annotator/variable.py:163
msgid "needs a maximum of {0} values"
msgstr "nécessite au maximum {0} valeurs"

#: src/rougail/annotator/variable.py:167
msgid ""
"a minimum of {0} values are needed, but there are {{{{ var | length }}}}"
msgstr "il faut au minimum {0} valeurs, mais il y en a {{{{ var | length }}}}"

#: src/rougail/annotator/variable.py:168
msgid "needs a minimum of {0} values"
msgstr "nécessite au minimum {0} valeurs"

#: src/rougail/annotator/variable.py:246
msgid "the \"{0}\" default value is a calculation with itself"
msgstr "la valeur par défaut \"{0}\" est un calcul avec elle-même"

#: src/rougail/annotator/variable.py:310
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:353
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:381
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/__init__.py:283
msgid "Default version of the structural file format"
msgstr "Version par défaut du format des fichiers de structure"

#: src/rougail/config/__init__.py:284
msgid ""
"This value is only used if the version is not set in the structural file"
msgstr ""
"Cette valeur n'est utilisée que si la version n'est pas définie dans le "
"fichier de structure"

#: src/rougail/config/__init__.py:292
msgid "File with personalize types"
msgstr "Fichier avec types personnalisés"

#: src/rougail/config/__init__.py:293
msgid ""
"This file contains personalize types in Rougail format for structure files"
msgstr ""
"Ce fichier contient des types personnalisés au format Rougail pour les "
"fichiers de structure"

#: src/rougail/config/__init__.py:302
msgid "File with functions"
msgstr "Fichier avec les fonctions"

#: src/rougail/config/__init__.py:303
msgid ""
"This file contains filters and additional Jinja2 functions usable in "
"structure files"
msgstr ""
"Ce fichier contient des filtres et des fonctions Jinja2 supplémentaires "
"utilisables dans les fichiers de structure"

#: src/rougail/config/__init__.py:314
msgid "All modes level available"
msgstr "Tous les niveaux de modes valides"

#: src/rougail/config/__init__.py:326
msgid "Default mode for a family"
msgstr "Mode par défaut pour une famille"

#: src/rougail/config/__init__.py:332
msgid "the first one defined in \"modes_level\""
msgstr "le premier défini dans \"modes_level\""

#: src/rougail/config/__init__.py:338 src/rougail/config/__init__.py:365
msgid "when no mode is defined in \"modes_level\""
msgstr "si aucun mode n'est défini dans \"modes_level\""

#: src/rougail/config/__init__.py:345 src/rougail/config/__init__.py:372
msgid "this mode must be available in \"modes_level\""
msgstr "ce mode doit être disponible dans \"modes_level\""

#: src/rougail/config/__init__.py:349
msgid "Default mode for a variable"
msgstr "Mode par défaut pour une variable"

#: src/rougail/config/__init__.py:359
msgid ""
"if the variable \"modes_level\" is defined, the default value is the second "
"available element, otherwise, the first"
msgstr ""
"si la variable \"modes_level\" est définit, la valeur par défaut est le "
"second élément disponible, sinon, le premier"

#: src/rougail/config/__init__.py:376
msgid "Option name for the base option"
msgstr "Nom de l'option pour l'option de base"

#: src/rougail/config/__init__.py:381
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/__init__.py:386
msgid "Store Tiramisu cache filename"
msgstr "Enregistrer le cache Tiramisu dans le fichier"

#: src/rougail/config/__init__.py:387
msgid ""
"This file contains the Tiramisu instructions used internally to load the "
"variables.\n"
"\n"
"This file can be used for debugging"
msgstr ""
"Ce fichier contient les instructions Tiramisu utilisé en interne pour "
"charger les variables.\n"
"\n"
"Ce fichier peut être utilisé pour le débogage"

#: src/rougail/config/__init__.py:398
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/__init__.py:404
msgid "Name of extra annotators"
msgstr "Nom des annotators supplémentaires"

#: src/rougail/config/__init__.py:410
msgid "Suffix add to generated options name"
msgstr "Suffix ajouté pour généré le nom des options"

#: src/rougail/config/__init__.py:416
msgid "Every variables in calculation are optionals"
msgstr "Toutes les variables dans un calcul sont optionnelles"

#: src/rougail/config/__init__.py:420
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/__init__.py:424
msgid "The secret manager"
msgstr "Le gestionnaire de secret"

#: src/rougail/config/__init__.py:427
msgid ""
"The secret pattern to constructing the name of the item searched for in the "
"secret manager"
msgstr ""
"Le modèle de secret permettant de construire le nom de l'élément recherché "
"dans le gestionnaire de secrets"

#: src/rougail/config/__init__.py:428
msgid "The pattern is in Jinja2 format"
msgstr "Le modèle est au format Jinja2"

#: src/rougail/config/__init__.py:437
msgid "structural"
msgstr "structure"

#: src/rougail/config/__init__.py:438
msgid "user datas"
msgstr "données utilisateur"

#: src/rougail/config/__init__.py:439
msgid "output"
msgstr "sortie"

#: src/rougail/config/__init__.py:460
msgid "select for {0}"
msgstr "sélection pour {0}"

#: src/rougail/config/__init__.py:498
msgid "outputs {0} did not allow user data"
msgstr "les sorties {0} n'autorisent pas des données utilisateur"

#: src/rougail/config/__init__.py:524
msgid "Override default parameters for option type"
msgstr "Sur charger les paramètre par défaut pour le type d'option"

#: src/rougail/config/__init__.py:527
msgid "Default parameters for option type"
msgstr "Paramètre par défaut pour le type d'option"

#: src/rougail/convert/convert.py:282
msgid "unknown type \"{0}\" for \"{1}\""
msgstr "type \"{0}\" inconnu pour \"{1}\""

#: src/rougail/convert/convert.py:441
msgid "family \"{0}\" define multiple time"
msgstr "la famille \"{0}\" est définit plusieurs fois"

#: src/rougail/convert/convert.py:739
msgid "variable \"{0}\" define multiple time"
msgstr "la variable \"{0}\" est définit plusieurs fois"

#: src/rougail/convert/convert.py:796
msgid "the {0} \"{1}\" has an invalid \"{2}\": {3}"
msgstr "l\" {0} \"{1}\" a un invalide \"{2}\" : {3}"

#: src/rougail/convert/convert.py:836 src/rougail/convert/convert.py:843
msgid "params must be a dict for {0}"
msgstr "params doit être une dict pour {0}"

#: src/rougail/convert/convert.py:864
msgid "\"{0}\" has an invalid \"params\" for {1}: {2}"
msgstr "\"{0}\" a un attribut \"params\" invalide pour {1}: {2}"

#: src/rougail/convert/convert.py:881
msgid "secret_manager must be a dict for {0}"
msgstr "secret_manager doit être une dict pour {0}"

#: src/rougail/convert/convert.py:1257
msgid "Cannot execute annotate multiple time"
msgstr "Ne peut exécuter l'annotation plusieurs fois"

#: src/rougail/convert/convert.py:1264
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/convert/object_model.py:132
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/convert/object_model.py:138
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/convert/object_model.py:143
#: src/rougail/convert/object_model.py:530
msgid "unknown object \"{0}\" in attribute \"{1}\" for \"{2}\""
msgstr "objet inconnu \"{0}\" dans l'attribut \"{1}\" pour \"{2}\""

#: src/rougail/convert/object_model.py:162
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/convert/object_model.py:191
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/convert/object_model.py:196
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/convert/object_model.py:213
msgid ""
"the variable \"{0}\" is not a follower, so cannot have index type for param "
"in \"{1}\""
msgstr ""
"la variable \"{0}\" n'est pas suiveuse, donc ne peut avoir de type index "
"comme paramètre dans \"{1}\""

#: src/rougail/convert/object_model.py:264
msgid ""
"\"warnings\" are only available with attribute \"{self.attribute_name}\" for "
"variable \"{self.path}\""
msgstr ""
"\"warnings\" est seulement utilisable avec l'attribut \"{self.attribute_name}"
"\" pour la variable \"{self.path}\""

#: src/rougail/convert/object_model.py:326
msgid ""
"the variable \"{0}\" has a depreciated return_type \"{1}\", please use "
"\"{2}\" instead in {3}"
msgstr ""
"la variable \"{0}\" a un attribut return_type déprécié \"{1}\", veuillez "
"utiliser \"{2}\" au lieu de \"{3}\""

#: src/rougail/convert/object_model.py:414
#: src/rougail/convert/object_model.py:448
msgid ""
"variable \"{0}\" has a calculating \"{1}\" with an invalid return_type, "
"should be boolean or string, not \"{2}\""
msgstr ""
"la variable \"{0}\" a un calcul \"{1}\" avec un return_type invalide, "
"devrait être un booléen ou une chaîne de caractère, et pas \"{2}\""

#: src/rougail/convert/object_model.py:425
msgid ""
"the variable \"{0}\" has a return_type \"{1}\", for attribute \"{2}\" but "
"has not description in {3}"
msgstr ""
"la variable \"{0}\" a un return_type \"{1}\", pour l'attribut \"{2}\" mais "
"n'a pas de description dans {3}"

#: src/rougail/convert/object_model.py:430
msgid "value is invalid"
msgstr "la valeur est invalide"

#: src/rougail/convert/object_model.py:525
msgid ""
"a variable \"{0}\" is needs in attribute \"{1}\" for \"{2}\" but it's a "
"family"
msgstr ""
"une variable \"{0}\" est nécessaire pour l'attribut \"{1}\" pour \"{2}\" "
"mais c'est une famille"

#: src/rougail/convert/object_model.py:548
msgid ""
"variable \"{0}\" has an attribute \"{1}\" with an identifier \"{2}\" but the "
"path has also the identifier \"{3}\""
msgstr ""
"la variable \"{0}\" a un attribut \"{1}\" avec un identifiant \"{2}\" mais "
"le chemin a aussi l'identifiant \"{3}\""

#: src/rougail/convert/object_model.py:556
msgid ""
"variable \"{0}\" has an attribute \"{1}\" calculated with the unknown "
"variable \"{2}\""
msgstr ""
"la variable \"{0}\" a un attribut invalide \"{1}\" calculé avec la variable "
"inconnue \"{2}\""

#: src/rougail/convert/object_model.py:605
msgid ""
"the variable \"{0}\" has an invalid \"{1}\" the variable \"{2}\" is in a sub "
"dynamic option"
msgstr ""
"la variable \"{0}\" a un attribut invalide \"{1}\", la variable \"{2}\" est "
"dans une sous option dynamique"

#: src/rougail/convert/object_model.py:614
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/convert/object_model.py:656
msgid ""
"the variable \"{0}\" has an invalid attribute \"{1}\", the variable \"{2}\" "
"must not be multi"
msgstr ""
"la variable \"{0}\" a un attribut invalide \"{1}\", la variable \"{2}\" ne "
"doit pas être multiple"

#: src/rougail/convert/object_model.py:670
msgid ""
"the variable \"{0}\" has an invalid attribute \"{1}\", the variable must not "
"be a multi or the variable \"{2}\" must be multi"
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/convert/object_model.py:684
msgid ""
"the variable \"{0}\" has an invalid attribute \"{1}\", the variable must be "
"a multi or the variable \"{2}\" must not be multi"
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/convert/object_model.py:698
msgid ""
"the variable \"{0}\" has an invalid attribute \"{1}\", the variable \"{2}\" "
"is multi but is inside a list"
msgstr ""
"la variable \"{0}\" a un attribut invalide \"{1}\", la variable \"{2}\" est "
"multiple mais est dans une liste"

#: src/rougail/convert/object_model.py:720
msgid ""
"the variable \"{0}\" is waiting for a list as \"{1}\" but the attribute "
"\"default\" is not a list (\"{2}\")"
msgstr ""
"la variable \"{0}\" attend une liste comme \"{1}\" mais l'attribut "
"\"default\" n'est pas une liste \"{2}\""

#: src/rougail/convert/object_model.py:724
msgid ""
"the variable \"{0}\" is not waiting for a list as \"{1}\" but the attribute "
"\"default\" is a list (\"{2}\")"
msgstr ""
"la variable \"{0}\" n'attend pas une liste comme \"{1}\" mais l'attribut "
"\"default\" est une liste \"{2}\""

#: src/rougail/convert/object_model.py:748
msgid ""
"\"{0}\" attribut shall not have an \"optional\" attribute without the "
"\"default\" attribute for variable \"{1}\""
msgstr ""
"l'attribut \"{0}\" ne devrait pas avoir d'attribut \"optional\" sans "
"l'attribut \"default\" pour la variable \"{1}\""

#: src/rougail/convert/object_model.py:770
msgid ""
"variable \"{0}\" has a default value calculated with \"{1}\" which has "
"incompatible type"
msgstr ""
"la variable \"{0}\" a une valeur par défaut calculé a partir de \"{1}\" "
"laquelle a un type incompatible"

#: src/rougail/convert/object_model.py:816
msgid ""
"the variable \"{0}\" is waiting for a boolean as \"{1}\" but the attribute "
"\"default\" is not a boolean (\"{2}\")"
msgstr ""
"la variable \"{0}\" attend un booléan comme \"{1}\" mais l'attribut "
"\"default\" n'est pas une booléan (\"{2}\")"

#: src/rougail/convert/object_model.py:840
msgid ""
"\"when\" is not allowed in format version 1.0 for attribute \"{0}\" for "
"variable \"{1}\""
msgstr ""
"\"when\" n'est pas autorisé avec le format en version 1.0 pour l'attribut "
"\"{0}\" pour la variable \"{1}\""

#: src/rougail/convert/object_model.py:845
msgid ""
"the variable \"{0}\" has an invalid attribute \"{1}\", \"when\" and "
"\"when_not\" cannot set together"
msgstr ""
"la variable \"{0}\" a un attribut invalide \"{1}\", \"when\" et \"when_not\" "
"ne peuvent pas être défini ensemble"

#: src/rougail/convert/object_model.py:853
msgid ""
"\"when_not\" is not allowed in format version 1.0 for attribute \"{0}\" for "
"variable \"{1}\""
msgstr ""
"\"when_not\" n'est pas autorisé au format 1.0 pour l'attribut \"{0}\" pour "
"la variable variable \"{1}\""

#: src/rougail/convert/object_model.py:864
msgid ""
"\"when\" or \"when_not\" is mandatory for the not boolean variable \"{0}\" "
"in attribute \"{1}\""
msgstr ""
"\"when\" ou \"when_not\" est obligatoire pour la variable non booléenne "
"\"{0}\" dans l'attribut \"{1}\""

#: src/rougail/convert/object_model.py:909
msgid ""
"cannot find variable \"{0}\" for the information \"{1}\" when calculating "
"\"{2}\""
msgstr ""
"ne peut trouver la variable \"{0}\" pour l'information \"{1}\" lors du "
"calcul de \"{2}\""

#: src/rougail/convert/object_model.py:914
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/convert/object_model.py:966
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/convert/object_model.py:972
#: src/rougail/convert/object_model.py:982
msgid ""
"the identifier has an invalid attribute \"{0}\", \"when\" and \"when_not\" "
"cannot set together"
msgstr ""
"l'identifiant a un attribut invalide \"{0}\", \"when\" et \"when_not\" ne "
"peuvent pas être défini ensemble"

#: src/rougail/convert/object_model.py:1008
msgid ""
"the variable \"{0}\" is not a follower, so cannot have index type for \"{1}\""
msgstr ""
"la variable \"{0}\" n'est pas suiveuse, donc ne peut avoir de type index "
"pour \"{1}\""

#: src/rougail/convert/path.py:213
msgid ""
"The variable or the family \"{0}\" located in the \"{1}\" namespace shall "
"not be used in the \"{2}\" namespace"
msgstr ""
"La variable ou la famille \"{0}\" placée dans l'espace de nom \"{1}\" ne "
"devrait pas être utilisé dans l'espace de nom \"{2}\""

#: src/rougail/convert/tiramisureflector.py:348
msgid ""
"variable param \"{0}\" has whole attribute but it's not allowed for external "
"variable"
msgstr ""
"le paramètre de la variable \"{0}\" a un attribut whole mais ce n'est pas "
"autorisé pour une variable externe"

#: src/rougail/convert/tiramisureflector.py:351
msgid ""
"variable param \"{0}\" has dynamic attribute but it's not allowed for "
"external variable"
msgstr ""
"le paramètre de la variable \"{0}\" a un attribut dynamique mais ce n'est "
"pas autorisé pour une variable externe"

#: src/rougail/convert/tiramisureflector.py:360
msgid "internal error, {0} is not a dynamic variable"
msgstr "erreur interne, \"{0}\" n'est pas une variable dynamique"

#: src/rougail/error.py:61 src/rougail/tiramisu.py:237
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\""

#: src/rougail/structural_commandline/annotator.py:72
msgid "conflict alternative_name \"{0}\": \"{1}\" and \"{2}\""
msgstr "conflit dans les \"alternative_name\" \"{0}\": \"{1}\" et \"{2}\""

#: src/rougail/structural_directory/__init__.py:130
msgid "duplicate structural file name {0}"
msgstr "nom de fichier {0} de structure dupliqué"

#: src/rougail/structural_directory/config.py:32
msgid "Main namespace name"
msgstr "Nom de l'espace de nom principal"

#: src/rougail/structural_directory/config.py:40
msgid "directory or string is not in \"_.step.structural\""
msgstr "directory ou string n'est pas dans \"_.step.structural\""

#: src/rougail/structural_directory/config.py:43
msgid "Directories where structural files are placed"
msgstr "Répertoires où sont placés les fichiers de structure"

#: src/rougail/structural_directory/config.py:60
msgid "Sort structural from differents directories"
msgstr "Trier les fichiers de structure à partir de différents répertoires"

#: src/rougail/structural_directory/config.py:69
msgid "Namespaces are isolated"
msgstr "Les espaces de noms sont isolés"

#: src/rougail/structural_directory/config.py:75
msgid ""
"directory or string is not in \"_.step.structural\" or \"_.main_namespace\" "
"is not set"
msgstr ""
"directory ou string n'est pas dans \"_.step.structural\" ou "
"\"_.main_namespace\" n'est pas défini"

#: src/rougail/structural_directory/config.py:78
msgid "Extra namespaces"
msgstr "Espaces de nom supplémentaires"

#: src/rougail/structural_directory/config.py:87
msgid "Extra namespace name"
msgstr "Nom de l'espace de nom supplémentaire"

#: src/rougail/structural_directory/config.py:93
msgid "Directories where extra structural files are placed"
msgstr ""
"Répertoires où sont placés les fichiers de structure de l'espace de nom "
"supplémentaire"

#: src/rougail/structural_directory/config.py:104
msgid "directory is not in \"__.step.structural\""
msgstr "directory n'est pas dans \"__.step.structural\""

#: src/rougail/structural_string/config.py:32
msgid "Structural files contents"
msgstr "Contenu des fichiers de structure"

#: src/rougail/structural_string/config.py:33
#: src/rougail/structural_string/config.py:51
msgid "This variable is a list of string with YAML file format"
msgstr ""
"Cette variable est une liste de chaîne de caractère avec le format d'un "
"fichier YAML"

#: src/rougail/structural_string/config.py:45
msgid "string is not in \"_.step.structural\""
msgstr "string n'est pas dans \"_.step.structural\""

#: src/rougail/structural_string/config.py:50
msgid "Extra structural contents"
msgstr "Contenu de structure supplémentaire"

#: src/rougail/structural_string/config.py:58
msgid "string is not in \"__.step.structural\""
msgstr "string n'est pas dans \"__.step.structural\""

#: src/rougail/tiramisu.py:85
msgid "unknown boolean value \"{0}\""
msgstr "valeur du booléen inconnue \"{0}\""

#: src/rougail/tiramisu.py:88
msgid "IP must be in CIDR format"
msgstr "l'IP doit être au format CIDR"

#: src/rougail/tiramisu.py:89
msgid "private IP are allowed"
msgstr "les IP privées sont autorisées"

#: src/rougail/tiramisu.py:90
msgid "reserved IP are allowed"
msgstr "les IP réservées sont autorisés"

#: src/rougail/tiramisu.py:93
msgid "network must be in CIDR format"
msgstr "le réseau doit être au format CIDR"

#: src/rougail/tiramisu.py:94
msgid "private network are allowed"
msgstr "les réseaux privés sont autorisés"

#: src/rougail/tiramisu.py:95
msgid "reserved network are allowed"
msgstr "les réseaux réservés sont autorisés"

#: src/rougail/tiramisu.py:98
msgid "can be range of port"
msgstr "peut être une plage de port"

#: src/rougail/tiramisu.py:99
msgid "can have the protocol"
msgstr "peut avoir le protocole"

#: src/rougail/tiramisu.py:100
msgid "port 0 is allowed"
msgstr "port 0 est autorisé"

#: src/rougail/tiramisu.py:101
msgid "well-known ports (1 to 1023) are allowed"
msgstr "les ports connus (1 à 1023) sont autorisés"

#: src/rougail/tiramisu.py:102
msgid "registred ports (1024 to 49151) are allowed"
msgstr "les ports enregistrés (1024 à 49151) sont autorisés"

#: src/rougail/tiramisu.py:103
msgid "private ports (greater than 49152) are allowed"
msgstr "les ports privés (supérieur à 49152) sont autorisés"

#: src/rougail/tiramisu.py:106
msgid "type of domainname"
msgstr "type de nom de domaine"

#: src/rougail/tiramisu.py:106
msgid "type {0}"
msgstr "type de {0}"

#: src/rougail/tiramisu.py:107
msgid "the domain name can starts by a dot"
msgstr "le nom de domaine peut démarré par un point"

#: src/rougail/tiramisu.py:108
msgid "the domain name can be a hostname"
msgstr "le nom de domaine peut être un nom d'hôte"

#: src/rougail/tiramisu.py:109
msgid "the domain name can be an IP"
msgstr "le nom de domaine peut être une IP"

#: src/rougail/tiramisu.py:110
msgid "the domain name can be network in CIDR format"
msgstr "le nom de domaine peut être un réseau au format CIDR"

#: src/rougail/tiramisu.py:111
msgid "the domain name must exist"
msgstr "le nom de domaine doit exister"

#: src/rougail/tiramisu.py:121 src/rougail/tiramisu.py:127
msgid "the minimum value"
msgstr "la valeur minimale"

#: src/rougail/tiramisu.py:121 src/rougail/tiramisu.py:127
msgid "the minimum value is {0}"
msgstr "la valeur minimale est {0}"

#: src/rougail/tiramisu.py:122 src/rougail/tiramisu.py:128
msgid "the maximum value"
msgstr "la valeur maximale"

#: src/rougail/tiramisu.py:122 src/rougail/tiramisu.py:128
msgid "the maximum value is {0}"
msgstr "la valeur maximale est {0}"

#: src/rougail/tiramisu.py:137
msgid "minimum characters length for the secret"
msgstr "longueur minimum de caractère pour un secret"

#: src/rougail/tiramisu.py:137
msgid "minimum length for the secret is {0} characters"
msgstr "longueur minimum pour un secret est de {0} caractères"

#: src/rougail/tiramisu.py:138
msgid "maximum characters length for the secret"
msgstr "longueur maximum de caractère pour un secret"

#: src/rougail/tiramisu.py:138
msgid "maximum length for the secret is {0} characters"
msgstr "longueur maximum pour un secret est de {0} caractères"

#: src/rougail/tiramisu.py:139
msgid "forbidden characters"
msgstr "caractères interdits"

#: src/rougail/tiramisu.py:139
msgid "forbidden characters: {0}"
msgstr "caractères interdits: {0}"

#: src/rougail/tiramisu.py:146
msgid "this filename could be a relative path"
msgstr "le nom de fichier peut être une chemin relatif"

#: src/rougail/tiramisu.py:147
msgid "this file must exist"
msgstr "le fichier doit exister"

#: src/rougail/tiramisu.py:148
msgid "file type allowed"
msgstr "type de fichier autorisé"

#: src/rougail/tiramisu.py:148
msgid "file type allowed: {0}"
msgstr "type de fichier autorisé: {0}"

#: src/rougail/tiramisu.py:438
msgid "cannot calculate the variable \"{0}\""
msgstr "ne peut calculer la variable \"{0}\""

#: src/rougail/tiramisu.py:439
msgid ""
"the attribute \"{0}\" in {1} with the parameters \"{2}\" causes the error: "
"{3}"
msgstr ""
"l'attribut \"{0}\" dans {1} avec les paramètres \"{2}\" provoque l'erreur : "
"{3}"

#: src/rougail/tiramisu.py:457
msgid "cannot converting the variable \"{0}\""
msgstr "ne peut convertir la variable \"{0}\""

#: src/rougail/tiramisu.py:458
msgid "\"{0}\" is an invalid {1}"
msgstr "\"{0}\" est un {1} invalide"

#: src/rougail/tiramisu.py:460
msgid "the attribute \"{0}\" in {1} causes the error: {2}"
msgstr "l'attribut \"{0}\" dans {1} provoque l'erreur : {2}"

#: src/rougail/user_data.py:105
msgid "{0}, it will be ignored"
msgstr "{0}, elle sera ignorée"

#: src/rougail/user_data.py:156
msgid ""
"cannot load variable path \"{0}\", the identifier \"{1}\" is not valid in {2}"
msgstr ""
"ne peut charger la variable \"{0}\", l'identifiant \"{1}\" n'est pas valide "
"dans {2}"

#: src/rougail/user_data.py:240
msgid "the variable contains secrets and should not be defined in {0}"
msgstr ""
"la variable contient des secrets et ne devrait pas être défini dans {0}"

#: src/rougail/user_data.py:326
msgid ""
"it's a family so we cannot set the value {0}, it has been loading from {1}"
msgstr ""
"c'est une famille donc il n'est pas possible de définir la valeur {0}, elle "
"a été chargée depuis {1}"

#: src/rougail/user_data.py:330
msgid ""
"it's a family so we cannot set the value {0}, it will be ignored when "
"loading from {1}"
msgstr ""
"c'est une famille donc il n'est pas possible de définir la valeur {0}, elle "
"sera ignorée lors du chargement depuis {1}"

#: src/rougail/user_data.py:340
msgid "it's a symlink option so we cannot set the value {0}"
msgstr ""
"c'est un option symlink donc il n'est pas possible de définir la valeur {0}"

#: src/rougail/user_data.py:342 src/rougail/user_data.py:372
#: src/rougail/user_data.py:504 src/rougail/user_data.py:516
#: src/rougail/user_data.py:529
msgid "{0}, it has been loading from {1}"
msgstr "{0}, elle a été chargée depuis {1}"

#: src/rougail/user_data.py:344 src/rougail/user_data.py:376
#: src/rougail/user_data.py:508 src/rougail/user_data.py:520
#: src/rougail/user_data.py:531
msgid "{0}, it will be ignored when loading from {1}"
msgstr "{0}, elle sera ignorée lors du chargement depuis {1}"

#: src/rougail/user_data.py:349 src/rougail/user_data.py:354
msgid "{0}, it has been loaded from {1}"
msgstr "{0}, elle a été chargée depuis {1}"

#: src/rougail/user_data.py:368
msgid "variable or family \"{0}\" does not exist so cannot load \"{1}\""
msgstr ""
"la variable ou la famille \"{0}\" n'existe pas donc ne peut charger \"{1}\""

#: src/rougail/user_data.py:385
msgid "\"{0}\" is the name of a dynamic family, it has been loading from {1}"
msgstr ""
"\"{0}\" est le nom d'une famille dynamique, elle a été chargée depuis {1}"

#: src/rougail/user_data.py:389
msgid ""
"\"{0}\" is the name of a dynamic family, it will be ignored when loading "
"from {1}"
msgstr ""
"\"{0}\" est le nom d'une famille dynamique, il sera ignoré lors du "
"chargement depuis {1}"

#: src/rougail/user_data.py:395
msgid "{0} loaded from {1}"
msgstr "{0} chargée depuis {1}"

#: src/rougail/user_data.py:436
msgid "variable {0} at index \"{1}\" is {2}, it has been loading from {3}"
msgstr ""
"la variable {0} à l'index \"{1}\" est {2}, elle a été chargée depuis {3}"

#: src/rougail/user_data.py:440
msgid ""
"variable {0} at index \"{1}\" is {2}, it will be ignored when loading from "
"{3}"
msgstr ""
"la variable {0} à l'index \"{1}\" est {2}, elle sera ignorée lors du "
"chargement depuis {3}"

#: src/rougail/user_data.py:453
msgid "family {0} is {1}, {2} at index \"{3}\", it has been loading from {4}"
msgstr ""
"la famille {0} est {1}, {2} à l'index \"{3}\", elle a été chargée depuis {4}"

#: src/rougail/user_data.py:457
msgid ""
"family {0} is {1}, {2} at index \"{3}\", it will be ignored when loading "
"from {4}"
msgstr ""
"la famille {0} est {1}, {2} à l'index \"{3}\", elle a été chargée depuis {4}"

#: src/rougail/user_data.py:472
msgid "variable has propery {0}, it has been loading from {1}"
msgstr "la variable a la propriété {0}, elle a été chargée depuis {1}"

#: src/rougail/user_data.py:476
msgid "variable has property {0}, it will be ignored when loading from {1}"
msgstr ""
"la variable a la propriété {0}, elle sera ignorée lors du chargement depuis "
"{1}"

#: src/rougail/user_data.py:487
msgid ""
"family {0} has property {1}, so cannot access to {2}, it has been loading "
"from {3}"
msgstr ""
"la famille {0} a la propriété {1}, donc ne peut accéder à {2}, elle a été "
"chargée depuis {3}"

#: src/rougail/user_data.py:491
msgid ""
"family {0} has property {1}, so cannot access to {2}, it will be ignored "
"when loading from {3}"
msgstr ""
"la famille {0} a la propriété {1}, donc ne peut accéder à {2}, sera ignorée "
"lors du chargement depuis {3}"

#: src/rougail/user_data.py:536
msgid "the value {0} is an invalid {1}, {2}"
msgstr "la valeur {0} est un {1} invalide, {2}"

#: src/rougail/user_data.py:542
msgid ", it has been loading from {0}"
msgstr ", elle a été chargée depuis {0}"

#: src/rougail/user_data.py:544
msgid ", it will be ignored when loading from {0}"
msgstr ", elle sera ignorée lors du chargement depuis {0}"

#: src/rougail/user_data.py:585
msgid "loaded from {0}"
msgstr "chargée depuis {0}"

#: src/rougail/user_data.py:593
msgid "{0} (the search key is \"{1}\")"
msgstr "{0} (la clé recherchée est \"{1}\")"

#: src/rougail/user_data.py:652 src/rougail/user_data.py:666
msgid "null is not a valid value for a multi"
msgstr "null est une valeur invalide pour une multi"

#: src/rougail/user_data.py:655 src/rougail/user_data.py:668
msgid "mandatory variable but has no value"
msgstr "variable obligatoire mais sans valeur"

#: src/rougail/user_data.py:657
msgid "mandatory variable at index \"{0}\" but has no value"
msgstr "la variable obligatoire à l'index \"{0}\" mais n'a pas de valeur"

#: src/rougail/user_data.py:660
msgid ""
"mandatory variable but is inaccessible and has no value or has null in value"
msgstr ""
"une variable obligatoire mais est inaccessible et n'a pas de valeur ou a une "
"valeur null"

#: src/rougail/user_data.py:662
msgid ""
"mandatory variable at index \"{0}\" but is inaccessible and has no value or "
"has null in value"
msgstr ""
"une variable obligatoire a l'index \"{0}\" mais est inaccessible et n'a pas "
"de valeur ou a une valeur null"

#: src/rougail/utils.py:56
msgid ""
"invalid variable or family name \"{0}\" must only contains lowercase ascii "
"character, number or _"
msgstr ""
"nom invalide pour la variable ou famille \"{0}\" doit seulement contenir des "
"caractères ascii minuscule, nombre or _"

#: src/rougail/utils.py:104
msgid "error for the variable \"{1}\" in jinja \"{0}\": {2}"
msgstr "erreur pour la variable \"{1}\" dans le jinja \"{0}\": {2}"

#: src/rougail/utils.py:216
msgid "mandatory"
msgstr "obligatoire"

#: src/rougail/utils.py:217
msgid "hidden"
msgstr "cachée"

#: src/rougail/utils.py:218
msgid "disabled"
msgstr "désactivé"

#: src/rougail/utils.py:219
msgid "unique"
msgstr "unique"

#: src/rougail/utils.py:220
msgid "auto modified"
msgstr "auto modifiée"

#~ msgid "type is not compatible with leadership family"
#~ msgstr "type n'est pas compatible avec une famille leadership"

#~ msgid "type is not compatible with dynamic family"
#~ msgstr "type n'est pas compatible avec une famille dynamique"

#~ msgid ""
#~ "variable or family \"{0}\" does not exist, it will be ignored when "
#~ "loading from {1}"
#~ msgstr ""
#~ "la variable ou la famille \"{0}\" n'existe pas, elle sera ignorée lors du "
#~ "chargement depuis {1}"

#~ msgid ""
#~ "the value \"{0}\" is an invalid {1} for {2} at index \"{3}\", {4}, it has "
#~ "been loading from {5}"
#~ msgstr ""
#~ "la valeur \"{0}\" est un {1} invalide pour {2} à l'index \"{3}\", {4}, "
#~ "elle a été chargée depuis {5}"

#~ msgid ""
#~ "the value \"{0}\" is an invalid {1} for {2} at index \"{3}\", {4}, it "
#~ "will be ignored when loading from {5}"
#~ msgstr ""
#~ "la valeur \"{0}\" est un {1} invalide pour {2} à l'index \"{3}\", {4}, "
#~ "elle sera ignorée lors du chargement depuis {5}"

#~ msgid ""
#~ "the value \"{0}\" is an invalid {1}, {2}, it has been loading from {3}"
#~ msgstr ""
#~ "la valeur \"{0}\" est un {1} invalide, {2}, elle a été chargée depuis {3}"

#~ msgid ""
#~ "the value \"{0}\" is an invalid {1}, {2}, it will be ignored when loading "
#~ "from {3}"
#~ msgstr ""
#~ "la valeur \"{0}\" est un {1} invalide, {2}, elle sera ignorée lors du "
#~ "chargement depuis {3}"

#~ msgid "The secret pattern to build item name in Bitwarden"
#~ msgstr ""
#~ "Le patron de secret pour construire le nom de l'élément dans Bitwarden"

#~ msgid ""
#~ "cannot calculating \"{0}\" attribute for variable \"{1}\" in {2} with "
#~ "parameters \"{3}\": {4}"
#~ msgstr ""
#~ "ne peut calculer l'attribut \"{0}\" pour la variable \"{1}\" dans {2} "
#~ "avec les paramètres \"{3}\" : {4}"

#, fuzzy
#~| msgid ""
#~| "we need {0} values when there are {{{{ var | length }}}} ({{{{ var | "
#~| "join(\", \")}}}})"
#~ msgid ""
#~ "it needs {0} values maximum when there are {{{{ var | length }}}} "
#~ "({{{{ var | join(\", \")}}}})"
#~ msgstr ""
#~ "we need {0} values when there are {{{{ var | length }}}} ({{{{ var | "
#~ "join(\", \")}}}})"

#, fuzzy
#~| msgid ""
#~| "we need {0} values when there are {{{{ var | length }}}} ({{{{ var | "
#~| "join(\", \")}}}})"
#~ msgid ""
#~ "it needs {0} values minimum when there are {{{{ var | length }}}} "
#~ "({{{{ var | join(\", \")}}}})"
#~ msgstr ""
#~ "we need {0} values when there are {{{{ var | length }}}} ({{{{ var | "
#~ "join(\", \")}}}})"

#~ msgid ""
#~ "the variable \"{0}\" is a family, so cannot set the value \"{1}\" in {2}"
#~ msgstr ""
#~ "la variable \"{0}\" est une famille, donc ne peut avoir l'avoir \"{1}\" "
#~ "dans {2}"

#~ msgid "the follower \"{0}\" without multi attribute can only have one value"
#~ msgstr ""
#~ "la variable suiveuse \"{0}\" sans l'attribut multi peut avoir seulement "
#~ "une valeur"

#~ msgid "In cache file, do importation of Tiramisu and other dependencies"
#~ msgstr "Dans le fichier de cache, importer Tiramisu et autres dépendances"

#~ msgid "Variables in calculation are not optional by default"
#~ msgstr "Les variables dans un calcul sont optionnelles par défaut"

#~ msgid "Variable not found \"{0}\" for attribut \"{1}\" in variable \"{2}\""
#~ msgstr ""
#~ "La variable \"{0}\" n'est pas trouvé pour l'attribut \"{1}\" dans la "
#~ "variable \"{2}\""

#~ msgid ""
#~ "the variable \"{0}\" has an invalid attribute \"{1}\", the variable "
#~ "\"{2}\" is not multi but is not inside a list"
#~ msgstr ""
#~ "la variable \"{0}\" a un attribut invalide \"{1}\", la variable \"{2}\" "
#~ "n'est pas multiple mais n'est pas dans une liste"

#~ 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"

#~ msgid ""
#~ "negative_description is only available for boolean variable, but \"{0}\" "
#~ "is \"{1}\""
#~ msgstr ""
#~ "l'attribut negative_description est seulement valide pour des variables "
#~ "\"boolean\", mais \"{0}\" est \"{1}\""

#~ msgid "error in {0}: {1}"
#~ msgstr "erreur dans {0} : {1}"

#~ msgid "the option \"{0}\" is an option description"
#~ msgstr "l'option \"{0}\" est une option description"

#~ 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}"
