diff --git a/howto/clinic.po b/howto/clinic.po index 256f358a..cfbd37d8 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -6,18 +6,18 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-10-01 16:00+0200\n" -"PO-Revision-Date: 2019-03-26 17:29+0100\n" -"Last-Translator: Julien Palard \n" +"PO-Revision-Date: 2021-05-28 18:54+0200\n" +"Last-Translator: Mindiell \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.2.1\n" #: howto/clinic.rst:5 msgid "Argument Clinic How-To" -msgstr "" +msgstr "Guide Argument Clinic" #: howto/clinic.rst:0 msgid "author" @@ -25,7 +25,7 @@ msgstr "auteur" #: howto/clinic.rst:7 msgid "Larry Hastings" -msgstr "" +msgstr "Larry Hastings" #: howto/clinic.rst:None msgid "Abstract" @@ -44,7 +44,7 @@ msgstr "" "d'analyse d'arguments pour les modules natifs. Ce document vous montre " "comment convertir votre première fonction C de façon à ce qu'elle fonctionne " "avec Argument Clinic, avant d'introduire des usages plus avancés d'Argument " -"Clinic. " +"Clinic." #: howto/clinic.rst:19 msgid "" @@ -83,7 +83,7 @@ msgstr "" "l'analyse d'arguments à l'intérieur de CPython. Cela signifie que si vous " "convertissez une fonction pour fonctionner avec Argument Clinic, cette " "fonction n'a plus du tout besoin d'analyser ses propres arguments. Le code " -"généré par Argument Clinic doit être une « boîte noire » avec en entrée " +"généré par Argument Clinic doit être une « boîte noire » avec en entrée " "l'appel de CPython, et en sortie l'appel à votre code. Entre les deux, " "``PyObject *args`` (et éventuellement ``PyObject *kwargs``) sont convertis " "magiquement dans les variables et types C dont vous avez besoin." @@ -121,7 +121,7 @@ msgstr "" "-- on pourrait ré-écrire son générateur de code pour produire du code " "d'analyse d'argument adapté au mieux, plutôt que d'utiliser la bibliothèque " "d'analyse d'argument générique. On aurait ainsi l'analyse d'argument la plus " -"rapide possible !)" +"rapide possible !)" #: howto/clinic.rst:59 msgid "" @@ -131,8 +131,8 @@ msgid "" msgstr "" "De plus, Argument Clinic doit être suffisamment flexible pour s'accommoder " "d'approches différentes de l'analyse d'arguments. Il y a des fonctions dans " -"Python dont le traitement des arguments est très étrange ; le but d'Argument " -"Clinic est de les gérer toutes. " +"Python dont le traitement des arguments est très étrange ; le but d'Argument " +"Clinic est de les gérer toutes." #: howto/clinic.rst:64 msgid "" @@ -141,11 +141,11 @@ msgid "" "introspection query functions would throw an exception if you passed in a " "builtin. With Argument Clinic, that's a thing of the past!" msgstr "" -"Finalement, la motivation première d'Argument Clinic était de fournir des « " -"signatures » pour l'introspection des composants natifs de CPython. " +"Finalement, la motivation première d'Argument Clinic était de fournir des " +"« signatures » pour l'introspection des composants natifs de CPython. " "Précédemment, les fonctions d'introspection levaient une exception si vous " "passiez un composant natif. Grâce à Argument Clinic, ce comportement " -"appartient au passé !" +"appartient au passé !" #: howto/clinic.rst:70 msgid "" @@ -170,22 +170,22 @@ msgid "" "Argument Clinic ships with CPython; you'll find it in ``Tools/clinic/clinic." "py``. If you run that script, specifying a C file as an argument:" msgstr "" -"Argument Clinic est livré avec CPython; vous le trouverez dans ``Tools/" +"Argument Clinic est livré avec CPython ; vous le trouverez dans ``Tools/" "clinic/clinic.py``. Si vous exécutez ce script, en spécifiant un fichier C " -"comme argument : " +"comme argument :" #: howto/clinic.rst:89 msgid "" "Argument Clinic will scan over the file looking for lines that look exactly " "like this:" -msgstr "Argument Clinic va parcourir le fichier en cherchant cette ligne :" +msgstr "Argument Clinic va parcourir le fichier en cherchant cette ligne :" #: howto/clinic.rst:96 msgid "" "When it finds one, it reads everything up to a line that looks exactly like " "this:" msgstr "" -"Lorsqu'il en trouve une, il lit tout ce qui suit, jusqu'à cette ligne :" +"Lorsqu'il en trouve une, il lit tout ce qui suit, jusqu'à cette ligne :" #: howto/clinic.rst:103 msgid "" @@ -195,7 +195,7 @@ msgid "" msgstr "" "Tout ce qui se trouve entre ces deux lignes est une entrée pour Argument " "Clinic. Toutes ces lignes, en incluant les commentaires de début et de fin, " -"sont appelées collectivement un « bloc » d'Argument Clinic. " +"sont appelées collectivement un « bloc » d'Argument Clinic." #: howto/clinic.rst:107 msgid "" @@ -207,7 +207,7 @@ msgstr "" "Lorsque *Argument Clinic* analyse l'un de ces blocs, il produit une sortie. " "Cette sortie est réécrite dans le fichier C immédiatement après le bloc, " "suivie par un commentaire contenant une somme de contrôle. Le bloc Argument " -"Clinic ressemble maintenant à cela :" +"Clinic ressemble maintenant à cela :" #: howto/clinic.rst:120 msgid "" @@ -219,7 +219,7 @@ msgstr "" "Si vous exécutez de nouveau Argument Clinic sur ce même fichier, Argument " "Clinic supprime la vieille sortie, et écrit la nouvelle sortie avec une " "ligne de somme de contrôle mise à jour. Cependant, si l'entrée n'a pas " -"changé, la sortie ne change pas non plus. " +"changé, la sortie ne change pas non plus." #: howto/clinic.rst:124 msgid "" @@ -239,7 +239,7 @@ msgstr "" msgid "" "For the sake of clarity, here's the terminology we'll use with Argument " "Clinic:" -msgstr "Par souci de clarté, voilà la terminologie que nous emploierons :" +msgstr "Par souci de clarté, voilà la terminologie que nous emploierons :" #: howto/clinic.rst:131 msgid "" @@ -262,7 +262,7 @@ msgid "" "*checksum line*." msgstr "" "La dernière ligne (``/*[clinic end generated code: checksum=...]*/``) est la " -"*ligne de contrôle*. " +"*ligne de contrôle*." #: howto/clinic.rst:134 msgid "In between the start line and the end line is the *input*." @@ -313,7 +313,7 @@ msgstr "" #: howto/clinic.rst:154 msgid "Let's dive in!" -msgstr "En route !" +msgstr "En route !" #: howto/clinic.rst:156 msgid "" @@ -329,8 +329,8 @@ msgid "" "func:`PyArg_ParseTupleAndKeywords`, and hasn't been converted to work with " "Argument Clinic yet. For my example I'm using ``_pickle.Pickler.dump()``." msgstr "" -"Trouvez une fonction native de Python qui fait appel à :c:func:" -"`PyArg_ParseTuple` ou :c:func:`PyArg_ParseTupleAndKeywords`, et n'a pas " +"Trouvez une fonction native de Python qui fait appel à :c:func:" +"`PyArg_ParseTuple` ou :c:func:`PyArg_ParseTupleAndKeywords`, et n'a pas " "encore été convertie par Argument Clinic. Pour cet exemple, j'utilise " "``_pickle.Pickler.dump()``." @@ -338,7 +338,7 @@ msgstr "" msgid "" "If the call to the ``PyArg_Parse`` function uses any of the following format " "units:" -msgstr "Si l'appel à ``PyArg_Parse`` utilise l'un des formats suivants :" +msgstr "Si l'appel à ``PyArg_Parse`` utilise l'un des formats suivants :" #: howto/clinic.rst:176 msgid "" @@ -347,8 +347,8 @@ msgid "" "scenarios. But these are advanced topics—let's do something simpler for " "your first function." msgstr "" -"ou s'il y a de multiples appels à :c:func:`PyArg_ParseTuple`, choisissez une " -"fonction différente. Argument Clinic gère tous ces scénarios, mais se sont " +"ou s'il y a de multiples appels à :c:func:`PyArg_ParseTuple`, choisissez une " +"fonction différente. Argument Clinic gère tous ces scénarios, mais ce sont " "des sujets trop avancés pour notre première fonction." #: howto/clinic.rst:181 @@ -360,8 +360,8 @@ msgid "" "to Argument Clinic. Argument Clinic doesn't support generic functions or " "polymorphic parameters." msgstr "" -"Par ailleurs, si la fonction a des appels multiples à :c:func:" -"`PyArg_ParseTuple` ou :c:func:`PyArg_ParseTupleAndKeywords` dans lesquels " +"Par ailleurs, si la fonction a des appels multiples à :c:func:" +"`PyArg_ParseTuple` ou :c:func:`PyArg_ParseTupleAndKeywords` dans lesquels " "elle permet différents types pour les mêmes arguments, il n'est probablement " "pas possible de la convertir pour Argument Clinic. Argument Clinic ne gère " "pas les fonctions génériques ou les paramètres polymorphes." @@ -410,8 +410,8 @@ msgid "" "paragraph consisting of a single 80-column line at the beginning of the " "docstring." msgstr "" -"Si votre *docstring* ne contient pas de ligne « résumé », Argument Clinic va " -"se plaindre. Assurons-nous donc qu'il y en a une. La ligne « résumé » doit " +"Si votre *docstring* ne contient pas de ligne « résumé », Argument Clinic va " +"se plaindre. Assurons-nous donc qu'il y en a une. La ligne « résumé » doit " "être un paragraphe consistant en une seule ligne de 80 colonnes au début de " "la *docstring*." @@ -431,7 +431,7 @@ msgid "" "module, include any sub-modules, and if the function is a method on a class " "it should include the class name too." msgstr "" -"Au dessus de la *docstring*, entrez le nom de la fonction, suivi d'une ligne " +"Au-dessus de la *docstring*, entrez le nom de la fonction, suivi d'une ligne " "vide. Ce doit être le nom de la fonction en Python et être le chemin complet " "jusqu'à la fonction. Il doit commencer par le nom du module, suivi de tous " "les sous-modules, puis, si la fonction est une méthode de classe, inclure " @@ -449,7 +449,7 @@ msgstr "" "Si c'est la première fois que ce module ou cette classe est utilisée avec " "Argument Clinic dans ce fichier C, vous devez déclarer votre module et/ou " "votre classe. Pour suivre de bonnes pratiques avec Argument Clinic, il vaut " -"mieux faire ces déclaration quelque part en tête du fichier C, comme les " +"mieux faire ces déclarations quelque part en tête du fichier C, comme les " "fichiers inclus et les statiques (dans cet extrait, nous montrons les deux " "blocs à côté l'un de l'autre)." @@ -460,7 +460,7 @@ msgid "" "`PyTypeObject` as appropriate." msgstr "" "Le nom de la classe et du module doivent être les mêmes que ceux vus par " -"Python. Selon le cas, référez-vous à :c:type:`PyModuleDef` ou :c:type:" +"Python. Selon le cas, référez-vous à :c:type:`PyModuleDef` ou :c:type:" "`PyTypeObject`" #: howto/clinic.rst:246 @@ -470,8 +470,8 @@ msgid "" "class, and a pointer to the :c:type:`PyTypeObject` for this class." msgstr "" "Quand vous déclarez une classe, vous devez aussi spécifier deux aspects de " -"son type en C: la déclaration de type que vous utiliseriez pour un pointeur " -"vers une instance de cette classe et un pointeur vers le :c:type:" +"son type en C : la déclaration de type que vous utiliseriez pour un pointeur " +"vers une instance de cette classe et un pointeur vers le :c:type:" "`PyTypeObject` de cette classe." #: howto/clinic.rst:266 @@ -486,13 +486,13 @@ msgstr "" #: howto/clinic.rst:270 msgid "The general form of these parameter lines is as follows:" -msgstr "La forme générale de ces paramètres est la suivante :" +msgstr "La forme générale de ces paramètres est la suivante :" #: howto/clinic.rst:276 msgid "If the parameter has a default value, add that after the converter:" msgstr "" "Si le paramètre a une valeur par défaut, ajoutez ceci après le " -"convertisseur :" +"convertisseur :" #: howto/clinic.rst:283 msgid "" @@ -500,8 +500,8 @@ msgid "" "please see :ref:`the section below on default values ` for " "more information." msgstr "" -"Argument Clinic peut traiter les « valeurs par défaut » de manière assez " -"sophistiquée; voyez :ref:`la section ci-dessous sur les valeurs par défaut " +"Argument Clinic peut traiter les « valeurs par défaut » de manière assez " +"sophistiquée ; voyez :ref:`la section ci-dessous sur les valeurs par défaut " "` pour plus de détails." #: howto/clinic.rst:287 @@ -516,11 +516,11 @@ msgid "" "convenience syntax intended to make porting old code into Argument Clinic " "easier." msgstr "" -"Que fait le « convertisseur » ? Il établit à la fois le type de variable " +"Que fait le « convertisseur » ? Il établit à la fois le type de variable " "utilisé en C et la méthode pour convertir la valeur Python en valeur C lors " -"de l'exécution. Pour le moment, vous allez utiliser ce qui s'appelle un « " -"convertisseur hérité » -- une syntaxe de convenance qui facilite le portage " -"de vieux code dans Argument Clinic." +"de l'exécution. Pour le moment, vous allez utiliser ce qui s'appelle un " +"« convertisseur hérité » -- une syntaxe de convenance qui facilite le " +"portage de vieux code dans Argument Clinic." #: howto/clinic.rst:296 msgid "" @@ -531,21 +531,21 @@ msgid "" "parsing function what the type of the variable is and how to convert it. " "For more on format units please see :ref:`arg-parsing`.)" msgstr "" -"Pour chaque paramètre, copiez l'« unité de format » de ce paramètre à partir " -"de l'argument de ``PyArg_Parse()`` et spécifiez *ça* comme convertisseur, " -"entre guillemets. (l'« unité de format » est le nom formel pour la partie du " -"paramètre ``format``, de un à trois caractères, qui indique à la fonction " -"d'analyse d'arguments quel est le type de la variable et comment la " -"convertir. Pour plus d'information sur les unités de format, voyez :ref:`arg-" -"parsing`.)" +"Pour chaque paramètre, copiez la « spécification de format » de ce paramètre " +"à partir de l'argument de ``PyArg_Parse()`` et spécifiez *ça* comme " +"convertisseur, entre guillemets. (la « spécification de format » est le nom " +"formel pour la partie du paramètre ``format``, de un à trois caractères, qui " +"indique à la fonction d'analyse d'arguments quel est le type de la variable " +"et comment la convertir. Pour plus d'information sur les spécifications de " +"format, voyez :ref:`arg-parsing`.)" #: howto/clinic.rst:305 msgid "" "For multicharacter format units like ``z#``, use the entire two-or-three " "character string." msgstr "" -"Pour des unités de format de plusieurs caractères, comme ``z#``, utilisez " -"l'ensemble des 2 ou 3 caractères de la chaîne. " +"Pour des spécifications de format de plusieurs caractères, comme ``z#``, " +"utilisez l'ensemble des 2 ou 3 caractères de la chaîne." #: howto/clinic.rst:323 msgid "" @@ -581,9 +581,9 @@ msgid "" "c:func:`PyArg_ParseTupleAndKeywords`), then all its arguments are positional-" "only." msgstr "" -"Si la fonction C existante appelle :c:func:`PyArg_ParseTuple` (et pas :c:" +"Si la fonction C existante appelle :c:func:`PyArg_ParseTuple` (et pas :c:" "func:`PyArg_ParseTupleAndKeywords`), alors tous ses arguments sont " -"uniquement positionnels. " +"uniquement positionnels." #: howto/clinic.rst:340 msgid "" @@ -601,9 +601,9 @@ msgid "" "or none of them are. (In the future Argument Clinic may relax this " "restriction.)" msgstr "" -"Pour le moment, c'est tout ou rien ; soit tous les paramètres sont " +"Pour le moment, c'est tout ou rien ; soit tous les paramètres sont " "uniquement positionnels, ou aucun ne l'est. (Dans le futur, Argument Clinic " -"supprimera peut être cette restriction.)" +"supprimera peut-être cette restriction.)" #: howto/clinic.rst:364 msgid "" @@ -611,7 +611,7 @@ msgid "" "parameter docstrings are optional; you can skip this step if you prefer." msgstr "" "Il est utile d'ajouter une *docstring* pour chaque paramètre, mais c'est " -"optionnel; vous pouvez passer cette étape si vous préférez." +"optionnel ; vous pouvez passer cette étape si vous préférez." #: howto/clinic.rst:368 msgid "" @@ -625,9 +625,9 @@ msgstr "" "Voici comment ajouter la *docstring* d'un paramètre. La première ligne doit " "être plus indentée que la définition du paramètre. La marge gauche de cette " "première ligne établit la marge gauche pour l'ensemble de la *docstring* de " -"ce paramètre; tout le texte que vous écrivez sera indenté de cette quantité. " -"Vous pouvez écrire autant de texte que vous le souhaitez, sur plusieurs " -"lignes." +"ce paramètre ; tout le texte que vous écrivez sera indenté de cette " +"quantité. Vous pouvez écrire autant de texte que vous le souhaitez, sur " +"plusieurs lignes." #: howto/clinic.rst:392 msgid "" @@ -676,8 +676,8 @@ msgid "" "Clinic calls the *exact* same function." msgstr "" "Assurez vous premièrement que les deux codes utilisent la même fonction pour " -"analyser les arguments. Le code existant doit appeler soit :c:func:" -"`PyArg_ParseTuple` soit :c:func:`PyArg_ParseTupleAndKeywords`; assurez vous " +"analyser les arguments. Le code existant doit appeler soit :c:func:" +"`PyArg_ParseTuple` soit :c:func:`PyArg_ParseTupleAndKeywords` ; assurez vous " "que le code généré par Argument Clinic appelle *exactement* la même fonction." #: howto/clinic.rst:430 @@ -686,8 +686,8 @@ msgid "" "`PyArg_ParseTupleAndKeywords` should be *exactly* the same as the hand-" "written one in the existing function, up to the colon or semi-colon." msgstr "" -"Deuxièmement, la chaîne de caractère du format passée dans :c:func:" -"`PyArg_ParseTuple` ou :c:func:`PyArg_ParseTupleAndKeywords` doit être " +"Deuxièmement, la chaîne de caractère du format passée dans :c:func:" +"`PyArg_ParseTuple` ou :c:func:`PyArg_ParseTupleAndKeywords` doit être " "*exactement* la même que celle écrite à la main, jusqu'aux deux points ou au " "point virgule." @@ -698,7 +698,7 @@ msgid "" "``;``, to provide usage help, this change is harmless—don't worry about it.)" msgstr "" "(Argument Clinic génère toujours ses chaînes de format avec ``:`` suivi du " -"nom de la fonction. Si la chaîne de format du code existant termine par ``;" +"nom de la fonction. Si la chaîne de format du code existant termine par `` ;" "``, pour fournir une aide sur l'utilisation, ce changement n'a aucun effet, " "ne vous en souciez pas.)" @@ -709,9 +709,9 @@ msgid "" "function), ensure that the second argument is *exactly* the same between the " "two invocations." msgstr "" -"Troisièmement, pour des paramètres dont l'unité de format nécessite deux " -"arguments (comme une variable de longueur, ou une chaîne d'encodage, ou un " -"pointeur vers une fonction de conversion), assurez vous que ce deuxième " +"Troisièmement, pour des paramètres dont la spécification de format nécessite " +"deux arguments (comme une variable de longueur, ou une chaîne d'encodage, ou " +"un pointeur vers une fonction de conversion), assurez vous que ce deuxième " "argument est *exactement* le même entre les deux invocations." #: howto/clinic.rst:445 @@ -721,7 +721,7 @@ msgid "" "this builtin::" msgstr "" "Quatrièmement, à l'intérieur de la section sortie du bloc, vous trouverez " -"une macro pré-processeur qui définit les structures statiques :c:type:" +"une macro pré-processeur qui définit les structures statiques :c:type:" "`PyMethodDef` appropriées pour ce module natif ::" #: howto/clinic.rst:452 @@ -730,7 +730,7 @@ msgid "" "type:`PyMethodDef` structure for this builtin." msgstr "" "Cette structure statique doit être *exactement* la même que la structure " -"statique :c:type:`PyMethodDef` existante pour ce module natif." +"statique :c:type:`PyMethodDef` existante pour ce module natif." #: howto/clinic.rst:455 msgid "" @@ -753,13 +753,13 @@ msgid "" "used different names for these variables, fix it." msgstr "" "Notez que la dernière ligne de cette sortie est la déclaration de votre " -"fonction ``impl``. C'est là que va l'implémentation de la fonction native. " -"Supprimez le prototype de la fonction que vous modifiez, mais laissez " -"l'accolade ouverte. Maintenant, supprimez tout le code d'analyse d'argument " -"et les déclarations de toutes les variables auxquelles il assigne les " -"arguments. Vous voyez que désormais, les arguments Python sont ceux de cette " -"fonction ``impl``; si l'implémentation utilise des noms différents pour ces " -"variables, corrigez-les." +"fonction ``impl``. C'est là que se trouve l'implémentation de la fonction " +"native. Supprimez le prototype de la fonction que vous modifiez, mais " +"laissez l'accolade ouverte. Maintenant, supprimez tout le code d'analyse " +"d'argument et les déclarations de toutes les variables auxquelles il assigne " +"les arguments. Vous voyez que désormais les arguments Python sont ceux de " +"cette fonction ``impl`` ; si l'implémentation utilise des noms différents " +"pour ces variables, corrigez-les." #: howto/clinic.rst:468 msgid "" @@ -776,7 +776,7 @@ msgid "" "function, and the implementation inside." msgstr "" "Argument Clinic génère une ligne de contrôle et la fonction prototype juste " -"au dessus. Vous devez écrire les accolades d'ouverture (et de fermeture) " +"au-dessus. Vous devez écrire les accolades d'ouverture (et de fermeture) " "pour la fonction, et l’implémentation à l'intérieur." #: howto/clinic.rst:522 @@ -788,12 +788,12 @@ msgid "" "builtin is a class method, this will probably be below but relatively near " "to the implementation.)" msgstr "" -"Vous vous souvenez de la macro avec la structure :c:type:`PyMethodDef` pour " -"cette fonction ? Trouvez la structure :c:type:`PyMethodDef` existante pour " +"Vous vous souvenez de la macro avec la structure :c:type:`PyMethodDef` pour " +"cette fonction ? Trouvez la structure :c:type:`PyMethodDef` existante pour " "cette fonction et remplacez là par une référence à cette macro. (Si la " "fonction native est définie au niveau d'un module, vous le trouverez " -"certainement vers la fin du fichier; s'il s'agît d'une méthode de classe, se " -"sera sans doute plus bas, mais relativement près de l'implémentation.)" +"certainement vers la fin du fichier ; s'il s'agit d'une méthode de classe, " +"se sera sans doute plus bas, mais relativement près de l'implémentation.)" #: howto/clinic.rst:529 msgid "" @@ -802,7 +802,7 @@ msgid "" "*don't* add a comma to the end." msgstr "" "Notez que le corps de la macro contient une virgule finale. Donc, lorsque " -"vous remplacez la structure statique :c:type:`PyMethodDef` par la macro, " +"vous remplacez la structure statique :c:type:`PyMethodDef` par la macro, " "*n'ajoutez pas* de virgule à la fin." #: howto/clinic.rst:542 @@ -821,8 +821,8 @@ msgid "" "Well, except for one difference: ``inspect.signature()`` run on your " "function should now provide a valid signature!" msgstr "" -"Enfin, à part pour une différence : si vous exécutez ``inspect.signature()`` " -"sur votre fonction, vous obtiendrez maintenant une signature valide !" +"Enfin, à part pour une différence : si vous exécutez ``inspect.signature()`` " +"sur votre fonction, vous obtiendrez maintenant une signature valide !" #: howto/clinic.rst:549 msgid "" @@ -830,7 +830,7 @@ msgid "" "Clinic!" msgstr "" "Félicitations, vous avez adapté votre première fonction pour qu'elle utilise " -"Argument Clinic !" +"Argument Clinic !" #: howto/clinic.rst:552 msgid "Advanced Topics" @@ -894,7 +894,7 @@ msgstr "" #: howto/clinic.rst:578 msgid "Renaming the C functions and variables generated by Argument Clinic" -msgstr "" +msgstr "Renommer les fonctions et variables C générées par Argument Clinic" #: howto/clinic.rst:580 msgid "" @@ -907,6 +907,14 @@ msgid "" "function, then add ``\"_impl\"`` to the end and use that for the name of the " "impl function." msgstr "" +"Argument Clinic nomme automatiquement les fonctions qu'il génère. Parfois, " +"cela peut poser des problèmes, si le nom généré entre en collision avec le " +"nom d'une fonction C existante. Il y a une solution simple : surcharger les " +"noms utilisés par les fonctions C. Ajoutez simplement le mot clef ``\"as\"`` " +"sur la ligne de la déclaration de la fonction, suivi par le nom de la " +"fonction que vous souhaitez utiliser. Argument Clinic utilisera ce nom de " +"fonction pour la fonction de base (celle générée), et ajoutera ``\"_impl\"`` " +"à la fin et utilisera ce nom pour la fonction ``impl``." #: howto/clinic.rst:588 msgid "" @@ -922,7 +930,7 @@ msgid "" "function would now be named ``pickler_dumper_impl()``." msgstr "" "La fonction de base sera maintenant nommée ``pickler_dumper()``, et la " -"fonction *impl* serait maintenant nommé ``pickler_dumper_impl()``." +"fonction ``impl`` sera maintenant nommée ``pickler_dumper_impl()``." #: howto/clinic.rst:600 msgid "" @@ -941,6 +949,8 @@ msgid "" "Here, the name used in Python (in the signature and the ``keywords`` array) " "would be ``file``, but the C variable would be named ``file_obj``." msgstr "" +"Ici, le nom utilisé en Python (dans la signature ainsi que le tableau des " +"``keywords``) sera ``file``, et la variable C s'appellera ``file_obj``." #: howto/clinic.rst:617 msgid "You can use this to rename the ``self`` parameter too!" @@ -958,13 +968,19 @@ msgid "" "appropriate. All arguments should be marked positional-only (add a ``/`` on " "a line by itself after the last argument)." msgstr "" +"Afin de convertir une fonction analysant ses arguments via :c:func:" +"`PyArg_UnpackTuple`, écrivez simplement tous les arguments, en les " +"spécifiant comme des ``object``. Vous pouvez spécifier également le ``type`` " +"d'argument afin de le forcer au type approprié. Tous les arguments devraient " +"être marqués comme seulement positionnels (ajoutez un ``/`` seul sur la " +"ligne après le dernier argument)." #: howto/clinic.rst:629 msgid "" "Currently the generated code will use :c:func:`PyArg_ParseTuple`, but this " "will change soon." msgstr "" -"Actuellement, le code généré utilise :c:func:`PyArg_ParseTuple`, mais cela " +"Actuellement, le code généré utilise :c:func:`PyArg_ParseTuple`, mais cela " "va bientôt changer." #: howto/clinic.rst:633 @@ -981,6 +997,14 @@ msgid "" "optional arguments back before :c:func:`PyArg_ParseTupleAndKeywords` was " "created." msgstr "" +"Certaines fonctions de base ont une approche particulière pour analyser " +"leurs arguments : elles comptent le nombre d'arguments positionnels, puis " +"elles utilisent une condition ``switch`` basée sur le nombre d'arguments " +"présents pour appeler différentes :c:func:`PyArg_ParseTuple` disponibles " +"(ces fonctions ne peuvent pas avoir des arguments passés uniquement en tant " +"qu'arguments nommés). Cette approche était utilisée pour simuler des " +"arguments optionnels avant que :c:func:`PyArg_ParseTupleAndKeywords` ne soit " +"créée." #: howto/clinic.rst:642 msgid "" @@ -995,6 +1019,17 @@ msgid "" "the function passing in ``x``, you must also pass in ``y``—and if you don't " "pass in ``x`` you may not pass in ``y`` either.)" msgstr "" +"Alors que les fonctions utilisant cette approche peuvent normalement être " +"converties pour utiliser :c:func:`PyArg_ParseTupleAndKeywords`, des " +"arguments optionnels et des valeurs par défaut, ce n'est pas toujours " +"possible. Certaines fonctions classiques ne peuvent pas être gérées par :c:" +"func:`PyArg_ParseTupleAndKeywords`. L'exemple le plus évident est la " +"fonction native ``range()``, qui possède un argument optionnel à *gauche* de " +"ses arguments requis ! Un autre exemple est la fonction ``curses.window." +"addch()``, qui possède un groupe de deux arguments qui doivent toujours être " +"spécifiés ensemble (ces arguments s'appellent ``x`` et ``y`` ; si vous " +"appelez la fonction en passant ``x``, vous devez passer ``y`` et si vous ne " +"passez pas ``x``, vous ne devez pas passer ``y`` non plus)." #: howto/clinic.rst:654 msgid "" @@ -1005,6 +1040,14 @@ msgid "" "all be passed in together. They can be to the left or the right of the " "required arguments. They can *only* be used with positional-only parameters." msgstr "" +"Dans tous les cas, le but d'Argument Clinic est de prendre en charge " +"l'analyse des arguments pour toutes les fonctions natives de CPython sans " +"avoir besoin de les modifier. C'est pourquoi Argument Clinic propose cette " +"autre approche pour l'analyse, en utilisant ce qu'on appelle les *groupes " +"optionnels*. Les groupes optionnels sont des groupes d'arguments qui doivent " +"tous être transmis ensemble. Ils peuvent être situés à droite ou à gauche " +"des arguments requis. Ils ne peuvent être utilisés *seulement* qu'en tant " +"que paramètres positionnels." #: howto/clinic.rst:662 msgid "" @@ -1016,6 +1059,14 @@ msgid "" "doesn't understand the concept. Please avoid using optional groups wherever " "possible." msgstr "" +"Les groupes optionnels sont *uniquement* prévus pour convertir les fonctions " +"faisant des appels multiples à :c:func:`PyArg_ParseTuple` ! Les fonctions " +"qui utilisent *au moins une* des autres approches ne doivent *presque " +"jamais* être converties à Argument Clinic en utilisant les groupes " +"optionnels. Les fonctions utilisant ces groupes n'ont pas actuellement de " +"signature précise en Python, parce que celui-ci ne peut simplement pas " +"comprendre ce concept. Tâchez d'éviter au maximum d'utiliser ces groupes " +"optionnels si possible." #: howto/clinic.rst:671 msgid "" @@ -1025,6 +1076,11 @@ msgid "" "optional groups to make the first two parameters and the last parameter " "optional::" msgstr "" +"Afin de signaler un groupe optionnel, ajoutez un ``[`` seul sur une ligne " +"avant les paramètres que vous souhaitez inclure dans le groupe, puis un " +"``]`` seul sur une ligne après ces paramètres. Voici, par exemple, comment " +"``curses.window.addch`` utilise les groupes optionnels pour rendre optionnel " +"les deux premiers paramètres ainsi que le dernier :" #: howto/clinic.rst:700 msgid "Notes:" @@ -1042,6 +1098,16 @@ msgid "" "was unused, and set to non-zero if this group was used. (By used or unused, " "I mean whether or not the parameters received arguments in this invocation.)" msgstr "" +"Pour chaque groupe optionnel, un paramètre additionnel sera passé à la " +"fonction ``impl`` représentant le groupe. Ce paramètre sera un entier nommé " +"``group_{direction}_{number}``, où ``{direction}`` peut être soit ``right`` " +"ou ``left`` suivant que le groupe est situé avant ou après les paramètres " +"requis, et ``{number}`` sera un entier incrémenté (débutant à 1) indiquant " +"la distance entre le groupe et les paramètres requis. Quand la fonction " +"``impl`` est appelée, ce paramètre est positionné à zéro si le groupe n'a " +"pas été utilisé, et positionné à un nombre entier positif sinon (par " +"inutilisé, on entend que les paramètres n'ont pas reçu de valeur lors de cet " +"appel)." #: howto/clinic.rst:713 msgid "" @@ -1056,10 +1122,13 @@ msgid "" "In the case of ambiguity, the argument parsing code favors parameters on the " "left (before the required parameters)." msgstr "" +"En cas d'ambiguïté, le code d'analyse des arguments favorise ceux situés à " +"gauche (avant les paramètres obligatoires)." #: howto/clinic.rst:719 msgid "Optional groups can only contain positional-only parameters." msgstr "" +"Les groupes optionnels ne peuvent contenir que des arguments positionnels." #: howto/clinic.rst:721 msgid "" @@ -1072,6 +1141,8 @@ msgstr "" #: howto/clinic.rst:726 msgid "Using real Argument Clinic converters, instead of \"legacy converters\"" msgstr "" +"Utilisation des adaptateurs d'Argument Clinic, en lieu et place des " +"« adaptateurs de base »" #: howto/clinic.rst:728 msgid "" @@ -1081,17 +1152,25 @@ msgid "" "explicitly to make porting existing code to Argument Clinic easier. And to " "be clear, their use is acceptable when porting code for Python 3.4." msgstr "" +"Afin de gagner du temps, et pour minimiser la courbe d'apprentissage pour " +"pouvoir utiliser Argument Clinic, le guide ci-dessus préconise les " +"« adaptateurs de base ». Ceux-ci sont un moyen simple conçu pour porter " +"facilement du code existant sous Argument Clinic. Et pour être clair, leur " +"utilisation est tout à fait acceptable pour porter du code Python 3.4." #: howto/clinic.rst:735 msgid "" "However, in the long term we probably want all our blocks to use Argument " "Clinic's real syntax for converters. Why? A couple reasons:" msgstr "" +"Cependant, sur le long terme, il est certainement préférable que tous vos " +"blocs utilisent la syntaxe réelle des adaptateurs d'Argument Clinic. " +"Pourquoi ? Voici quelques raisons :" #: howto/clinic.rst:739 msgid "" "The proper converters are far easier to read and clearer in their intent." -msgstr "" +msgstr "Les adaptateurs sont plus simples et plus clairs." #: howto/clinic.rst:740 msgid "" @@ -1099,6 +1178,9 @@ msgid "" "because they require arguments, and the legacy converter syntax doesn't " "support specifying arguments." msgstr "" +"Il existe des formats qui ne sont pas gérés par les « adaptateurs de base », " +"parce qu'ils nécessitent des arguments, et la syntaxe de ces adaptateurs ne " +"supporte pas cela." #: howto/clinic.rst:743 msgid "" @@ -1106,12 +1188,18 @@ msgid "" "restricted to what :c:func:`PyArg_ParseTuple` supports; this flexibility " "won't be available to parameters using legacy converters." msgstr "" +"Dans le futur, on pourrait avoir une nouvelle bibliothèque d'analyse des " +"arguments qui ne serait pas limitée à ce que :c:func:`PyArg_ParseTuple` " +"accepte ; cette flexibilité ne serait pas accessible aux paramètres " +"utilisant des adaptateurs de base." #: howto/clinic.rst:747 msgid "" "Therefore, if you don't mind a little extra effort, please use the normal " "converters instead of legacy converters." msgstr "" +"Ainsi, si vous n'êtes pas contre un petit effort supplémentaire, vous " +"devriez utiliser les adaptateurs normaux plutôt que ceux de base." #: howto/clinic.rst:750 msgid "" @@ -1120,16 +1208,22 @@ msgid "" "the function (all functions take their default values), you may omit the " "parentheses. Thus ``bool`` and ``bool()`` are exactly the same converters." msgstr "" +"En bref, la syntaxe des adaptateurs d'Argument Clinic ressemble à un appel " +"de fonction Python. Mais, s'il n'y a pas d'argument explicite à la fonction " +"(celle-ci utilisant ses valeurs par défaut), vous pouvez omettre les " +"parenthèses. Ainsi ``bool`` et ``bool()`` représentent le même adaptateur." #: howto/clinic.rst:756 msgid "" "All arguments to Argument Clinic converters are keyword-only. All Argument " "Clinic converters accept the following arguments:" msgstr "" +"Tous les arguments passés aux adaptateurs d'Argument Clinic sont nommés. " +"Tous les adaptateurs d'Argument Clinic acceptent les arguments suivants :" #: howto/clinic.rst:1252 msgid "``c_default``" -msgstr "" +msgstr "``c_default``" #: howto/clinic.rst:760 msgid "" @@ -1138,26 +1232,35 @@ msgid "" "\". See :ref:`the section on default values ` for how to " "use this. Specified as a string." msgstr "" +"La valeur par défaut de cet argument lorsqu'il est défini en C. Typiquement, " +"il servira à initialiser la variable déclarée dans la « fonction " +"d'analyse ». Voir la section relative aux :ref:`valeurs par défaut " +"` pour apprendre à l'utiliser. Spécifié en tant que chaîne " +"de caractères." #: howto/clinic.rst:769 msgid "``annotation``" -msgstr "" +msgstr "``annotation``" #: howto/clinic.rst:767 msgid "" "The annotation value for this parameter. Not currently supported, because :" "pep:`8` mandates that the Python library may not use annotations." msgstr "" +"La valeur annotée pour ce paramètre. Actuellement non géré, car la :pep:`8` " +"exige que les bibliothèques Python n'utilisent pas d'annotations." #: howto/clinic.rst:771 msgid "" "In addition, some converters accept additional arguments. Here is a list of " "these arguments, along with their meanings:" msgstr "" +"De plus, certains adaptateurs acceptent des arguments additionnels. Voici la " +"liste de ces arguments, avec leur explication :" #: howto/clinic.rst:780 msgid "``accept``" -msgstr "" +msgstr "``accept``" #: howto/clinic.rst:775 msgid "" @@ -1166,14 +1269,18 @@ msgid "" "purpose facility; as a rule it only supports specific lists of types as " "shown in the legacy converter table.)" msgstr "" +"Un ensemble de types Python (et potentiellement des pseudo-types) ; cela " +"restreint l'argument Python autorisé aux valeurs de ces types (ce n'est pas " +"destiné à une utilisation généralisée ; en fait, il gère seulement les types " +"listés dans la table des adaptateurs de base)." #: howto/clinic.rst:780 msgid "To accept ``None``, add ``NoneType`` to this set." -msgstr "" +msgstr "Pour accepter ``None``, ajouter ``NoneType`` à cet ensemble." #: howto/clinic.rst:785 msgid "``bitwise``" -msgstr "" +msgstr "``bitwise``" #: howto/clinic.rst:783 msgid "" @@ -1181,10 +1288,13 @@ msgid "" "Python argument will be written to the parameter without any range checking, " "even for negative values." msgstr "" +"Autorisé seulement pour les entiers non signés. La valeur native de cet " +"argument Python sera transcrite dans le paramètre sans aucune vérification " +"de plage, même pour des valeurs négatives." #: howto/clinic.rst:1266 msgid "``converter``" -msgstr "" +msgstr "``converter``" #: howto/clinic.rst:788 msgid "" @@ -1192,6 +1302,9 @@ msgid "" "\"converter function\" ` to use to convert this object to a " "native type." msgstr "" +"Autorisé seulement pour l'adaptateur ``object``. Spécifie le nom d'une :ref:" +"`« fonction de conversion » depuis C ` à utiliser pour " +"convertir cet objet en type natif." #: howto/clinic.rst:795 msgid "``encoding``" @@ -1202,16 +1315,21 @@ msgid "" "Only supported for strings. Specifies the encoding to use when converting " "this string from a Python str (Unicode) value into a C ``char *`` value." msgstr "" +"Autorisé seulement pour les chaînes de caractères. Spécifie l'encodage à " +"utiliser lors de la conversion de cette chaîne depuis une valeur de type " +"Python ``str`` (Unicode) en valeur C ``char *``." #: howto/clinic.rst:799 msgid "``subclass_of``" -msgstr "" +msgstr "``subclass_of``" #: howto/clinic.rst:798 msgid "" "Only supported for the ``object`` converter. Requires that the Python value " "be a subclass of a Python type, as expressed in C." msgstr "" +"Autorisé seulement pour l'adaptateur ``object``. Nécessite que la valeur " +"Python soit une sous-classe d'un type Python, telle qu'exprimée en C." #: howto/clinic.rst:1238 msgid "``type``" @@ -1223,10 +1341,13 @@ msgid "" "type that will be used to declare the variable. Default value is ``" "\"PyObject *\"``." msgstr "" +"Autorisé seulement pour les adaptateurs ``object`` et ``self``. Spécifie le " +"type C qui sera utilisé pour déclarer la variable. La valeur par défaut est " +"``\"PyObject *\"``." #: howto/clinic.rst:810 msgid "``zeroes``" -msgstr "" +msgstr "``zeroes``" #: howto/clinic.rst:807 msgid "" @@ -1235,6 +1356,10 @@ msgid "" "the impl function, just after the string parameter, as a parameter named " "``_length``." msgstr "" +"Autorisé seulement pour les chaînes de caractères. Si vrai, les octets NUL " +"(``'\\\\0'``) sont permis au sein de la valeur. La taille de la chaîne sera " +"passée à la fonction ``impl``, juste après le paramètre chaîne, en tant que " +"paramètre nommé ``_length``." #: howto/clinic.rst:812 msgid "" @@ -1246,6 +1371,14 @@ msgid "" "any existing format unit. So Argument Clinic doesn't support it. (Or, at " "least, not yet.)" msgstr "" +"Attention de bien noter que toutes les combinaisons d'arguments ne " +"fonctionnent pas. Normalement, ces arguments sont mis en place via des " +"*formats* ``PyArg_ParseTuple`` au comportement spécifique. Par exemple, à " +"l'heure actuelle vous ne pouvez pas appeler ``unsigned_short`` sans " +"spécifier également ``bitwise=True``. Bien qu'il soit parfaitement " +"raisonnable de penser que ça puisse fonctionner, cette écriture ne " +"correspond à aucun format. Donc Argument Clinic ne le gère pas (en tous cas, " +"pas pour le moment)." #: howto/clinic.rst:820 msgid "" @@ -1253,6 +1386,9 @@ msgid "" "Clinic converters. On the left is the legacy converter, on the right is the " "text you'd replace it with." msgstr "" +"Vous pouvez voir, ci-dessous, une table présentant la correspondance entre " +"les adaptateurs de base et ceux d'Argument Clinic. À gauche, sont listés les " +"adaptateurs de base et, à droite, le texte qui les remplace." #: howto/clinic.rst:825 msgid "``'B'``" @@ -1260,7 +1396,7 @@ msgstr "``'B'``" #: howto/clinic.rst:825 msgid "``unsigned_char(bitwise=True)``" -msgstr "" +msgstr "``unsigned_char(bitwise=True)``" #: howto/clinic.rst:826 msgid "``'b'``" @@ -1268,7 +1404,7 @@ msgstr "``'b'``" #: howto/clinic.rst:826 msgid "``unsigned_char``" -msgstr "" +msgstr "``unsigned_char``" #: howto/clinic.rst:827 msgid "``'c'``" @@ -1276,15 +1412,15 @@ msgstr "``'c'``" #: howto/clinic.rst:827 msgid "``char``" -msgstr "" +msgstr "``char``" #: howto/clinic.rst:828 msgid "``'C'``" -msgstr "" +msgstr "``'C'``" #: howto/clinic.rst:828 msgid "``int(accept={str})``" -msgstr "" +msgstr "``int(accept={str})``" #: howto/clinic.rst:829 msgid "``'d'``" @@ -1292,7 +1428,7 @@ msgstr "``'d'``" #: howto/clinic.rst:829 msgid "``double``" -msgstr "" +msgstr "``double``" #: howto/clinic.rst:830 msgid "``'D'``" @@ -1300,41 +1436,43 @@ msgstr "``'D'``" #: howto/clinic.rst:830 msgid "``Py_complex``" -msgstr "" +msgstr "``Py_complex``" #: howto/clinic.rst:831 msgid "``'es'``" -msgstr "" +msgstr "``'es'``" #: howto/clinic.rst:831 msgid "``str(encoding='name_of_encoding')``" -msgstr "" +msgstr "``str(encoding='name_of_encoding')``" #: howto/clinic.rst:832 msgid "``'es#'``" -msgstr "" +msgstr "``'es#'``" #: howto/clinic.rst:832 msgid "``str(encoding='name_of_encoding', zeroes=True)``" -msgstr "" +msgstr "``str(encoding='name_of_encoding', zeroes=True)``" #: howto/clinic.rst:833 msgid "``'et'``" -msgstr "" +msgstr "``'et'``" #: howto/clinic.rst:833 msgid "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``" -msgstr "" +msgstr "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``" #: howto/clinic.rst:834 msgid "``'et#'``" -msgstr "" +msgstr "``'et#'``" #: howto/clinic.rst:834 msgid "" "``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, " "zeroes=True)``" msgstr "" +"``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, " +"zeroes=True)``" #: howto/clinic.rst:835 msgid "``'f'``" @@ -1342,7 +1480,7 @@ msgstr "``'f'``" #: howto/clinic.rst:835 msgid "``float``" -msgstr "" +msgstr "``float``" #: howto/clinic.rst:836 msgid "``'h'``" @@ -1350,7 +1488,7 @@ msgstr "``'h'``" #: howto/clinic.rst:836 msgid "``short``" -msgstr "" +msgstr "``short``" #: howto/clinic.rst:837 msgid "``'H'``" @@ -1358,7 +1496,7 @@ msgstr "``'H'``" #: howto/clinic.rst:837 msgid "``unsigned_short(bitwise=True)``" -msgstr "" +msgstr "``unsigned_short(bitwise=True)``" #: howto/clinic.rst:838 msgid "``'i'``" @@ -1374,23 +1512,23 @@ msgstr "``'I'``" #: howto/clinic.rst:839 msgid "``unsigned_int(bitwise=True)``" -msgstr "" +msgstr "``unsigned_int(bitwise=True)``" #: howto/clinic.rst:840 msgid "``'k'``" -msgstr "" +msgstr "``'k'``" #: howto/clinic.rst:840 msgid "``unsigned_long(bitwise=True)``" -msgstr "" +msgstr "``unsigned_long(bitwise=True)``" #: howto/clinic.rst:841 msgid "``'K'``" -msgstr "" +msgstr "``'K'``" #: howto/clinic.rst:841 msgid "``unsigned_long_long(bitwise=True)``" -msgstr "" +msgstr "``unsigned_long_long(bitwise=True)``" #: howto/clinic.rst:842 msgid "``'l'``" @@ -1406,7 +1544,7 @@ msgstr "``'L'``" #: howto/clinic.rst:843 msgid "``long long``" -msgstr "" +msgstr "``long long``" #: howto/clinic.rst:844 msgid "``'n'``" @@ -1414,39 +1552,39 @@ msgstr "``'n'``" #: howto/clinic.rst:844 msgid "``Py_ssize_t``" -msgstr "" +msgstr "``Py_ssize_t``" #: howto/clinic.rst:845 msgid "``'O'``" -msgstr "" +msgstr "``'O'``" #: howto/clinic.rst:845 msgid "``object``" -msgstr "" +msgstr "``object``" #: howto/clinic.rst:846 msgid "``'O!'``" -msgstr "" +msgstr "``'O!'``" #: howto/clinic.rst:846 msgid "``object(subclass_of='&PySomething_Type')``" -msgstr "" +msgstr "``object(subclass_of='&PySomething_Type')``" #: howto/clinic.rst:847 msgid "``'O&'``" -msgstr "" +msgstr "``'O&'``" #: howto/clinic.rst:847 msgid "``object(converter='name_of_c_function')``" -msgstr "" +msgstr "``object(converter='name_of_c_function')``" #: howto/clinic.rst:848 msgid "``'p'``" -msgstr "" +msgstr "``'p'``" #: howto/clinic.rst:848 msgid "``bool``" -msgstr "" +msgstr "``bool``" #: howto/clinic.rst:849 msgid "``'S'``" @@ -1454,7 +1592,7 @@ msgstr "``'S'``" #: howto/clinic.rst:849 msgid "``PyBytesObject``" -msgstr "" +msgstr "``PyBytesObject``" #: howto/clinic.rst:850 msgid "``'s'``" @@ -1462,23 +1600,23 @@ msgstr "``'s'``" #: howto/clinic.rst:850 msgid "``str``" -msgstr "" +msgstr "``str``" #: howto/clinic.rst:851 msgid "``'s#'``" -msgstr "" +msgstr "``'s#'``" #: howto/clinic.rst:851 msgid "``str(zeroes=True)``" -msgstr "" +msgstr "``str(zeroes=True)``" #: howto/clinic.rst:852 msgid "``'s*'``" -msgstr "" +msgstr "``'s*'``" #: howto/clinic.rst:852 msgid "``Py_buffer(accept={buffer, str})``" -msgstr "" +msgstr "``Py_buffer(accept={buffer, str})``" #: howto/clinic.rst:853 msgid "``'U'``" @@ -1486,7 +1624,7 @@ msgstr "``'U'``" #: howto/clinic.rst:853 msgid "``unicode``" -msgstr "" +msgstr "``unicode``" #: howto/clinic.rst:854 msgid "``'u'``" @@ -1494,101 +1632,103 @@ msgstr "``'u'``" #: howto/clinic.rst:854 msgid "``Py_UNICODE``" -msgstr "" +msgstr "``Py_UNICODE``" #: howto/clinic.rst:855 msgid "``'u#'``" -msgstr "" +msgstr "``'u#'``" #: howto/clinic.rst:855 msgid "``Py_UNICODE(zeroes=True)``" -msgstr "" +msgstr "``Py_UNICODE(zeroes=True)``" #: howto/clinic.rst:856 msgid "``'w*'``" -msgstr "" +msgstr "``'w*'``" #: howto/clinic.rst:856 msgid "``Py_buffer(accept={rwbuffer})``" -msgstr "" +msgstr "``Py_buffer(accept={rwbuffer})``" #: howto/clinic.rst:857 msgid "``'Y'``" -msgstr "" +msgstr "``'Y'``" #: howto/clinic.rst:857 msgid "``PyByteArrayObject``" -msgstr "" +msgstr "``PyByteArrayObject``" #: howto/clinic.rst:858 msgid "``'y'``" -msgstr "" +msgstr "``'y'``" #: howto/clinic.rst:858 msgid "``str(accept={bytes})``" -msgstr "" +msgstr "``str(accept={bytes})``" #: howto/clinic.rst:859 msgid "``'y#'``" -msgstr "" +msgstr "``'y#'``" #: howto/clinic.rst:859 msgid "``str(accept={robuffer}, zeroes=True)``" -msgstr "" +msgstr "``str(accept={robuffer}, zeroes=True)``" #: howto/clinic.rst:860 msgid "``'y*'``" -msgstr "" +msgstr "``'y*'``" #: howto/clinic.rst:860 msgid "``Py_buffer``" -msgstr "" +msgstr "``Py_buffer``" #: howto/clinic.rst:861 msgid "``'Z'``" -msgstr "" +msgstr "``'Z'``" #: howto/clinic.rst:861 msgid "``Py_UNICODE(accept={str, NoneType})``" -msgstr "" +msgstr "``Py_UNICODE(accept={str, NoneType})``" #: howto/clinic.rst:862 msgid "``'Z#'``" -msgstr "" +msgstr "``'Z#'``" #: howto/clinic.rst:862 msgid "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``" -msgstr "" +msgstr "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``" #: howto/clinic.rst:863 msgid "``'z'``" -msgstr "" +msgstr "``'z'``" #: howto/clinic.rst:863 msgid "``str(accept={str, NoneType})``" -msgstr "" +msgstr "``str(accept={str, NoneType})``" #: howto/clinic.rst:864 msgid "``'z#'``" -msgstr "" +msgstr "``'z#'``" #: howto/clinic.rst:864 msgid "``str(accept={str, NoneType}, zeroes=True)``" -msgstr "" +msgstr "``str(accept={str, NoneType}, zeroes=True)``" #: howto/clinic.rst:865 msgid "``'z*'``" -msgstr "" +msgstr "``'z*'``" #: howto/clinic.rst:865 msgid "``Py_buffer(accept={buffer, str, NoneType})``" -msgstr "" +msgstr "``Py_buffer(accept={buffer, str, NoneType})``" #: howto/clinic.rst:868 msgid "" "As an example, here's our sample ``pickle.Pickler.dump`` using the proper " "converter::" msgstr "" +"Par exemple, voici notre code ``pickle.Pickler.dump`` via l'adaptateur " +"approprié ::" #: howto/clinic.rst:881 msgid "" @@ -1598,6 +1738,11 @@ msgid "" "default behavior performs range checking on the value, and they won't accept " "negative numbers. You just can't do that with a legacy converter!" msgstr "" +"Un avantage des adaptateurs réels est qu'ils sont plus flexibles que les " +"adaptateurs de base. Par exemple, l'adaptateur ``unsigned_int`` (ainsi que " +"tous les adaptateurs ``unsigned_``) peut être utilisé sans ``bitwise=True``. " +"Leur comportement par défaut contrôle la valeur, et n'acceptera pas de " +"nombres négatifs. On ne peut pas faire ça avec les adaptateurs de base !" #: howto/clinic.rst:887 msgid "" @@ -1606,10 +1751,14 @@ msgid "" "default value for each parameter. Just run ``Tools/clinic/clinic.py --" "converters`` to see the full list." msgstr "" +"Argument Clinic sait lister tous les adaptateurs disponibles. Pour chaque " +"adaptateur, il vous liste également l'ensemble des paramètres qu'ils " +"acceptent, ainsi que les valeurs par défaut de chacun. Utilisez simplement " +"la commande ``Tools/clinic/clinic.py --converters`` pour afficher la liste." #: howto/clinic.rst:893 msgid "Py_buffer" -msgstr "" +msgstr "Py_buffer" #: howto/clinic.rst:895 msgid "" @@ -1618,16 +1767,23 @@ msgid "" "`PyBuffer_Release` on the provided buffer. Argument Clinic generates code " "that does it for you (in the parsing function)." msgstr "" +"Lorsque vous utilisez l'adaptateur ``Py_buffer`` (ou bien les adaptateurs de " +"base ``'s*'``, ``'w*'``, ``'*y'``, ou ``'z*'``), vous *ne devez pas* " +"appeler :c:func:`PyBuffer_Release` sur le tampon fourni. Argument Clinic " +"génère du code qui le fait pour vous (dans la fonction d'analyse)." #: howto/clinic.rst:903 msgid "Advanced converters" -msgstr "" +msgstr "Adaptateurs avancés" #: howto/clinic.rst:905 msgid "" "Remember those format units you skipped for your first time because they " "were advanced? Here's how to handle those too." msgstr "" +"Vous vous souvenez de ces spécifications de format que vous avez laissées de " +"côté la première fois parce qu'il s'agissait de notions avancées ? Voici " +"comment les utiliser." #: howto/clinic.rst:908 msgid "" @@ -1639,6 +1795,14 @@ msgid "" "``O&``), ``subclass_of`` (for ``O!``), or ``encoding`` (for all the format " "units that start with ``e``)." msgstr "" +"L'astuce est que toutes ces spécifications de format acceptent des arguments " +"— aussi bien des fonctions de conversion que des types, ou des chaînes " +"spécifiant un encodage. (mais les « adaptateurs de base » ne gèrent pas les " +"arguments. C'est pourquoi nous les avions laissés de côté pour votre " +"première fonction.) L'argument que vous aviez spécifié à la spécification de " +"format est désormais un argument du convertisseur ; cet argument est soit " +"``converter`` (pour ``O&``), ``subclass_of`` (pour ``O!``), ou ``encoding`` " +"(pour toutes les spécifications de format qui commencent par ``e``)." #: howto/clinic.rst:916 msgid "" @@ -1648,6 +1812,12 @@ msgid "" "is a subclass of ``PyUnicode_Type``, you probably want to use the converter " "``object(type='PyUnicodeObject *', subclass_of='&PyUnicode_Type')``." msgstr "" +"Lorsque vous utilisez ``subclass_of``, vous pouvez également vouloir " +"utiliser les autres arguments usuels pour ``object()`` : ``type``, qui vous " +"laisse spécifier le type à utiliser pour l'argument. Par exemple, si vous " +"voulez vous assurer que l'objet est une sous-classe de ``PyUnicode_Type``, " +"vous utiliserez probablement le convertisseur ``object(type='PyUnicodeObject " +"*', subclass_of='&PyUnicode_Type')``." #: howto/clinic.rst:922 msgid "" @@ -1661,30 +1831,46 @@ msgid "" "unreasonable; CPython itself always passes in static hard-coded encoding " "strings for parameters whose format units start with ``e``." msgstr "" +"Mentionnons un problème potentiel d'utiliser *Argument Clinic* : cela retire " +"la flexibilité des spécifications de format commençant par ``e``. Lorsque " +"vous faites un appel à ``PyArg_Parse`` à la main, vous pourriez " +"théoriquement décider quelle chaîne d'encodage passer à :c:func:" +"`PyArg_ParseTuple`. Mais désormais cette chaîne doit être codée en dur au " +"moment du pré-processus d'Argument-Clinic. Cette limitation est délibérée ; " +"elle permet une gestion plus simple de cette spécification de format, et " +"peut permettre de futures optimisations. Cette restriction ne semble pas " +"déraisonnable ; CPython lui-même utilise toujours des chaînes d'encodage en " +"dur pour les paramètres dont les spécifications de format commencent par " +"``e``." #: howto/clinic.rst:935 msgid "Parameter default values" -msgstr "" +msgstr "Valeurs par défaut des paramètres" #: howto/clinic.rst:937 msgid "" "Default values for parameters can be any of a number of values. At their " "simplest, they can be string, int, or float literals:" msgstr "" +"Les valeurs par défaut des paramètres peuvent être n'importe quelle valeur. " +"Au plus simple, ce sont des chaînes, des entiers ou des nombres flottants :" #: howto/clinic.rst:946 msgid "They can also use any of Python's built-in constants:" msgstr "" +"Vous pouvez également utiliser n'importe quelle constante native de Python :" #: howto/clinic.rst:954 msgid "" "There's also special support for a default value of ``NULL``, and for simple " "expressions, documented in the following sections." msgstr "" +"La valeur ``NULL`` est également acceptée, ainsi que des expressions " +"simples, comme expliqué dans les sections suivantes." #: howto/clinic.rst:959 msgid "The ``NULL`` default value" -msgstr "" +msgstr "La valeur par défaut ``NULL``" #: howto/clinic.rst:961 msgid "" @@ -1695,10 +1881,16 @@ msgid "" "behaves like a default value of ``None``, but the C variable is initialized " "with ``NULL``." msgstr "" +"Pour les paramètres chaînes et objets, vous pouvez les positionner à " +"``None`` pour indiquer qu'il n'y a pas de valeur par défaut. Pour autant, " +"cela signifie que la variable C sera initialisée à ``Py_None``. Par " +"commodité, il existe une valeur spécifique appelée ``NULL`` juste pour cette " +"raison : du point de vue de Python, cette valeur se comporte comme la valeur " +"par défaut ``None``, mais la variable C est initialisée à ``NULL``." #: howto/clinic.rst:969 msgid "Expressions specified as default values" -msgstr "" +msgstr "Expressions spécifiées comme valeurs par défaut" #: howto/clinic.rst:971 msgid "" @@ -1707,6 +1899,10 @@ msgid "" "on objects. However, this support isn't exactly simple, because of some non-" "obvious semantics." msgstr "" +"La valeur par défaut d'un paramètre peut être plus qu'une simple valeur " +"littérale. Il peut s'agir d'une expression, utilisant des opérateurs " +"mathématiques et des attributs d'objets. Cependant, cette possibilité n'est " +"pas aussi simple, notamment à cause de sémantiques peu évidentes." #: howto/clinic.rst:976 msgid "Consider the following example:" @@ -1761,11 +1957,11 @@ msgstr "" #: howto/clinic.rst:1018 msgid "Function calls." -msgstr "" +msgstr "des appels de fonction." #: howto/clinic.rst:1019 msgid "Inline if statements (``3 if foo else 5``)." -msgstr "" +msgstr "des instructions *if* en ligne (``3 if foo else 5``) ;" #: howto/clinic.rst:1020 msgid "Automatic sequence unpacking (``*[1, 2, 3]``)."