1
- # Copyright (C) 2001-2018, Python Software Foundation
2
1
# For licence information, see README file.
3
2
#
4
3
msgid ""
5
4
msgstr ""
6
5
"Project-Id-Version :Python 3.6\n "
7
6
"Report-Msgid-Bugs-To :\n "
8
7
"POT-Creation-Date :2018-06-10 11:27+0200\n "
9
- "PO-Revision-Date :YEAR-MO-DA HO:MI+ZONE\n "
10
- "Last-Translator :FULL NAME <EMAIL@ADDRESS>\n "
8
+ "PO-Revision-Date :2019-07-18 20:06+0200\n "
11
9
"Language-Team :FRENCH <traductions@lists.afpy.org>\n "
12
10
"Language :fr\n "
13
11
"MIME-Version :1.0\n "
14
12
"Content-Type :text/plain; charset=UTF-8\n "
15
13
"Content-Transfer-Encoding :8bit\n "
14
+ "Last-Translator :Andy Kwok <andy.kwok.work@gmail.com>\n "
15
+ "X-Generator :Poedit 2.2.3\n "
16
16
17
17
#: ../Doc/howto/cporting.rst:7
18
18
msgid "Porting Extension Modules to Python 3"
19
- msgstr ""
19
+ msgstr "Portage des modules d'extension vers Python 3 "
20
20
21
21
#: ../Doc/howto/cporting.rst:0
22
22
msgid "author"
@@ -38,6 +38,12 @@ msgid ""
38
38
"obvious on the C level. This document endeavors to document "
39
39
"incompatibilities and how they can be worked around."
40
40
msgstr ""
41
+ "Changer l'API C n'était pas l'un des objectifs de Python 3, cependant les "
42
+ "nombreux changements de niveau Python ont rendu impossible de garder l'API "
43
+ "de Python 2 comme elle était. Certains changements tels que l'unification "
44
+ "de :func:`int` et :func:`long` sont plus apparents au niveau C. Ce document "
45
+ "s'efforce de documenter les incompatibilités et la façon dont elles peuvent "
46
+ "être contournées."
41
47
42
48
#: ../Doc/howto/cporting.rst:23
43
49
msgid "Conditional compilation"
@@ -48,26 +54,33 @@ msgid ""
48
54
"The easiest way to compile only some code for Python 3 is to check if :c:"
49
55
"macro:`PY_MAJOR_VERSION` is greater than or equal to 3. ::"
50
56
msgstr ""
57
+ "La façon la plus simple de compiler seulement une section de code pour "
58
+ "Python 3 est de vérifier si :c:macro:`PY_MAJOR_VERSION` est supérieur ou "
59
+ "égal à 3. ::"
51
60
52
61
#: ../Doc/howto/cporting.rst:32
53
62
msgid ""
54
63
"API functions that are not present can be aliased to their equivalents "
55
64
"within conditional blocks."
56
65
msgstr ""
66
+ "Les fonctions manquantes dans l'API peuvent être remplacées par des alias à "
67
+ "leurs équivalents dans des blocs conditionnels."
57
68
58
69
#: ../Doc/howto/cporting.rst:37
59
70
msgid "Changes to Object APIs"
60
- msgstr ""
71
+ msgstr "Modifications apportées aux API des objets "
61
72
62
73
#: ../Doc/howto/cporting.rst:39
63
74
msgid ""
64
75
"Python 3 merged together some types with similar functions while cleanly "
65
76
"separating others."
66
77
msgstr ""
78
+ "Python 3 a fusionné certains types avec des fonctions identiques tout en "
79
+ "séparant de façon propre, d'autres."
67
80
68
81
#: ../Doc/howto/cporting.rst:44
69
82
msgid "str/unicode Unification"
70
- msgstr ""
83
+ msgstr "Unification de *str* et *unicode* "
71
84
72
85
#: ../Doc/howto/cporting.rst:46
73
86
msgid ""
@@ -83,10 +96,23 @@ msgid ""
83
96
"shows best practices with regards to :c:type:`PyUnicode`, :c:type:"
84
97
"`PyString`, and :c:type:`PyBytes`. ::"
85
98
msgstr ""
99
+ "Le type :func:`str` de Python 3 est l'équivalent de :func:`unicode` sous "
100
+ "Python 2 ; Les fonctions C sont appelées ``PyUnicode_*`` pour les deux "
101
+ "versions. L'ancien type de chaîne de caractères de 8 bits est devenue :func:"
102
+ "`bytes`, avec des fonctions C nommées ``PyBytes_*``. Python 2.6 et toutes "
103
+ "les versions supérieures fournissent un en-tête de compatibilité, :file:"
104
+ "`bytesobject.h`, faisant correspondre les noms ``PyBytes`` aux ``PyString``. "
105
+ "Pour une meilleure compatibilité avec Python 3, :c:type:`PyUnicode` doit "
106
+ "être utilisé seulement pour des données textuelles et :c:type:`PyBytes` pour "
107
+ "des données binaires. Il est important de noter que :c:type:`PyBytes` et :c:"
108
+ "type:`PyUnicode` en Python 3 ne sont pas remplaçables contrairement à :c:"
109
+ "type:`PyString` et :c:type:`PyUnicode` dans Python 2. L'exemple suivant "
110
+ "montre l'utilisation optimale de :c:type:`PyUnicode`, :c:type:`PyString`, "
111
+ "et :c:type:`PyBytes`. ::"
86
112
87
113
#: ../Doc/howto/cporting.rst:95
88
114
msgid "long/int Unification"
89
- msgstr ""
115
+ msgstr "Unification de *long* et *int* "
90
116
91
117
#: ../Doc/howto/cporting.rst:97
92
118
msgid ""
@@ -95,10 +121,14 @@ msgid ""
95
121
"Python 2 was removed. In the C-API, ``PyInt_*`` functions are replaced by "
96
122
"their ``PyLong_*`` equivalents."
97
123
msgstr ""
124
+ "Python 3 n'a qu'un type d'entier, :func:`int`. Mais il correspond au type :"
125
+ "func:`long` de Python 2 — le type :func:`int` utilisé dans Python 2 a été "
126
+ "supprimé. Dans l'API C, les fonctions ``PyInt_*`` sont remplacées par leurs "
127
+ "équivalents ``PyLong_*``."
98
128
99
129
#: ../Doc/howto/cporting.rst:104
100
130
msgid "Module initialization and state"
101
- msgstr ""
131
+ msgstr "Initialisation et état du module "
102
132
103
133
#: ../Doc/howto/cporting.rst:106
104
134
msgid ""
@@ -108,10 +138,16 @@ msgid ""
108
138
"in both Python 2 and Python 3 is tricky. The following simple example "
109
139
"demonstrates how. ::"
110
140
msgstr ""
141
+ "Python 3 a remanié son système d'initialisation des modules d'extension "
142
+ "(Voir :pep:`3121`.). Au lieu de stocker les états de module dans les "
143
+ "variables globales, les états doivent être stockés dans une structure "
144
+ "spécifique à l'interpréteur. Créer des modules qui ont un fonctionnement "
145
+ "correct en Python 2 et Python 3 est délicat. L'exemple suivant montre "
146
+ "comment. ::"
111
147
112
148
#: ../Doc/howto/cporting.rst:197
113
149
msgid "CObject replaced with Capsule"
114
- msgstr ""
150
+ msgstr "CObject remplacé par Capsule "
115
151
116
152
#: ../Doc/howto/cporting.rst:199
117
153
msgid ""
@@ -122,6 +158,13 @@ msgid ""
122
158
"APIs relied on undefined behavior in C. (For further reading on the "
123
159
"rationale behind Capsules, please see :issue:`5630`.)"
124
160
msgstr ""
161
+ "L'objet :c:type:`Capsule` a été introduit dans Python 3.1 et 2.7 pour "
162
+ "remplacer :c:type:`CObject`. Les objets C étaient utiles, mais l'API :c:type:"
163
+ "`CObject` posait des soucis : elle ne permettait pas la distinction entre "
164
+ "les objets C valides, ce qui permettait aux objets C assortis incorrectement "
165
+ "de planter l'interpréteur, et certaines des API s'appuyaient sur un "
166
+ "comportement indéfini en C. (Pour plus de détails sur la logique de "
167
+ "Capsules, veuillez consulter :issue:`5630`)."
125
168
126
169
#: ../Doc/howto/cporting.rst:206
127
170
msgid ""
@@ -133,6 +176,14 @@ msgid ""
133
176
"support both CObjects and Capsules. (Note that Python 3.0 is no longer "
134
177
"supported, and it is not recommended for production use.)"
135
178
msgstr ""
179
+ "Si vous utilisez actuellement CObjects et que vous voulez migrer vers la "
180
+ "version 3.1 ou plus récente, vous devrez passer à Capsules. :c:type:"
181
+ "`CObject` est déprécié dans 3.1 et 2.7 et est supprimé dans Python 3.2. Si "
182
+ "vous ne gérez que les versions 2.7, ou 3.1 et supérieures, vous pouvez "
183
+ "simplement passer à :c:type:`Capsule`. Si vous avez besoin de gérer Python "
184
+ "3.0, ou des versions de Python antérieures à 2.7, vous devez gérer CObjects "
185
+ "et Capsules. (Notez que Python 3.0 n'est plus supporté, et qu'il n'est pas "
186
+ "recommandé pour une utilisation en production)."
136
187
137
188
#: ../Doc/howto/cporting.rst:216
138
189
msgid ""
@@ -142,6 +193,11 @@ msgid ""
142
193
"automatically use Capsules in versions of Python with Capsules, and switch "
143
194
"to CObjects when Capsules are unavailable."
144
195
msgstr ""
196
+ "L'exemple suivant d'en-tête de fichier :file:`capsulethunk.h` peut résoudre "
197
+ "le problème. Il suffit d'écrire votre code dans l'API :c:type:`Capsule` et "
198
+ "d'inclure ce fichier d'en-tête après :file:`Python.h`. Votre code utilisera "
199
+ "automatiquement Capsules dans les versions de Python avec Capsules, et "
200
+ "passera à CObjects lorsque les Capsules ne sont pas disponibles."
145
201
146
202
#: ../Doc/howto/cporting.rst:223
147
203
msgid ""
@@ -150,21 +206,29 @@ msgid ""
150
206
"the simulated :c:type:`Capsule` objects created by :file:`capsulethunk.h` "
151
207
"behave slightly differently from real Capsules. Specifically:"
152
208
msgstr ""
209
+ ":file:`capsulethunk.h` reproduit le fonctionnement de Capsules en utilisant "
210
+ "CObjects. Cependant, :c:type:`CObject` ne permet pas de stocker le\" nom\" "
211
+ "de la capsule. Les objets simulés :c:type:`Capsule` créés par :file:"
212
+ "`capsulethunk.h` se comportent différemment, bien que légèrement, des "
213
+ "véritables Capsules. Ainsi :"
153
214
154
215
#: ../Doc/howto/cporting.rst:228
155
216
msgid "The name parameter passed in to :c:func:`PyCapsule_New` is ignored."
156
- msgstr ""
217
+ msgstr "Le paramètre *name* passé à :c:func:`PyCapsule_New` est ignoré. "
157
218
158
219
#: ../Doc/howto/cporting.rst:230
159
220
msgid ""
160
221
"The name parameter passed in to :c:func:`PyCapsule_IsValid` and :c:func:"
161
222
"`PyCapsule_GetPointer` is ignored, and no error checking of the name is "
162
223
"performed."
163
224
msgstr ""
225
+ "Le paramètre *name* passé à :c:func:`PyCapsule_IsValid` et :c:func:"
226
+ "`PyCapsule_GetPointer` est ignoré et il n'y a pas de vérification d'erreur "
227
+ "du nom."
164
228
165
229
#: ../Doc/howto/cporting.rst:234
166
230
msgid ":c:func:`PyCapsule_GetName` always returns NULL."
167
- msgstr ""
231
+ msgstr ":c:func:`PyCapsule_GetName` renvoie toujours un NULL. "
168
232
169
233
#: ../Doc/howto/cporting.rst:236
170
234
msgid ""
@@ -173,21 +237,33 @@ msgid ""
173
237
"`PyCapsule_SetName` was deemed preferable to silent failure here. If this "
174
238
"is inconvenient, feel free to modify your local copy as you see fit.)"
175
239
msgstr ""
240
+ ":c:func:`PyCapsule_SetName` lève toujours une exception et renvoie un échec. "
241
+ "Note : Puisqu'il n'y a aucun moyen de stocker un nom dans un CObject, "
242
+ "l'échec verbeux de :c:func:`PyCapsule_SetName` a été jugé préférable à un "
243
+ "échec non-verbeux dans ce cas. Si cela ne vous convenait pas, vous pouvez "
244
+ "modifier votre copie locale selon vos besoins."
176
245
177
246
#: ../Doc/howto/cporting.rst:243
178
247
msgid ""
179
248
"You can find :file:`capsulethunk.h` in the Python source distribution as :"
180
249
"source:`Doc/includes/capsulethunk.h`. We also include it here for your "
181
250
"convenience:"
182
251
msgstr ""
252
+ "Vous pouvez trouver :file:`capsulethunk.h` dans la distribution source de "
253
+ "Python comme :source:`Doc/includes/capsulethunk.h`. Nous l'incluons ici pour "
254
+ "votre confort :"
183
255
184
256
#: ../Doc/howto/cporting.rst:252
185
257
msgid "Other options"
186
- msgstr ""
258
+ msgstr "Autres options "
187
259
188
260
#: ../Doc/howto/cporting.rst:254
189
261
msgid ""
190
262
"If you are writing a new extension module, you might consider `Cython "
191
263
"<http://cython.org/>`_. It translates a Python-like language to C. The "
192
264
"extension modules it creates are compatible with Python 3 and Python 2."
193
265
msgstr ""
266
+ "Si vous écrivez un nouveau module d'extension, vous pouvez envisager "
267
+ "d'utiliser `Cython <http://cython.org/>`_. Il traduit un langage de type "
268
+ "Python en C. Les modules d'extension qu'il crée sont compatibles avec Python "
269
+ "3 et Python 2."