Skip to content

Traduction de extending/extending.po 10011628 #1439

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 42 commits into from
Feb 15, 2021
Merged
Changes from 1 commit
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
926f689
Traduction de extending/extending.po 10011628
Catadanna Oct 1, 2020
d28e305
Traduction de extending/extending.po 10012021
Catadanna Oct 1, 2020
9c167dc
Update extending/extending.po
Catadanna Oct 2, 2020
751aa93
Update extending/extending.po
Catadanna Oct 2, 2020
75c6683
Update extending/extending.po
Catadanna Oct 2, 2020
db9bc47
Update extending/extending.po
Catadanna Oct 2, 2020
c1784b5
Update extending/extending.po
Catadanna Oct 2, 2020
b76d521
Update extending/extending.po
Catadanna Oct 2, 2020
25b9227
Update extending/extending.po
Catadanna Oct 2, 2020
d0c3bd8
Update extending/extending.po
Catadanna Oct 2, 2020
df20924
Update extending/extending.po
Catadanna Oct 2, 2020
7f36e68
Update extending/extending.po
Catadanna Oct 2, 2020
9386096
Update extending/extending.po
Catadanna Oct 2, 2020
e8e96ec
Update extending/extending.po
Catadanna Oct 2, 2020
71f237a
Update extending/extending.po
Catadanna Oct 2, 2020
5285926
Update extending/extending.po
Catadanna Oct 2, 2020
3f9a660
prise en compte des remarques
Catadanna Oct 2, 2020
7928ba0
Traduction de extending/extending.po 10021506
Catadanna Oct 2, 2020
11d7437
Update extending/extending.po
Catadanna Oct 2, 2020
0e1498e
Update extending/extending.po
Catadanna Oct 2, 2020
90af002
Update extending/extending.po
Catadanna Oct 2, 2020
f258dab
Update extending/extending.po
Catadanna Oct 2, 2020
9cf8d83
Update extending/extending.po
Catadanna Oct 2, 2020
26a5731
Update extending/extending.po
Catadanna Oct 2, 2020
f49c840
Update extending/extending.po
Catadanna Oct 2, 2020
0f231c4
Contribution 10211441
Catadanna Oct 21, 2020
23e9dfc
Merge branch '3.9' into extending-extending
JulienPalard Nov 23, 2020
4b1a366
Merge branch '3.9' into extending-extending
JulienPalard Dec 17, 2020
296a6dd
prise en compte des remarques
Catadanna Feb 7, 2021
4159659
Update extending/extending.po
Catadanna Feb 7, 2021
a8e37f9
Update extending/extending.po
Catadanna Feb 7, 2021
cf22866
Corrections
Catadanna Feb 7, 2021
21fd5f2
Done fusion resolve merge
Catadanna Feb 7, 2021
0851c98
Corrections 20210207 21:22
Catadanna Feb 7, 2021
73ad5b6
Corrections 20210207 21:43
Catadanna Feb 7, 2021
5f34ddc
Corrections 20210207 21:59
Catadanna Feb 7, 2021
e9043fb
Corrections 20210207 22:19
Catadanna Feb 7, 2021
94fd076
Merge branch '3.9' into extending-extending
Catadanna Feb 7, 2021
01dab86
Corrections 20210207 22:27
Catadanna Feb 7, 2021
f7043aa
Merge branch '3.9' into extending-extending
Seluj78 Feb 15, 2021
a4290cc
Fixed doc gen
Seluj78 Feb 15, 2021
354da3c
Fixed pospell ?
Seluj78 Feb 15, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Traduction de extending/extending.po 10021506
  • Loading branch information
Catadanna committed Oct 2, 2020
commit 7928ba08098fb266a8e0e8f98fb75e11c40f1ef2
136 changes: 129 additions & 7 deletions extending/extending.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2020-10-02 14:21+0200\n"
"PO-Revision-Date: 2020-10-02 15:06+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
Expand Down Expand Up @@ -309,7 +309,6 @@ msgstr ""
"de le déterminer à partir de la valeur renvoyée."

