From 3aaebfa34e5ec92cdcc716c8eeb4aa267c9b246f Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Tue, 29 Apr 2025 23:02:13 +0200 Subject: [PATCH] fix: update translation --- locale/fr/LC_MESSAGES/tiramisu.po | 102 ++++++++++++--------- locale/tiramisu.pot | 78 +++++++++------- tiramisu/autolib.py | 2 +- tiramisu/locale/fr/LC_MESSAGES/tiramisu.mo | Bin 26783 -> 27117 bytes 4 files changed, 101 insertions(+), 81 deletions(-) diff --git a/locale/fr/LC_MESSAGES/tiramisu.po b/locale/fr/LC_MESSAGES/tiramisu.po index dfe63cd..4aea756 100644 --- a/locale/fr/LC_MESSAGES/tiramisu.po +++ b/locale/fr/LC_MESSAGES/tiramisu.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Tiramisu\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-09 08:14+0200\n" +"POT-Creation-Date: 2025-04-29 23:01+0200\n" "PO-Revision-Date: \n" "Last-Translator: Emmanuel Garette \n" "Language-Team: Tiramisu's team \n" @@ -123,89 +123,93 @@ msgid "do not use unrestraint, nowarnings or forcepermissive together" msgstr "" "il ne faut pas utiliser unrestraint, nowarnings ou forcepermissive ensemble" -#: tiramisu/autolib.py:80 +#: tiramisu/autolib.py:81 msgid "args in params must be a tuple" msgstr "args dans params doit être un tuple" -#: tiramisu/autolib.py:83 tiramisu/autolib.py:88 +#: tiramisu/autolib.py:84 tiramisu/autolib.py:89 msgid "arg in params must be a Param" msgstr "arg dans params doit être un Param" -#: tiramisu/autolib.py:85 +#: tiramisu/autolib.py:86 msgid "kwargs in params must be a dict" msgstr "kwargs dans params doit être un dict" -#: tiramisu/autolib.py:113 +#: tiramisu/autolib.py:114 msgid "paramoption needs an option not {}" msgstr "paramoption doit être une option pas {0}" -#: tiramisu/autolib.py:119 +#: tiramisu/autolib.py:120 msgid "param must have a boolean not a {} for notraisepropertyerror" msgstr "param doit avoir un booléan pas un {} pour notraisepropertyerror" -#: tiramisu/autolib.py:122 +#: tiramisu/autolib.py:123 msgid "param must have a boolean not a {} for raisepropertyerror" msgstr "param doit avoir un booléan pas un {} pour raisepropertyerror" -#: tiramisu/autolib.py:151 +#: tiramisu/autolib.py:152 msgid "identifiers in ParamDynOption must be a list, not {0}" msgstr "" "les identifiants d'un ParamDynOption doivent être une liste, donc pas {0}" -#: tiramisu/autolib.py:155 +#: tiramisu/autolib.py:156 msgid "optional in ParamDynOption must be a boolean, not {0}" msgstr "" "le paramètre optional dans ParamDynOption doit être un booléen, pas {0}" -#: tiramisu/autolib.py:206 +#: tiramisu/autolib.py:207 msgid "cannot add option in information after creating config" msgstr "" "ne peut ajouter une option dans une information après la création de la " "configuration" -#: tiramisu/autolib.py:208 +#: tiramisu/autolib.py:209 msgid "cannot redefine option in information" msgstr "on ne peu pas redéfinir une option dans une information" -#: tiramisu/autolib.py:212 +#: tiramisu/autolib.py:213 msgid "option in ParamInformation cannot be a symlinkoption" msgstr "l'option dans ParamInformation ne peut pas être un symlinkoption" -#: tiramisu/autolib.py:215 +#: tiramisu/autolib.py:216 msgid "option in ParamInformation cannot be a follower" msgstr "l'option dans ParamInformation ne peut pas être suiveuse" -#: tiramisu/autolib.py:218 +#: tiramisu/autolib.py:219 msgid "option in ParamInformation cannot be a dynamic option" msgstr "l'option dans ParamInformation ne peut pas être une option dynamique" -#: tiramisu/autolib.py:279 +#: tiramisu/autolib.py:280 msgid "first argument ({0}) must be a function" msgstr "le premier argument ({0}) doit être une fonction" -#: tiramisu/autolib.py:283 +#: tiramisu/autolib.py:284 msgid "help_function ({0}) must be a function" msgstr "help_function ({0}) doit être une fonction" -#: tiramisu/autolib.py:452 tiramisu/autolib.py:514 -msgid "unable to carry out a calculation for {}, {}" -msgstr "impossible d'effectuer le calcul pour {}, {}" - -#: tiramisu/autolib.py:461 tiramisu/autolib.py:521 +#: tiramisu/autolib.py:455 tiramisu/autolib.py:503 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})" -#: tiramisu/autolib.py:477 tiramisu/autolib.py:535 tiramisu/autolib.py:584 +#: tiramisu/autolib.py:467 tiramisu/autolib.py:515 tiramisu/autolib.py:554 msgid "unable to get value for calculating {0}, {1}" msgstr "impossible de trouver la valeur pour calculer {0}, {1}" -#: tiramisu/autolib.py:601 +#: tiramisu/autolib.py:499 +msgid "unable to carry out a calculation for {0}, {1}" +msgstr "impossible d'effectuer le calcul pour {0}, {1}" + +#: tiramisu/autolib.py:535 +msgid "cannot find information for {0}, {1} is a dynamic option" +msgstr "ne peut trouver l'information pour {0}, {1} est une option dynamique" + +#: tiramisu/autolib.py:564 msgid "option {0} is not a dynoptiondescription or in a dynoptiondescription" msgstr "" "l'option {0} n'est pas une dynoptiondescription ou n'est pas dans une " "dynoptiondescription" -#: tiramisu/autolib.py:687 +#: tiramisu/autolib.py:650 msgid "" "cannot calculate arguments for \"{0}\", cannot find dynamic variable \"{1}\" " "with identifier \"{2}\", list of valid identifiers: {3}" @@ -214,7 +218,12 @@ msgstr "" "dynamique \"{1}\" avec l'identifiant \"{2}\", voici la liste des " "identifiants valables : {3}" -#: tiramisu/autolib.py:866 +#: tiramisu/autolib.py:754 +msgid "the follower {0} must have index in carry_out_calculation!" +msgstr "" +"la variable suiveuse {0} doit avoir un index dans carry_out_calculation!" + +#: tiramisu/autolib.py:826 msgid "" "the \"{}\" function with positional arguments \"{}\" and keyword arguments " "\"{}\" must not return a list (\"{}\") for the follower option {}" @@ -223,7 +232,7 @@ msgstr "" "nommés \"{}\" ne doit pas retourner une liste (\"{}\") pour l'option " "suiveuse {}" -#: tiramisu/autolib.py:881 +#: tiramisu/autolib.py:841 msgid "" "the \"{}\" function must not return a list (\"{}\") for the follower option " "{}" @@ -231,17 +240,17 @@ msgstr "" "la fonction \"{}\" ne doit pas retourner une liste (\"{}\") pour l'option " "suiveuse {}" -#: tiramisu/autolib.py:922 +#: tiramisu/autolib.py:882 msgid "" -"unexpected error \"{0}\" in function \"{1}\" with arguments \"{3}\" and " -"\"{4}\" for option {2}" +"unexpected error \"{1}\" in function \"{2}\" with arguments \"{3}\" and " +"\"{4}\" for option {0}" msgstr "" -"erreur inattendue \"{0}\" dans la fonction \"{1}\" avec les arguments " -"\"{3}\" et \"{4}\" pour l'option {2}" +"erreur inattendue \"{1}\" dans la fonction \"{2}\" avec les arguments " +"\"{3}\" et \"{4}\" pour l'option {0}" -#: tiramisu/autolib.py:933 -msgid "unexpected error \"{0}\" in function \"{1}\" for option {2}" -msgstr "erreur inattendue \"{0}\" dans la fonction \"{1}\" pour l'option {2}" +#: tiramisu/autolib.py:891 +msgid "unexpected error \"{1}\" in function \"{2}\" for option {0}" +msgstr "erreur inattendue \"{1}\" dans la fonction \"{2}\" pour l'option {0}" #: tiramisu/config.py:420 msgid "" @@ -393,21 +402,21 @@ msgid "invalid value" msgstr "valeur invalide" #: tiramisu/error.py:207 -msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\"" -msgstr "attention, \"{0}\" peut être un {1} invalide pour \"{2}\"" +msgid "attention, \"{0}\" could be an invalid {1} for {2}" +msgstr "attention, \"{0}\" peut être un {1} invalide pour {2}" #: tiramisu/error.py:209 -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 "" -"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:228 tiramisu/error.py:239 -msgid "\"{0}\" is an invalid {1} for \"{2}\"" -msgstr "\"{0}\" est une valeur invalide pour l'option \"{2}\" de type {1}" +msgid "\"{0}\" is an invalid {1} for {2}" +msgstr "\"{0}\" est une valeur invalide pour l'option {2} de type {1}" #: tiramisu/error.py:230 -msgid "\"{0}\" is an invalid {1} for \"{2}\" at index \"{3}\"" -msgstr "\"{0}\" est un {1} invalide pour \"{2}\" à l'index \"{3}\"" +msgid "\"{0}\" is an invalid {1} for {2} at index \"{3}\"" +msgstr "\"{0}\" est un {1} invalide pour {2} à l'index \"{3}\"" #: tiramisu/function.py:65 msgid "network \"{0}\" ({1}) does not match with this netmask" @@ -730,10 +739,10 @@ msgstr "une option leadership \"{0}\" ne devrait pas avoir de sous-groupe" #: tiramisu/option/leadership.py:114 msgid "" -"only multi option allowed in leadership {0} but option {1} is not a multi" +"only multi option are allowed in leadership {0} but option {1} is not a multi" msgstr "" -"seules des options multiples sont autorisées dans l'option leadership " -"\"{0}\" alors que l'option \"{1}\" n'est pas une option multiple" +"seules des options multiples sont autorisées dans l'option leadership {0} " +"alors que l'option {1} n'est pas une option multiple" #: tiramisu/option/leadership.py:141 msgid "not allowed default value for follower option {0} in leadership {1}" @@ -1021,6 +1030,9 @@ msgstr "" msgid "information's item not found \"{}\"" msgstr "l'information de l'objet ne sont pas trouvé \"{}\"" +#~ msgid "unable to unable to get value for calculating {0}, {1}" +#~ msgstr "impossible de trouver la valeur pour calculer {0}, {1}" + #~ msgid "" #~ "unknown option \"{0}\" in root optiondescription (it's a dynamic option)" #~ msgstr "" diff --git a/locale/tiramisu.pot b/locale/tiramisu.pot index 1322953..435fe8d 100644 --- a/locale/tiramisu.pot +++ b/locale/tiramisu.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-04-09 08:16+0200\n" +"POT-Creation-Date: 2025-04-29 23:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -111,100 +111,108 @@ msgstr "" msgid "do not use unrestraint, nowarnings or forcepermissive together" msgstr "" -#: tiramisu/autolib.py:80 +#: tiramisu/autolib.py:81 msgid "args in params must be a tuple" msgstr "" -#: tiramisu/autolib.py:83 tiramisu/autolib.py:88 +#: tiramisu/autolib.py:84 tiramisu/autolib.py:89 msgid "arg in params must be a Param" msgstr "" -#: tiramisu/autolib.py:85 +#: tiramisu/autolib.py:86 msgid "kwargs in params must be a dict" msgstr "" -#: tiramisu/autolib.py:113 +#: tiramisu/autolib.py:114 msgid "paramoption needs an option not {}" msgstr "" -#: tiramisu/autolib.py:119 +#: tiramisu/autolib.py:120 msgid "param must have a boolean not a {} for notraisepropertyerror" msgstr "" -#: tiramisu/autolib.py:122 +#: tiramisu/autolib.py:123 msgid "param must have a boolean not a {} for raisepropertyerror" msgstr "" -#: tiramisu/autolib.py:151 +#: tiramisu/autolib.py:152 msgid "identifiers in ParamDynOption must be a list, not {0}" msgstr "" -#: tiramisu/autolib.py:155 +#: tiramisu/autolib.py:156 msgid "optional in ParamDynOption must be a boolean, not {0}" msgstr "" -#: tiramisu/autolib.py:206 +#: tiramisu/autolib.py:207 msgid "cannot add option in information after creating config" msgstr "" -#: tiramisu/autolib.py:208 +#: tiramisu/autolib.py:209 msgid "cannot redefine option in information" msgstr "" -#: tiramisu/autolib.py:212 +#: tiramisu/autolib.py:213 msgid "option in ParamInformation cannot be a symlinkoption" msgstr "" -#: tiramisu/autolib.py:215 +#: tiramisu/autolib.py:216 msgid "option in ParamInformation cannot be a follower" msgstr "" -#: tiramisu/autolib.py:218 +#: tiramisu/autolib.py:219 msgid "option in ParamInformation cannot be a dynamic option" msgstr "" -#: tiramisu/autolib.py:279 +#: tiramisu/autolib.py:280 msgid "first argument ({0}) must be a function" msgstr "" -#: tiramisu/autolib.py:283 +#: tiramisu/autolib.py:284 msgid "help_function ({0}) must be a function" msgstr "" -#: tiramisu/autolib.py:452 tiramisu/autolib.py:514 -msgid "unable to carry out a calculation for {}, {}" -msgstr "" - -#: tiramisu/autolib.py:461 tiramisu/autolib.py:521 +#: tiramisu/autolib.py:455 tiramisu/autolib.py:503 msgid "the option {0} is used in a calculation but is invalid ({1})" msgstr "" -#: tiramisu/autolib.py:477 tiramisu/autolib.py:535 tiramisu/autolib.py:584 +#: tiramisu/autolib.py:467 tiramisu/autolib.py:515 tiramisu/autolib.py:554 msgid "unable to get value for calculating {0}, {1}" msgstr "" -#: tiramisu/autolib.py:601 +#: tiramisu/autolib.py:499 +msgid "unable to carry out a calculation for {0}, {1}" +msgstr "" + +#: tiramisu/autolib.py:535 +msgid "cannot find information for {0}, {1} is a dynamic option" +msgstr "" + +#: tiramisu/autolib.py:564 msgid "option {0} is not a dynoptiondescription or in a dynoptiondescription" msgstr "" -#: tiramisu/autolib.py:687 +#: tiramisu/autolib.py:650 msgid "cannot calculate arguments for \"{0}\", cannot find dynamic variable \"{1}\" with identifier \"{2}\", list of valid identifiers: {3}" msgstr "" -#: tiramisu/autolib.py:866 +#: tiramisu/autolib.py:754 +msgid "the follower {0} must have index in carry_out_calculation!" +msgstr "" + +#: tiramisu/autolib.py:826 msgid "the \"{}\" function with positional arguments \"{}\" and keyword arguments \"{}\" must not return a list (\"{}\") for the follower option {}" msgstr "" -#: tiramisu/autolib.py:881 +#: tiramisu/autolib.py:841 msgid "the \"{}\" function must not return a list (\"{}\") for the follower option {}" msgstr "" -#: tiramisu/autolib.py:922 -msgid "unexpected error \"{0}\" in function \"{1}\" with arguments \"{3}\" and \"{4}\" for option {2}" +#: tiramisu/autolib.py:882 +msgid "unexpected error \"{1}\" in function \"{2}\" with arguments \"{3}\" and \"{4}\" for option {0}" msgstr "" -#: tiramisu/autolib.py:933 -msgid "unexpected error \"{0}\" in function \"{1}\" for option {2}" +#: tiramisu/autolib.py:891 +msgid "unexpected error \"{1}\" in function \"{2}\" for option {0}" msgstr "" #: tiramisu/config.py:420 @@ -340,19 +348,19 @@ msgid "invalid value" msgstr "" #: tiramisu/error.py:207 -msgid "attention, \"{0}\" could be an invalid {1} for \"{2}\"" +msgid "attention, \"{0}\" could be an invalid {1} for {2}" msgstr "" #: tiramisu/error.py:209 -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 "" #: tiramisu/error.py:228 tiramisu/error.py:239 -msgid "\"{0}\" is an invalid {1} for \"{2}\"" +msgid "\"{0}\" is an invalid {1} for {2}" msgstr "" #: tiramisu/error.py:230 -msgid "\"{0}\" is an invalid {1} for \"{2}\" at index \"{3}\"" +msgid "\"{0}\" is an invalid {1} for {2} at index \"{3}\"" msgstr "" #: tiramisu/function.py:65 @@ -633,7 +641,7 @@ msgid "leadership {0} shall not have a subgroup" msgstr "" #: tiramisu/option/leadership.py:114 -msgid "only multi option allowed in leadership {0} but option {1} is not a multi" +msgid "only multi option are allowed in leadership {0} but option {1} is not a multi" msgstr "" #: tiramisu/option/leadership.py:141 diff --git a/tiramisu/autolib.py b/tiramisu/autolib.py index ebe3cfc..281e0c9 100644 --- a/tiramisu/autolib.py +++ b/tiramisu/autolib.py @@ -512,7 +512,7 @@ def manager_callback( ["configerror"], config_bag.context.get_settings(), ) - errors.raise_carry_out_calculation_error(subconfig, _("unable to unable to get value for calculating {0}, {1}"), err, option=option) + errors.raise_carry_out_calculation_error(subconfig, _("unable to get value for calculating {0}, {1}"), err, option=option) return subsubconfig if isinstance(param, ParamValue): diff --git a/tiramisu/locale/fr/LC_MESSAGES/tiramisu.mo b/tiramisu/locale/fr/LC_MESSAGES/tiramisu.mo index 9c16744b0f98aeef12d7290196148e8b6df883e6..fa0edadef23534ead9e1714fcca8327205105ea3 100644 GIT binary patch delta 5390 zcmZ|R30PKD9>?*6Z0;t4C<0z^-$9fRM8P$2ToSV|6JOya-+Bdnd0*5FUp1S`Hj~tx z8nd*lMjMG1%d}-|5;LW2F)JqPnWm;qYo4c`na1Y(yZ5^E%*=WG-_JRR%f09P&p8(# zd@JIc;}PMOxTuYW(n2H??PHC}iZJHq4(c`LP@FMQ*o33;DE7s6U5x38!*M9i!oj#2 zhvAbr1Y0l%+s8Z4pNMT}FT@06!p2V}jgB=q6?fnSJdI;CM%%CeO zLz$=-7Gn;sb$`AeNtQW*m*O|57x!U3wFD*D2XArRjnil!$M8HVX(`T#S7IUU2GoOo zKxJeQ>Cu|bM9qAa+kOf)(@)+01g53?CL?1oOHmW5M=jY=9D^s2cbi0u{IiT^gk=ob zGesDMW!MiFp$4)Z3-A!m$2O!R8W*8nREgS@>u@ACAY(Fr!$}yEZcHss!$Eiu`H?xD z9(Gb1$Ih5R$9U8O>QO0cLJjOY*Vd$iePzVdbQcK3d_eHz=+?#pPj zhMCwJXQGy(1huP|BL~N9LQUvt)E;Vb`#*KnSuW!JCY8!s^r6n}w`gHH)0>9lQOD>W zEX5qwPj-dwdHS(=7ZF#7cq&F7eA`If=7%rreN?ym}0@RGQAwM&Z zBa=2CBUv`>NehEFqmVA+LmkhpI0xUuSvZ9C(|xP3Gw#7I_$qe7_fP};Je&NhBZ{Xe z_3;>m;F@ zMGpDbE{M;}ATEWIAlVr?Q=nZWD}|f-j=hEQYshV9BT% z6{1pmJ#veA6w~l4?1~*Y3R;rhsDUg%&3q%W+~yV6f8u=FS(EjtX8ku%(Su{i^E50( z#$@hBZNB5kJ~J_lt^miN);f&3?|IjMBa=0SMNaD1qMo+{wdUXBR6L6scoB_6-f#R= zdg5A)#U02IH@i?NY(ajS{TTMc zy_k-lpngAc7Wp4QWdJ)&11ZM-co(vf&2z{;Ge08#%&21LnBIXyXzxTFzjskHZo_oD zV+QKEMc4&{sLgvT>iG|$25@*b`CmrmG#$&)cLnDjKSM2zXO6QOPoYx%Blg0sY-O2? z+Kls2n`}Fl;76z>&A!Tc@f^&cU4?q?HdMx~Fn5ojauasPy{JsQjcjbwVXm{;icy)k z6ZvP3anWucc(t?U71)Y)14iT1sQX_)`?#Vqk~hzph!?eI!fUB$t@mIyevD%={u<{6 zvr+B!cnLP6?mvZ{u_I?m54K#3T!WZQ|5nt}>~sAT(`dIT<-g)e#vm&9(ou(b7`MPl z?R4ZFCV-qk(~L{7yT>_(w<8XYXsZL&e{aL zmH3#rkMI)fwEikO%UubjS!Ep2m-sEAV?*Z69)gM6fAxA}D?)?S+N!J~G-f`-nM8py*^~3?+{+xiecAaV&l4R+D{?J}0@4q}xtSyoq>$h;;kXUFTquTOWW6i0g^Y zgg#U?#Jj|wh*##liiXU^LmtYY8CJ{ZWve_lU-5e_g5|T+BaE?Lp4Eb zk*C&c`6|o3%eY!)oUApeB2vwHZ zuT5uk>GsR3s_hQOU_zDNW!2uYpts!e1_BH$ok9KA@6`_*7)^=f5as*3d`fK3e;Fj zLSBC7+~6|n8qZ$Y96Q-#)p`Ox&qBY~stNgOy`dVfvS*c7`GS_Gw#pZ3=<-etr1} LlJ#2o$;kfz=Hb=S delta 5107 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 l=F#i_7({7FW%