@@ -40,7 +40,7 @@ msgstr ""
40
40
#: ../Doc/faq/extending.rst:22
41
41
msgid "Most intermediate or advanced Python books will also cover this topic."
42
42
msgstr ""
43
- "La plupart des livres Python intermédiaires ou avancés couvriront également "
43
+ "La plupart des livres Python intermédiaires ou avancés couvrent également "
44
44
"ce sujet."
45
45
46
46
#: ../Doc/faq/extending.rst:26
@@ -57,8 +57,8 @@ msgstr ""
57
57
"Oui, en utilisant les fonctionnalités de compatibilité C existantes en C++. "
58
58
"Placez ``extern \" C\" { ... }`` autour des fichiers Python inclus et mettez "
59
59
"``extern \" C\" `` avant chaque fonction qui sera appelée par l'interpréteur "
60
- "Python. Les objets globaux ou statiques C++ combinés avec les constructeurs "
61
- "n'est probablement pas une bonne idée ."
60
+ "Python. Les objets globaux ou statiques C++ ayant des constructeurs "
61
+ "ne sont probablement pas adaptés ."
62
62
63
63
#: ../Doc/faq/extending.rst:37
64
64
msgid "Writing C is hard; are there any alternatives?"
@@ -96,12 +96,12 @@ msgid ""
96
96
"html>`_, or `Weave <https://github.com/scipy/weave>`_ are also alternatives "
97
97
"for wrapping C++ libraries."
98
98
msgstr ""
99
- "Si vous avez besoin d'interfacer avec une bibliothèque C ou C++ pour "
99
+ "Si vous avez besoin d'accéder à l'interface d' une bibliothèque C ou C++ pour "
100
100
"laquelle aucune extension Python n'existe à ce jour, vous pouvez essayer "
101
101
"d'encapsuler les types de données et fonctions de la bibliothèque avec un "
102
102
"outil tel que `SWIG <http://www.swig.org>`_. `SIP <https://"
103
103
"riverbankcomputing.com/software/sip/intro>`__, `CXX <http://cxx.sourceforge."
104
- "net/>`_ `Boost <http://www.boost.org/libs/python/doc/index.html>`_, ou "
104
+ "net/>`_, `Boost <http://www.boost.org/libs/python/doc/index.html>`_ ou "
105
105
"`Weave <https://github.com/scipy/weave>`_ sont également des alternatives "
106
106
"pour encapsuler des bibliothèques C++."
107
107
@@ -121,7 +121,7 @@ msgid ""
121
121
msgstr ""
122
122
"La fonction de plus haut niveau pour ce faire est :c:func:"
123
123
"`PyRun_SimpleStringString` qui prend une chaîne pour seul argument afin de "
124
- "l'exécuter dans le contexte du module ``__main__`` et retourne ``0``` en cas "
124
+ "l'exécuter dans le contexte du module ``__main__`` et renvoie ``0``` en cas "
125
125
"de succès et ``-1`` quand une exception se produit (incluant :exc:"
126
126
"`SyntaxError`). Pour une meilleure maîtrise, utilisez :c:func:"
127
127
"`PyRun_String` ; voir le code source pour :c:func:`PyRun_SimpleString` dans "
@@ -140,7 +140,7 @@ msgid ""
140
140
msgstr ""
141
141
"Appelez la fonction :c:func:`PyRun_String` de la question précédente avec le "
142
142
"symbole de départ :c:data:`Py_eval_input` ; il analyse une expression, "
143
- "l'évalue et retourne sa valeur."
143
+ "l'évalue et renvoie sa valeur."
144
144
145
145
#: ../Doc/faq/extending.rst:80
146
146
msgid "How do I extract C values from a Python object?"
@@ -154,7 +154,7 @@ msgid ""
154
154
"func:`PyList_GetItem`."
155
155
msgstr ""
156
156
"Cela dépend du type d'objet. Si c'est un tuple, :c:func:`PyTuple_Size` "
157
- "retourne sa longueur et :c:func:`PyTuple_GetItem` retourne l'élément à "
157
+ "renvoie sa longueur et :c:func:`PyTuple_GetItem` renvoie l'élément à "
158
158
"l'index spécifié. Les listes ont des fonctions similaires, :c:func:"
159
159
"`PyListSize` et :c:func:`PyList_GetItem`."
160
160
@@ -165,7 +165,7 @@ msgid ""
165
165
"Note that Python bytes objects may contain null bytes so C's :c:func:"
166
166
"`strlen` should not be used."
167
167
msgstr ""
168
- "Pour les bytes, :c:func:`PyBytes_Size` retourne sa longueur et :c:func:"
168
+ "Pour les bytes, :c:func:`PyBytes_Size` renvoie sa longueur et :c:func:"
169
169
"`PyBytes_AsStringAndSize` fournit un pointeur vers sa valeur et sa "
170
170
"longueur. Notez que les objets bytes en Python peuvent contenir des valeurs "
171
171
"nulles, c'est pourquoi il ne faut pas utiliser la fonction C :c:func:"
@@ -195,7 +195,7 @@ msgstr ""
195
195
"détails. elle permet l'interfaçage avec tout type de séquence Python en "
196
196
"utilisant des appels tels que :c:func:`PySequence_Length`, :c:func:"
197
197
"`PySequence_GetItem`, etc. ainsi que de nombreux autres protocoles utiles "
198
- "tels que les nombres (:c:func:`PyNumber_Index` et al. ) et les "
198
+ "tels que les nombres (:c:func:`PyNumber_Index` et autres ) et les "
199
199
"correspondances dans les APIs PyMapping."
200
200
201
201
#: ../Doc/faq/extending.rst:104
@@ -221,7 +221,7 @@ msgstr ""
221
221
"La fonction :c:func:`PyObject_CallMethod` peut être utilisée pour appeler la "
222
222
"méthode d'un objet. Les paramètres sont l'objet, le nom de la méthode à "
223
223
"appeler, une chaîne de caractères comme celle utilisée pour :c:func:"
224
- "`Py_BuildValue`, et les valeurs des arguments: ::"
224
+ "`Py_BuildValue` et les valeurs des arguments ::"
225
225
226
226
#: ../Doc/faq/extending.rst:121
227
227
msgid ""
@@ -240,7 +240,7 @@ msgid ""
240
240
msgstr ""
241
241
"Pour appeler, p. ex., la méthode \" *seek*\" d'un objet *file* avec les "
242
242
"arguments 10, 0 (en supposant que le pointeur de l'objet fichier est \" f"
243
- "\" ): ::"
243
+ "\" ) ::"
244
244
245
245
#: ../Doc/faq/extending.rst:135
246
246
msgid ""
@@ -249,9 +249,9 @@ msgid ""
249
249
"format, and to call a function with one argument, surround the argument in "
250
250
"parentheses, e.g. \" (i)\" ."
251
251
msgstr ""
252
- "Notez que puisque :c:func:`PyObject_CallObject` veut *toujours* un tuple "
253
- "comme liste d'arguments, pour appeler une fonction sans arguments, utilisez "
254
- "\" ()\" pour être conforme au type, et pour appeler une fonction avec un "
252
+ "Notez que :c:func:`PyObject_CallObject` veut *toujours* un tuple "
253
+ "comme liste d'arguments. Aussi , pour appeler une fonction sans arguments, utilisez "
254
+ "\" ()\" pour être conforme au type et, pour appeler une fonction avec un "
255
255
"paramètre, entourez-le de parenthèses, p. ex. \" (i)\" ."
256
256
257
257
#: ../Doc/faq/extending.rst:142
@@ -269,16 +269,16 @@ msgid ""
269
269
"print_error, or just allow the standard traceback mechanism to work. Then, "
270
270
"the output will go wherever your ``write()`` method sends it."
271
271
msgstr ""
272
- "En code Python, définissez un objet qui possède la méthode ``write()``. "
272
+ "Dans le code Python, définissez un objet qui possède la méthode ``write()``. "
273
273
"Affectez cet objet à :data:`sys.stdout` et :data:`sys.stderr`. Appelez "
274
- "*print_error*, ou autorisez simplement le mécanisme de remontées standard à "
275
- "fonctionner . Ensuite, le retour ira là où votre méthode ``write()`` le "
276
- "destine ."
274
+ "*print_error* ou faites simplement en sorte que le mécanisme standard "
275
+ "de remontée des erreurs fonctionne . Ensuite, la sortie sera dirigée vers l'endroit où votre méthode ``write()`` "
276
+ "écrit ."
277
277
278
278
#: ../Doc/faq/extending.rst:149
279
279
msgid "The easiest way to do this is to use the :class:`io.StringIO` class:"
280
280
msgstr ""
281
- "La façon la plus simple pour ce faire est d' utiliser la classe :class:`io."
281
+ "La façon la plus simple consiste à utiliser la classe :class:`io."
282
282
"StringIO` :"
283
283
284
284
#: ../Doc/faq/extending.rst:161
@@ -292,7 +292,7 @@ msgstr "Comment accéder à un module écrit en Python à partir de C ?"
292
292
293
293
#: ../Doc/faq/extending.rst:184
294
294
msgid "You can get a pointer to the module object as follows::"
295
- msgstr "Vous pouvez obtenir un pointeur sur l'objet module comme suit: ::"
295
+ msgstr "Vous pouvez obtenir un pointeur sur l'objet module comme suit ::"
296
296
297
297
#: ../Doc/faq/extending.rst:188
298
298
msgid ""
@@ -304,24 +304,24 @@ msgid ""
304
304
msgstr ""
305
305
"Si le module n'a pas encore été importé (c.-à-d. qu'il n'est pas encore "
306
306
"présent dans :data:`sys.modules`), cela initialise le module ; sinon il "
307
- "retourne simplement la valeur de ``sys.modules[\" <modulename>\" ]``. Notez "
307
+ "renvoie simplement la valeur de ``sys.modules[\" <modulename>\" ]``. Notez "
308
308
"qu'il n'inscrit le module dans aucun espace de nommage — il s'assure "
309
- "seulement qu'il a été initialisé et est stocké dans :data:`sys.modules`."
309
+ "seulement qu'il a été initialisé et qu'il est stocké dans :data:`sys.modules`."
310
310
311
311
#: ../Doc/faq/extending.rst:194
312
312
msgid ""
313
313
"You can then access the module's attributes (i.e. any name defined in the "
314
314
"module) as follows::"
315
315
msgstr ""
316
316
"Vous pouvez alors accéder aux attributs du module (c.-à-d. à tout nom défini "
317
- "dans le module) comme suit: ::"
317
+ "dans le module) comme suit ::"
318
318
319
319
#: ../Doc/faq/extending.rst:199
320
320
msgid ""
321
321
"Calling :c:func:`PyObject_SetAttrString` to assign to variables in the "
322
322
"module also works."
323
323
msgstr ""
324
- "Appeler :c:func:`PyObject_SetAttrAttrStrString ` pour assigner aux variables "
324
+ "Appeler :c:func:`PyObject_SetAttrString ` pour assigner des valeurs aux variables "
325
325
"du module fonctionne également."
326
326
327
327
#: ../Doc/faq/extending.rst:204
@@ -337,11 +337,11 @@ msgid ""
337
337
"building a new Python type around a C structure (pointer) type will also "
338
338
"work for C++ objects."
339
339
msgstr ""
340
- "Selon vos besoins, il existe de nombreuses approches. Pour le faire "
340
+ "Selon vos besoins, de nombreuses approches sont possibles . Pour le faire "
341
341
"manuellement, commencez par lire :ref:`le document \" Extension et intégration"
342
342
"\" <extending-index>`. Sachez que pour le système d'exécution Python, il "
343
- "n'y a pas beaucoup de différence entre C et C++ — donc la méthode de "
344
- "construire un nouveau type Python autour d'une structure C (pointeur) "
343
+ "n'y a pas beaucoup de différence entre C et C++ — donc la méthode pour "
344
+ "construire un nouveau type Python à partir d'une structure C (pointeur) "
345
345
"fonctionne également avec des objets en C++."
346
346
347
347
#: ../Doc/faq/extending.rst:212
@@ -360,8 +360,8 @@ msgid ""
360
360
"fails. (Fixing this requires some ugly shell script hackery, and this bug "
361
361
"is so minor that it doesn't seem worth the effort.)"
362
362
msgstr ""
363
- "Le fichier *Setup* doit se terminer par une nouvelle ligne, s'il n'y a pas "
364
- "de nouvelle ligne, le processus de compilation échoue. (La résolution de ce "
363
+ "Le fichier *Setup* doit se terminer par une ligne vide , s'il n'y a pas "
364
+ "de ligne vide , le processus de compilation échoue ( ce "
365
365
"problème peut se régler en bidouillant un script shell, et ce bogue est si "
366
366
"mineur qu'il ne mérite pas qu'on s'y attarde)."
367
367
@@ -418,8 +418,8 @@ msgstr "Pour Debian, exécutez ``apt-get install python-dev``."
418
418
#: ../Doc/faq/extending.rst:259
419
419
msgid "How do I tell \" incomplete input\" from \" invalid input\" ?"
420
420
msgstr ""
421
- "Comment distinguer une « entrée incomplète » (*incomplete input*) d'une « "
422
- "entrée invalide » (*invalid input*) ?"
421
+ "Comment distinguer une « entrée incomplète » (*incomplete input*) d'une « "
422
+ "entrée invalide » (*invalid input*) ?"
423
423
424
424
#: ../Doc/faq/extending.rst:261
425
425
msgid ""
@@ -441,7 +441,7 @@ msgid ""
441
441
"parser's behavior sufficiently. IDLE uses this, for example."
442
442
msgstr ""
443
443
"En Python, vous pouvez utiliser le module :mod:`codeop`, qui se rapproche "
444
- "assez du comportement de l'analyseur. Par exemple, IDLE l'utilise ."
444
+ "assez du comportement de l'analyseur. Par exemple, IDLE l'utilise."
445
445
446
446
#: ../Doc/faq/extending.rst:270
447
447
msgid ""
@@ -452,7 +452,7 @@ msgid ""
452
452
"``Parser/myreadline.c`` for more hints."
453
453
msgstr ""
454
454
"La façon la plus simple de le faire en C est d'appeler :c:func:"
455
- "`PyRun_InteractiveLoop` (peut-être dans un autre fil d'exécution) et laissez "
455
+ "`PyRun_InteractiveLoop` (peut-être dans un autre fil d'exécution) et laisser "
456
456
"l'interpréteur Python gérer l'entrée pour vous. Vous pouvez également "
457
457
"définir :c:func:`PyOS_ReadlineFunctionPointer` pour pointer vers votre "
458
458
"fonction d'entrée personnalisée. Voir ``Modules/readline.c`` et ``Parser/"
@@ -468,12 +468,12 @@ msgid ""
468
468
"sample code fragment, untested, inspired by code from Alex Farber::"
469
469
msgstr ""
470
470
"Cependant, vous devez parfois exécuter l'interpréteur Python intégré dans le "
471
- "même fil d’exécution que votre application REST et vous ne pouvez pas "
472
- "laisser :c:func:`PyRun_InteractiveLoop` s'arrêter en attendant les entrées "
471
+ "même fil d’exécution que le reste de votre application et vous ne pouvez pas "
472
+ "laisser :c:func:`PyRun_InteractiveLoop` attendre les entrées "
473
473
"utilisateur. La seule solution est alors d'appeler :c:func:"
474
- "`PyParser_ParseString` et de tester ``e.error`` égal à ``E_EOF``, ce qui "
474
+ "`PyParser_ParseString` et de tester si ``e.error`` égale ``E_EOF``, ce qui "
475
475
"signifie que l'entrée est incomplète. Voici un exemple de code, non testé, "
476
- "inspiré du code d' Alex Farber: :"
476
+ "inspiré d'un code écrit par Alex Farber : :"
477
477
478
478
#: ../Doc/faq/extending.rst:310
479
479
msgid ""
@@ -487,14 +487,14 @@ msgid ""
487
487
"to ignore **SIGINT** while calling readline())::"
488
488
msgstr ""
489
489
"Une autre solution est d'essayer de compiler la chaîne reçue avec :c:func:"
490
- "`Py_CompileString`. Si cela se compile sans erreurs , essayez d'exécuter "
491
- "l'objet code retourné en appelant :c:func:`PyEval_EvalCode`. Sinon, "
490
+ "`Py_CompileString`. Si cela se compile sans erreur , essayez d'exécuter "
491
+ "l'objet code renvoyé en appelant :c:func:`PyEval_EvalCode`. Sinon, "
492
492
"enregistrez l'entrée pour plus tard. Si la compilation échoue, vérifiez s'il "
493
493
"s'agit d'une erreur ou s'il faut juste plus de données — en extrayant la "
494
494
"chaîne de message du tuple d'exception et en la comparant à la chaîne *"
495
495
"\" unexpected EOF while parsing\" *. Voici un exemple complet d'utilisation "
496
- "de la bibliothèque *readline* de GNU (vous pouvez ignorer **SIGINT** en "
497
- "appelant *readline()*): ::"
496
+ "de la bibliothèque *readline* de GNU (il vous est possible d' ignorer **SIGINT** lors de "
497
+ "l'appel à *readline()*) ::"
498
498
499
499
#: ../Doc/faq/extending.rst:432
500
500
msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?"
@@ -509,8 +509,8 @@ msgid ""
509
509
"extension module using g++ (e.g., ``g++ -shared -o mymodule.so mymodule.o``)."
510
510
msgstr ""
965E
511
511
"Pour charger dynamiquement les modules d'extension g++, vous devez "
512
- "recompiler Python, le relier en utilisant g++ (modifiez *LINKCC* dans le "
513
- "*Python Modules Makefile*), et rattacher votre module d'extension avec g++ "
512
+ "recompiler Python, effectuer l'édition de liens en utilisant g++ (modifiez *LINKCC* dans le "
513
+ "*Python Modules Makefile*), et effectuer l'édition de liens de votre module d'extension avec g++ "
514
514
"(par exemple, ``g++ -shared -o mymodule.so mymodule.o``)."
515
515
516
516
#: ../Doc/faq/extending.rst:440
@@ -519,7 +519,7 @@ msgid ""
519
519
"in Python (e.g. through inheritance)?"
520
520
msgstr ""
521
521
"Puis-je créer une classe d'objets avec certaines méthodes implémentées en C "
522
- "et d'autres en Python (p. ex. par héritage) ?"
522
+ "et d'autres en Python (p. ex. en utilisant l' héritage) ?"
523
523
524
524
#: ../Doc/faq/extending.rst:442
525
525
msgid ""
0 commit comments