#: extending/extending.rst:160
#, fuzzy
msgid ""
"When a function *f* that calls another function *g* detects that the latter "
"fails, *f* should itself return an error value (usually ``NULL`` or "
Expand Down Expand Up @@ -662,6 +661,18 @@ msgid ""
"The init function must return the module object to its caller, so that it "
"then gets inserted into ``sys.modules``."
msgstr ""
"Lorsque le programme Python importe le module :mod:`spam` pour la première "
"fois, :c:func:`PyInit_spam` est appelé. (Voir ci-dessous pour les "
"commentaires sur l'intégration en Python.) Il appelle :c:func:"
"`PyModule_Create`, qui renvoie un objet module, et insère des objets "
"fonction intégrés dans le module nouvellement créé en se basant sur la table "
"(un tableau de structures :c:type:`PyMethodDef`) trouvée dans la définition "
"du module. :c:func:`PyModule_Create` et renvoie un pointeur vers l'objet "
"module qu'il crée. Il peut s'interrompre avec une erreur fatale pour "
"certaines erreurs, ou renvoyer ``NULL`` si le module n'a pas pu être "
"initialisé de manière satisfaisante. La fonction `init` doit renvoyer "
"l'objet module à son appelant, afin qu'il soit ensuite inséré dans ``sys."
"modules`` ."

#: extending/extending.rst:383
msgid ""
Expand All @@ -670,6 +681,11 @@ msgid ""
"table. To add the module to the initialization table, use :c:func:"
"`PyImport_AppendInittab`, optionally followed by an import of the module::"
msgstr ""
"Lors de l'intégration de Python, la fonction :c:func:`PyInit_spam` n'est pas "
"appelée automatiquement, sauf s'il y a une entrée dans la table :c:data:"
"`PyImport_Inittab`. Pour ajouter le module à la table d'initialisation, "
"utilisez :c:func:`PyImport_AppendInittab`, suivi éventuellement d'une "
"importation du module ::"

#: extending/extending.rst:427
msgid ""
Expand All @@ -679,6 +695,12 @@ msgid ""
"extension modules. Extension module authors should exercise caution when "
"initializing internal data structures."
msgstr ""
"Supprimer des entrées de ``sys.modules`` ou importer des modules compilés "
"dans plusieurs interpréteurs au sein d'un processus (ou suivre un :c:func:"
"`fork` sans l'intervention d'un :c:func:`exec`) peut créer des problèmes "
"pour certains modules d'extension. Les auteurs de modules d'extension "
"doivent faire preuve de prudence lorsqu'ils initialisent des structures de "
"données internes."

#: extending/extending.rst:433
msgid ""
Expand Down Expand Up @@ -984,6 +1006,11 @@ msgid ""
"not output) must not be pointers, just values. It returns a new Python "
"object, suitable for returning from a C function called from Python."
msgstr ""
"Il reconnaît un ensemble d'unités de format similaires à celles reconnues "
"par :c:func:`PyArg_ParseTuple`, mais les arguments (qui sont les données en "
"entrée de fonction, et non de la sortie) ne doivent pas être des pointeurs, "
"mais juste des valeurs. Il renvoie un nouvel objet Python, adapté pour être "
"renvoyé par une fonction C appelée depuis Python."

#: extending/extending.rst:814
msgid ""
Expand All @@ -997,7 +1024,7 @@ msgid ""
"parenthesize the format string."
msgstr ""
"Une différence par rapport à :c:func:`PyArg_ParseTuple` : alors que ce "
"dernier nécessite que son premier argument soit un *n*-uplet (puisque les "
"dernier nécessite que son premier argument soit un n-uplet (puisque les "
"listes d'arguments Python sont toujours représentées par des *n*-uplets en "
"interne), :c:func:`Py_BuildValue` ne construit pas toujours un *n*-uplet. Il "
"n'en construit un que si sa chaîne formatée contient deux unités formatées "
Expand All @@ -1024,6 +1051,12 @@ msgid ""
"``new`` and ``delete`` are used with essentially the same meaning and we'll "
"restrict the following discussion to the C case."
msgstr ""
"Dans les langages comme le C ou le C++, le développeur est responsable de "
"l'allocation dynamique et de la dés-allocation de la mémoire sur le tas. En "
"C, cela se fait à l'aide des fonctions :c:func:`malloc` et :c:func:`free`. "
"En C++, les opérateurs ``new`` et ``delete`` sont utilisés avec "
"essentiellement la même signification et nous limiterons la discussion "
"suivante au cas du C."

#: extending/extending.rst:856
msgid ""
Expand Down Expand Up @@ -1159,8 +1192,8 @@ msgstr ""
"La grande question demeure maintenant : quand utiliser ``Py_INCREF(x)`` et "
"``Py_DECREF(x)`` ? Commençons par définir quelques termes. Personne ne "
"possède un objet, mais vous pouvez en :dfn:`avoir une référence`. Le "
"comptage de références d'un objet est maintenant défini comme le étant le "
"nombre de références à cet objet dont on est propriétaire . Le propriétaire "
"comptage de références d'un objet est maintenant défini comme étant le "
"nombre de références à cet objet dont on est propriétaire. Le propriétaire "
"d'une référence est responsable d'appeler :c:func:`Py_DECREF` lorsque la "
"référence n'est plus nécessaire. La propriété d'une référence peut être "
"transférée. Il y a trois façons de disposer d'une référence propriétaire : "
Expand Down Expand Up @@ -1297,13 +1330,19 @@ msgid ""
"on an unrelated object while borrowing a reference to a list item. For "
"instance::"
msgstr ""
"Le premier cas, et le plus important à connaître, est celui de l'application "
"de :c:func:`Py_DECREF` à un objet non relié, tout en empruntant une "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"de :c:func:`Py_DECREF` à un objet non relié, tout en empruntant une "
"de :c:func:`Py_DECREF` à un objet sans rapport, tout en empruntant une "

le __del__ pourrait supprimer n'importe quoi, et si ce "quoi" n'a qu'une référence, qu'on emprunte, qui se fait décrémenter par __del__, boom.

"référence à un élément de liste. Par exemple ::"

#: extending/extending.rst:1032
msgid ""
"This function first borrows a reference to ``list[0]``, then replaces "
"``list[1]`` with the value ``0``, and finally prints the borrowed reference. "
"Looks harmless, right? But it's not!"
msgstr ""
"Cette fonction emprunte d'abord une référence à ``list[0]``, puis remplace "
"``list[1]`` par la valeur ``0``, et enfin affiche la référence empruntée. "
"Ça a l'air inoffensif, n'est-ce pas ? Mais ce n'est pas le cas !"

#: extending/extending.rst:1036
msgid ""
Expand All @@ -1316,7 +1355,6 @@ msgid ""
msgstr ""

#: extending/extending.rst:1043
#, fuzzy
msgid ""
"Since it is written in Python, the :meth:`__del__` method can execute "
"arbitrary Python code. Could it perhaps do something to invalidate the "
Expand All @@ -1328,7 +1366,7 @@ msgid ""
msgstr ""
"Comme elle est écrite en Python, la méthode :meth:`__del__` peut exécuter du "
"code Python arbitraire. Pourrait-elle faire quelque chose pour invalider la "
"référence à ``item`` dans :c:func:`bug' ? Bien sûr ! En supposant que la "
"référence à ``item`` dans :c:func:`bug` ? Bien sûr ! En supposant que la "
"liste passée dans :c:func:`bug` est accessible à la méthode :meth:`__del__`, "
"elle pourrait exécuter une instruction à l'effet de ``del list[0]``, et en "
"supposant que ce soit la dernière référence à cet objet, elle libérerait la "
Expand Down Expand Up @@ -1359,6 +1397,16 @@ msgid ""
"complete. Obviously, the following function has the same problem as the "
"previous one::"
msgstr ""
"Le deuxième cas de problèmes liés à une référence empruntée est une variante "
"impliquant des fils de discussion. Normalement, plusieurs threads dans "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"impliquant des fils de discussion. Normalement, plusieurs threads dans "
"impliquant des fils d'exécution. Normalement, plusieurs threads dans "

"l'interpréteur Python ne peuvent pas se gêner mutuellement, car il existe un "
"verrou global protégeant tout l'espace objet de Python. Cependant, il est "
"possible de libérer temporairement ce verrou en utilisant la macro :c:macro:"
"`Py_BEGIN_ALLOW_THREADS`, et de le ré-acquérir en utilisant :c:macro:"
"`Py_END_ALLOW_THREADS`. Ceci est un procédé courant pour bloquer les appels "
"d'E/S, afin de permettre aux autres threads d'utiliser le processeur en "
"attendant que les E/S soient terminées. Évidemment, la fonction suivante a "
"le même problème que la précédente ::"

#: extending/extending.rst:1092
msgid "NULL Pointers"
Expand Down Expand Up @@ -1415,6 +1463,9 @@ msgid ""
"C functions (``args`` in the examples) is never ``NULL`` --- in fact it "
"guarantees that it is always a tuple [#]_."
msgstr ""
"Le mécanisme d'appel de fonctions C garantit que la liste d'arguments passée "
"aux fonctions C (``args`` dans les exemples) n'est jamais ``NULL``. En fait, "
"il garantit qu'il s'agit toujours d'un n-uplet [#]_."

#: extending/extending.rst:1120
msgid ""
Expand All @@ -1427,6 +1478,7 @@ msgid "Writing Extensions in C++"
msgstr "Écrire des extensions en C++"

#: extending/extending.rst:1133
#, fuzzy
msgid ""
"It is possible to write extension modules in C++. Some restrictions apply. "
"If the main program (the Python interpreter) is compiled and linked by the C "
Expand All @@ -1438,6 +1490,17 @@ msgid ""
"`` --- they use this form already if the symbol ``__cplusplus`` is defined "
"(all recent C++ compilers define this symbol)."
msgstr ""
"Il est possible d'écrire des modules d'extension en C++, mais avec un nombre "
"de restrictions. Si le programme principal (l'interpréteur Python) est "
"compilé et lié par le compilateur C, les objets globaux ou statiques avec "
"les constructeurs ne peuvent pas être utilisés. Ce n'est pas un problème si "
"le programme principal est lié par le compilateur C++. Les fonctions qui "
"seront appelées par l'interpréteur Python (en particulier, les fonctions "
"d'initialisation des modules) doivent être déclarées en utilisant le \"C\" "
"externe. Il n'est pas nécessaire d'inclure les fichiers d'en-tête Python "
"dans le ``extern \"C\" {...}``, car ils utilisent déjà ce format si le "
"symbole ``__cplusplus`` est défini (tous les compilateurs C++ récents "
"définissent ce symbole)."

#: extending/extending.rst:1147
msgid "Providing a C API for an Extension Module"
Expand All @@ -1453,6 +1516,15 @@ msgid ""
"create and manipulate lists, this new collection type should have a set of C "
"functions for direct manipulation from other extension modules."
msgstr ""
"De nombreux modules d'extension fournissent simplement de nouvelles "
"fonctions et de nouveaux types à utiliser à partir de Python, mais parfois "
"le code d'un module d'extension peut être utile pour d'autres modules "
"d'extension. Par exemple, un module d'extension peut mettre en œuvre un type "
"\"collection\" qui fonctionne comme des listes sans ordre. Tout comme le "
"type de liste Python standard possède une API C qui permet aux modules "
"d'extension de créer et de manipuler des listes, ce nouveau type de "
"collection devrait posséder un ensemble de fonctions C pour une manipulation "
"directe à partir d'autres modules d'extension."

#: extending/extending.rst:1160
msgid ""
Expand Down Expand Up @@ -1493,6 +1565,14 @@ msgid ""
"section :ref:`methodtable`). And it means that symbols that *should* be "
"accessible from other extension modules must be exported in a different way."
msgstr ""
"La portabilité exige donc de ne faire aucune supposition sur la visibilité "
"des symboles. Cela signifie que tous les symboles des modules d'extension "
"doivent être déclarés ``static``, à l'exception de la fonction "
"d'initialisation du module, afin d'éviter les conflits de noms avec les "
"autres modules d'extension (comme discuté dans la section :ref:"
"`methodtable`). Et cela signifie que les symboles qui *devraient* être "
"accessibles à partir d'autres modules d'extension doivent être exportés "
"d'une manière différente."

#: extending/extending.rst:1179
msgid ""
Expand All @@ -1515,6 +1595,13 @@ msgid ""
"distributed in different ways between the module providing the code and the "
"client modules."
msgstr ""
"Il existe de nombreuses façons d'utiliser les Capsules pour exporter l'API C "
"d'un module d'extension. Chaque fonction peut obtenir sa propre Capsule, ou "
"tous les pointeurs de l'API C peuvent être stockés dans un tableau dont "
"l'adresse est inscrite dans une Capsule. Et les différentes tâches de "
"stockage et de récupération des pointeurs peuvent être réparties de "
"différentes manières entre le module fournissant le code et les modules "
"clients."

#: extending/extending.rst:1193
msgid ""
Expand All @@ -1525,6 +1612,13 @@ msgid ""
"of runtime type-safety; there is no feasible way to tell one unnamed Capsule "
"from another."
msgstr ""
"Quelle que soit la méthode que vous choisissez, il est important de bien "
"nommer vos Capsules. La fonction :c:func:`PyCapsule_New` prend un paramètre "
"nommé (:c:type:`const char \\*`). Vous êtes autorisé à passer un nom "
"``NULL``, mais nous vous encourageons vivement à spécifier un nom. Des "
"Capsules correctement nommées offrent un certain degré de sécurité quant au "
"type d'exécution. Il n'y a pas de moyen de distinguer une Capsule non nommée "
"d'une autre."

#: extending/extending.rst:1200
msgid ""
Expand All @@ -1550,6 +1644,14 @@ msgid ""
"takes care of importing the module and retrieving its C API pointers; client "
"modules only have to call this macro before accessing the C API."
msgstr ""
"L'exemple suivant montre une approche qui fait peser la plus grande partie "
"de la charge sur le rédacteur du module d'exportation, ce qui est approprié "
"pour les modules de bibliothèque couramment utilisés. Il stocke tous les "
"pointeurs de l'API C (un seul dans l'exemple !) dans un tableau de "
"pointeurs :c:type:`void` qui devient la valeur d'une Capsule. Le fichier "
"d'en-tête correspondant au module fournit une macro qui se charge d'importer "
"le module et de récupérer ses pointeurs d'API C. Les modules clients n'ont "
"qu'à appeler cette macro avant d'accéder à l'API C."

#: extending/extending.rst:1218
msgid ""
Expand Down Expand Up @@ -1593,6 +1695,10 @@ msgid ""
"initialization function must take care of initializing the C API pointer "
"array::"
msgstr ""
"L'indicateur ``#define`` est utilisé pour indiquer au fichier d'en-tête "
"qu'il est inclus dans le module d'exportation, et non dans un module client. "
"Enfin, la fonction d'initialisation du module doit prendre en charge "
"l'initialisation du tableau de pointeurs de l'API C ::"

#: extending/extending.rst:1287
msgid ""
Expand All @@ -1616,13 +1722,20 @@ msgid ""
"func:`PySpam_System` is to call the function (or rather macro) :c:func:"
"`import_spam` in its initialization function::"
msgstr ""
"Tout ce qu'un module client doit faire pour avoir accès à la fonction :c:"
"func:`PySpam_System` est d'appeler la fonction (ou plutôt la macro) :c:func:"
"`import_spam` dans sa fonction d'initialisation ::"

#: extending/extending.rst:1359
msgid ""
"The main disadvantage of this approach is that the file :file:`spammodule.h` "
"is rather complicated. However, the basic structure is the same for each "
"function that is exported, so it has to be learned only once."
msgstr ""
"Le principal inconvénient de cette approche est que le fichier :file:"
"`spammodule.h` est assez compliqué. Cependant, la structure de base est la "
"même pour chaque fonction exportée, ce qui fait qu'elle ne doit être apprise "
"qu'une seule fois."

#: extending/extending.rst:1363
msgid ""
Expand All @@ -1633,6 +1746,13 @@ msgid ""
"Capsules (files :file:`Include/pycapsule.h` and :file:`Objects/pycapsule.c` "
"in the Python source code distribution)."
msgstr ""
"Enfin, il convient de mentionner que Capsules offrent des fonctionnalités "
"supplémentaires, qui sont particulièrement utiles pour l'allocation de la "
"mémoire et la dés-allocation du pointeur stocké dans un objet Capsule. Les "
"détails sont décrits dans le manuel de référence de l'API Python/C dans la "
"section :ref:`capsules` et dans l'implémentation des Capsules (fichiers :"
"file:`Include/pycapsule.h` et :file:`Objects/pycapsule.c` dans la "
"distribution du code source Python)."

#: extending/extending.rst:1371
msgid "Footnotes"
Expand All @@ -1643,6 +1763,8 @@ msgid ""
"An interface for this function already exists in the standard module :mod:"
"`os` --- it was chosen as a simple and straightforward example."
msgstr ""
"Une interface pour cette fonction existe déjà dans le module standard :mod:"
"`os`, elle a été choisie comme un exemple simple et direct."

#: extending/extending.rst:1375
msgid ""
Expand Down