merge pot files.

This commit is contained in:
Julien Palard 2018-04-29 00:28:01 +02:00
parent c2b58d3161
commit e810d13422
39 changed files with 4970 additions and 4789 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-02-15 00:29+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -295,7 +295,7 @@ msgid ""
"`PyObject\\*`."
msgstr ""
#: ../Doc/c-api/arg.rst:152 ../Doc/c-api/arg.rst:557
#: ../Doc/c-api/arg.rst:156
msgid "``u`` (:class:`str`) [Py_UNICODE \\*]"
msgstr "``u`` (:class:`str`) [Py_UNICODE \\*]"
@ -310,22 +310,29 @@ msgid ""
"`ValueError` exception is raised."
msgstr ""
#: ../Doc/c-api/arg.rst:157 ../Doc/c-api/arg.rst:562
#: ../Doc/c-api/arg.rst:157 ../Doc/c-api/arg.rst:166 ../Doc/c-api/arg.rst:174
#: ../Doc/c-api/arg.rst:182
msgid ""
"Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:"
"func:`PyUnicode_AsWideCharString`."
msgstr ""
#: ../Doc/c-api/arg.rst:165
msgid "``u#`` (:class:`str`) [Py_UNICODE \\*, int]"
msgstr "``u#`` (:class:`str`) [Py_UNICODE \\*, int]"
#: ../Doc/c-api/arg.rst:155
#: ../Doc/c-api/arg.rst:159
msgid ""
"This variant on ``u`` stores into two C variables, the first one a pointer "
"to a Unicode data buffer, the second one its length. This variant allows "
"null code points."
msgstr ""
#: ../Doc/c-api/arg.rst:161
#: ../Doc/c-api/arg.rst:173
msgid "``Z`` (:class:`str` or ``None``) [Py_UNICODE \\*]"
msgstr "``Z`` (:class:`str` ou ``None``) [Py_UNICODE \\*]"
#: ../Doc/c-api/arg.rst:160
#: ../Doc/c-api/arg.rst:168
msgid ""
"Like ``u``, but the Python object may also be ``None``, in which case the :c:"
"type:`Py_UNICODE` pointer is set to *NULL*."
@ -333,11 +340,11 @@ msgstr ""
"Comme ``u``, mais l'objet Python peut aussi être ``None``, auquel cas le "
"pointeur :c:type:`Py_UNICODE` vaut *NULL*."
#: ../Doc/c-api/arg.rst:165
#: ../Doc/c-api/arg.rst:181
msgid "``Z#`` (:class:`str` or ``None``) [Py_UNICODE \\*, int]"
msgstr "``Z#`` (:class:`str` ou ``None``) [Py_UNICODE \\*, int]"
#: ../Doc/c-api/arg.rst:164
#: ../Doc/c-api/arg.rst:176
msgid ""
"Like ``u#``, but the Python object may also be ``None``, in which case the :"
"c:type:`Py_UNICODE` pointer is set to *NULL*."
@ -345,22 +352,22 @@ msgstr ""
"Comme ``u#``, mais l'objet Python peut également être ``None``, auquel cas "
"le pointeur :c:type:`Py_UNICODE` vaut *NULL*."
#: ../Doc/c-api/arg.rst:170
#: ../Doc/c-api/arg.rst:186
msgid "``U`` (:class:`str`) [PyObject \\*]"
msgstr "``U`` (:class:`str`) [PyObject \\*]"
#: ../Doc/c-api/arg.rst:168
#: ../Doc/c-api/arg.rst:184
msgid ""
"Requires that the Python object is a Unicode object, without attempting any "
"conversion. Raises :exc:`TypeError` if the object is not a Unicode object. "
"The C variable may also be declared as :c:type:`PyObject\\*`."
msgstr ""
#: ../Doc/c-api/arg.rst:176
#: ../Doc/c-api/arg.rst:192
msgid "``w*`` (read-write :term:`bytes-like object`) [Py_buffer]"
msgstr "``w*`` (read-write :term:`bytes-like object`) [Py_buffer]"
#: ../Doc/c-api/arg.rst:173
#: ../Doc/c-api/arg.rst:189
msgid ""
"This format accepts any object which implements the read-write buffer "
"interface. It fills a :c:type:`Py_buffer` structure provided by the caller. "
@ -368,17 +375,17 @@ msgid ""
"`PyBuffer_Release` when it is done with the buffer."
msgstr ""
#: ../Doc/c-api/arg.rst:193
#: ../Doc/c-api/arg.rst:209
msgid "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]"
msgstr ""
#: ../Doc/c-api/arg.rst:179
#: ../Doc/c-api/arg.rst:195
msgid ""
"This variant on ``s`` is used for encoding Unicode into a character buffer. "
"It only works for encoded data without embedded NUL bytes."
msgstr ""
#: ../Doc/c-api/arg.rst:182
#: ../Doc/c-api/arg.rst:198
msgid ""
"This format requires two arguments. The first is only used as input, and "
"must be a :c:type:`const char\\*` which points to the name of an encoding as "
@ -390,7 +397,7 @@ msgid ""
"argument."
msgstr ""
#: ../Doc/c-api/arg.rst:190
#: ../Doc/c-api/arg.rst:206
msgid ""
":c:func:`PyArg_ParseTuple` will allocate a buffer of the needed size, copy "
"the encoded data into this buffer and adjust *\\*buffer* to reference the "
@ -398,33 +405,33 @@ msgid ""
"`PyMem_Free` to free the allocated buffer after use."
msgstr ""
#: ../Doc/c-api/arg.rst:198
#: ../Doc/c-api/arg.rst:214
msgid ""
"``et`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char "
"\\*encoding, char \\*\\*buffer]"
msgstr ""
#: ../Doc/c-api/arg.rst:196
#: ../Doc/c-api/arg.rst:212
msgid ""
"Same as ``es`` except that byte string objects are passed through without "
"recoding them. Instead, the implementation assumes that the byte string "
"object uses the encoding passed in as parameter."
msgstr ""
#: ../Doc/c-api/arg.rst:229
#: ../Doc/c-api/arg.rst:245
msgid ""
"``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, int "
"\\*buffer_length]"
msgstr ""
#: ../Doc/c-api/arg.rst:201
#: ../Doc/c-api/arg.rst:217
msgid ""
"This variant on ``s#`` is used for encoding Unicode into a character buffer. "
"Unlike the ``es`` format, this variant allows input data which contains NUL "
"characters."
msgstr ""
#: ../Doc/c-api/arg.rst:205
#: ../Doc/c-api/arg.rst:221
msgid ""
"It requires three arguments. The first is only used as input, and must be "
"a :c:type:`const char\\*` which points to the name of an encoding as a NUL-"
@ -437,11 +444,11 @@ msgid ""
"will be set to the number of bytes in the output buffer."
msgstr ""
#: ../Doc/c-api/arg.rst:215
#: ../Doc/c-api/arg.rst:231
msgid "There are two modes of operation:"
msgstr "Il existe deux modes de fonctionnement :"
#: ../Doc/c-api/arg.rst:217
#: ../Doc/c-api/arg.rst:233
msgid ""
"If *\\*buffer* points a *NULL* pointer, the function will allocate a buffer "
"of the needed size, copy the encoded data into this buffer and set *"
@ -450,7 +457,7 @@ msgid ""
"after usage."
msgstr ""
#: ../Doc/c-api/arg.rst:222
#: ../Doc/c-api/arg.rst:238
msgid ""
"If *\\*buffer* points to a non-*NULL* pointer (an already allocated "
"buffer), :c:func:`PyArg_ParseTuple` will use this location as the buffer and "
@ -459,7 +466,7 @@ msgid ""
"the buffer is not large enough, a :exc:`ValueError` will be set."
msgstr ""
#: ../Doc/c-api/arg.rst:228
#: ../Doc/c-api/arg.rst:244
msgid ""
"In both cases, *\\*buffer_length* is set to the length of the encoded data "
"without the trailing NUL byte."
@ -467,28 +474,28 @@ msgstr ""
"Dans les deux cas, *\\*buffer_length* est la longueur des données encodées, "
"sans l'octet NUL de fin."
#: ../Doc/c-api/arg.rst:234
#: ../Doc/c-api/arg.rst:250
msgid ""
"``et#`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char "
"\\*encoding, char \\*\\*buffer, int \\*buffer_length]"
msgstr ""
#: ../Doc/c-api/arg.rst:232
#: ../Doc/c-api/arg.rst:248
msgid ""
"Same as ``es#`` except that byte string objects are passed through without "
"recoding them. Instead, the implementation assumes that the byte string "
"object uses the encoding passed in as parameter."
msgstr ""
#: ../Doc/c-api/arg.rst:237
#: ../Doc/c-api/arg.rst:253
msgid "Numbers"
msgstr "Les nombres"
#: ../Doc/c-api/arg.rst:241
#: ../Doc/c-api/arg.rst:257
msgid "``b`` (:class:`int`) [unsigned char]"
msgstr "``b`` (:class:`int`) [unsigned char]"
#: ../Doc/c-api/arg.rst:240
#: ../Doc/c-api/arg.rst:256
msgid ""
"Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :"
"c:type:`unsigned char`."
@ -496,11 +503,11 @@ msgstr ""
"Convertit un entier Python positif ou nul en un unsigned tiny int, stocké "
"dans un :c:type:`unsigned char` C."
#: ../Doc/c-api/arg.rst:245 ../Doc/c-api/arg.rst:583
#: ../Doc/c-api/arg.rst:261 ../Doc/c-api/arg.rst:600
msgid "``B`` (:class:`int`) [unsigned char]"
msgstr "``B`` (:class:`int`) [unsigned char]"
#: ../Doc/c-api/arg.rst:244
#: ../Doc/c-api/arg.rst:260
msgid ""
"Convert a Python integer to a tiny int without overflow checking, stored in "
"a C :c:type:`unsigned char`."
@ -508,19 +515,19 @@ msgstr ""
"Convertit un entier Python en un tiny int sans vérifier le débordement, "
"stocké dans un :c:type:`unsigned char` C."
#: ../Doc/c-api/arg.rst:248 ../Doc/c-api/arg.rst:577
#: ../Doc/c-api/arg.rst:264 ../Doc/c-api/arg.rst:594
msgid "``h`` (:class:`int`) [short int]"
msgstr "``h`` (:class:`int`) [short int]"
#: ../Doc/c-api/arg.rst:248
#: ../Doc/c-api/arg.rst:264
msgid "Convert a Python integer to a C :c:type:`short int`."
msgstr "Convertit un entier Python en un :c:type:`short int` C."
#: ../Doc/c-api/arg.rst:252 ../Doc/c-api/arg.rst:586
#: ../Doc/c-api/arg.rst:268 ../Doc/c-api/arg.rst:603
msgid "``H`` (:class:`int`) [unsigned short int]"
msgstr "``H`` (:class:`int`) [unsigned short int]"
#: ../Doc/c-api/arg.rst:251
#: ../Doc/c-api/arg.rst:267
msgid ""
"Convert a Python integer to a C :c:type:`unsigned short int`, without "
"overflow checking."
@ -528,19 +535,19 @@ msgstr ""
"Convertit un entier Python en un :c:type:`unsigned short int` C, sans "
"contrôle de débordement."
#: ../Doc/c-api/arg.rst:255 ../Doc/c-api/arg.rst:571
#: ../Doc/c-api/arg.rst:271 ../Doc/c-api/arg.rst:588
msgid "``i`` (:class:`int`) [int]"
msgstr "``i`` (:class:`int`) [int]"
#: ../Doc/c-api/arg.rst:255
#: ../Doc/c-api/arg.rst:271
msgid "Convert a Python integer to a plain C :c:type:`int`."
msgstr "Convertit un entier Python en un :c:type:`int` C."
#: ../Doc/c-api/arg.rst:259 ../Doc/c-api/arg.rst:589
#: ../Doc/c-api/arg.rst:275 ../Doc/c-api/arg.rst:606
msgid "``I`` (:class:`int`) [unsigned int]"
msgstr "``I`` (:class:`int`) [unsigned int]"
#: ../Doc/c-api/arg.rst:258
#: ../Doc/c-api/arg.rst:274
msgid ""
"Convert a Python integer to a C :c:type:`unsigned int`, without overflow "
"checking."
@ -548,19 +555,19 @@ msgstr ""
"Convertit un entier Python en un :c:type:`unsigned int` C, sans contrôle de "
"le débordement."
#: ../Doc/c-api/arg.rst:262 ../Doc/c-api/arg.rst:580
#: ../Doc/c-api/arg.rst:278 ../Doc/c-api/arg.rst:597
msgid "``l`` (:class:`int`) [long int]"
msgstr "``l`` (:class:`int`) [long int]"
#: ../Doc/c-api/arg.rst:262
#: ../Doc/c-api/arg.rst:278
msgid "Convert a Python integer to a C :c:type:`long int`."
msgstr "Convertit un entier Python en un :c:type:`long int`."
#: ../Doc/c-api/arg.rst:266 ../Doc/c-api/arg.rst:592
#: ../Doc/c-api/arg.rst:282 ../Doc/c-api/arg.rst:609
msgid "``k`` (:class:`int`) [unsigned long]"
msgstr "``k`` (:class:`int`) [unsigned long]"
#: ../Doc/c-api/arg.rst:265
#: ../Doc/c-api/arg.rst:281
msgid ""
"Convert a Python integer to a C :c:type:`unsigned long` without overflow "
"checking."
@ -568,37 +575,37 @@ msgstr ""
"Convertit un entier Python en un :c:type:`unsigned long` C sans en vérifier "
"le débordement."
#: ../Doc/c-api/arg.rst:269 ../Doc/c-api/arg.rst:595
#: ../Doc/c-api/arg.rst:285 ../Doc/c-api/arg.rst:612
msgid "``L`` (:class:`int`) [long long]"
msgstr "``L`` (:class:`int`) [long long]"
#: ../Doc/c-api/arg.rst:269
#: ../Doc/c-api/arg.rst:285
msgid "Convert a Python integer to a C :c:type:`long long`."
msgstr ""
#: ../Doc/c-api/arg.rst:273 ../Doc/c-api/arg.rst:598
#: ../Doc/c-api/arg.rst:289 ../Doc/c-api/arg.rst:615
msgid "``K`` (:class:`int`) [unsigned long long]"
msgstr "``K`` (:class:`int`) [unsigned long long]"
#: ../Doc/c-api/arg.rst:272
#: ../Doc/c-api/arg.rst:288
msgid ""
"Convert a Python integer to a C :c:type:`unsigned long long` without "
"overflow checking."
msgstr ""
#: ../Doc/c-api/arg.rst:276 ../Doc/c-api/arg.rst:601
#: ../Doc/c-api/arg.rst:292 ../Doc/c-api/arg.rst:618
msgid "``n`` (:class:`int`) [Py_ssize_t]"
msgstr "``n`` (:class:`int`) [Py_ssize_t]"
#: ../Doc/c-api/arg.rst:276
#: ../Doc/c-api/arg.rst:292
msgid "Convert a Python integer to a C :c:type:`Py_ssize_t`."
msgstr "Convertit un entier Python en un :c:type:`short int` C."
#: ../Doc/c-api/arg.rst:283
#: ../Doc/c-api/arg.rst:299
msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]"
msgstr "``c`` (:class:`bytes` ou :class:`bytearray` of length 1) [char]"
#: ../Doc/c-api/arg.rst:279
#: ../Doc/c-api/arg.rst:295
msgid ""
"Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` "
"object of length 1, to a C :c:type:`char`."
@ -606,15 +613,15 @@ msgstr ""
"Convertit un octet Python, représenté comme un objet :class:`bytes` ou :"
"class:`bytearray` de longueur 1, en un :c:type:`char` C."
#: ../Doc/c-api/arg.rst:282
#: ../Doc/c-api/arg.rst:298
msgid "Allow :class:`bytearray` objects."
msgstr ""
#: ../Doc/c-api/arg.rst:287 ../Doc/c-api/arg.rst:609
#: ../Doc/c-api/arg.rst:303 ../Doc/c-api/arg.rst:626
msgid "``C`` (:class:`str` of length 1) [int]"
msgstr "``C`` (:class:`str` of length 1) [int]"
#: ../Doc/c-api/arg.rst:286
#: ../Doc/c-api/arg.rst:302
msgid ""
"Convert a Python character, represented as a :class:`str` object of length "
"1, to a C :c:type:`int`."
@ -622,41 +629,41 @@ msgstr ""
"Convertit un caractère Python, représenté comme un objet :class:`str` de "
"longueur 1, en un :c:type:`int` C."
#: ../Doc/c-api/arg.rst:290 ../Doc/c-api/arg.rst:615
#: ../Doc/c-api/arg.rst:306 ../Doc/c-api/arg.rst:632
msgid "``f`` (:class:`float`) [float]"
msgstr "``f`` (:class:`float`) [float]"
#: ../Doc/c-api/arg.rst:290
#: ../Doc/c-api/arg.rst:306
msgid "Convert a Python floating point number to a C :c:type:`float`."
msgstr "Convertit un nombre flottant Python vers un :c:type:`float`."
#: ../Doc/c-api/arg.rst:293 ../Doc/c-api/arg.rst:612
#: ../Doc/c-api/arg.rst:309 ../Doc/c-api/arg.rst:629
msgid "``d`` (:class:`float`) [double]"
msgstr "``d`` (:class:`float`) [double]"
#: ../Doc/c-api/arg.rst:293
#: ../Doc/c-api/arg.rst:309
msgid "Convert a Python floating point number to a C :c:type:`double`."
msgstr "Convertit un nombre flottant Python vers un :c:type:`double` C."
#: ../Doc/c-api/arg.rst:296
#: ../Doc/c-api/arg.rst:312
msgid "``D`` (:class:`complex`) [Py_complex]"
msgstr "``D`` (:class:`complex`) [Py_complex]"
#: ../Doc/c-api/arg.rst:296
#: ../Doc/c-api/arg.rst:312
msgid "Convert a Python complex number to a C :c:type:`Py_complex` structure."
msgstr ""
"Convertit un nombre complexe Python vers une structure :c:type:`Py_complex` "
"C."
#: ../Doc/c-api/arg.rst:299
#: ../Doc/c-api/arg.rst:315
msgid "Other objects"
msgstr "Autres objets"
#: ../Doc/c-api/arg.rst:304 ../Doc/c-api/arg.rst:626
#: ../Doc/c-api/arg.rst:320 ../Doc/c-api/arg.rst:643
msgid "``O`` (object) [PyObject \\*]"
msgstr "``O`` (object) [PyObject \\*]"
#: ../Doc/c-api/arg.rst:302
#: ../Doc/c-api/arg.rst:318
msgid ""
"Store a Python object (without any conversion) in a C object pointer. The C "
"program thus receives the actual object that was passed. The object's "
@ -667,11 +674,11 @@ msgstr ""
"référence sur l'objet n'est pas incrémenté. Le pointeur stocké n'est pas "
"*NULL*."
#: ../Doc/c-api/arg.rst:311
#: ../Doc/c-api/arg.rst:327
msgid "``O!`` (object) [*typeobject*, PyObject \\*]"
msgstr "``O!`` (object) [*typeobject*, PyObject \\*]"
#: ../Doc/c-api/arg.rst:307
#: ../Doc/c-api/arg.rst:323
msgid ""
"Store a Python object in a C object pointer. This is similar to ``O``, but "
"takes two C arguments: the first is the address of a Python type object, the "
@ -680,11 +687,11 @@ msgid ""
"required type, :exc:`TypeError` is raised."
msgstr ""
#: ../Doc/c-api/arg.rst:336 ../Doc/c-api/arg.rst:640
#: ../Doc/c-api/arg.rst:352 ../Doc/c-api/arg.rst:657
msgid "``O&`` (object) [*converter*, *anything*]"
msgstr "``O&`` (object) [*converter*, *anything*]"
#: ../Doc/c-api/arg.rst:316
#: ../Doc/c-api/arg.rst:332
msgid ""
"Convert a Python object to a C variable through a *converter* function. "
"This takes two arguments: the first is a function, the second is the address "
@ -692,7 +699,7 @@ msgid ""
"*converter* function in turn is called as follows::"
msgstr ""
#: ../Doc/c-api/arg.rst:323
#: ../Doc/c-api/arg.rst:339
msgid ""
"where *object* is the Python object to be converted and *address* is the :c:"
"type:`void\\*` argument that was passed to the :c:func:`PyArg_Parse\\*` "
@ -702,7 +709,7 @@ msgid ""
"*address* unmodified."
msgstr ""
#: ../Doc/c-api/arg.rst:329
#: ../Doc/c-api/arg.rst:345
msgid ""
"If the *converter* returns ``Py_CLEANUP_SUPPORTED``, it may get called a "
"second time if the argument parsing eventually fails, giving the converter a "
@ -711,15 +718,15 @@ msgid ""
"value as in the original call."
msgstr ""
#: ../Doc/c-api/arg.rst:335
#: ../Doc/c-api/arg.rst:351
msgid "``Py_CLEANUP_SUPPORTED`` was added."
msgstr "``Py_CLEANUP_SUPPORTED`` à été ajouté."
#: ../Doc/c-api/arg.rst:345
#: ../Doc/c-api/arg.rst:361
msgid "``p`` (:class:`bool`) [int]"
msgstr "``p`` (:class:`bool`) [int]"
#: ../Doc/c-api/arg.rst:339
#: ../Doc/c-api/arg.rst:355
msgid ""
"Tests the value passed in for truth (a boolean **p**\\ redicate) and "
"converts the result to its equivalent C true/false integer value. Sets the "
@ -728,11 +735,11 @@ msgid ""
"how Python tests values for truth."
msgstr ""
#: ../Doc/c-api/arg.rst:350 ../Doc/c-api/arg.rst:643
#: ../Doc/c-api/arg.rst:366 ../Doc/c-api/arg.rst:660
msgid "``(items)`` (:class:`tuple`) [*matching-items*]"
msgstr "``(items)`` (:class:`tuple`) [*matching-items*]"
#: ../Doc/c-api/arg.rst:348
#: ../Doc/c-api/arg.rst:364
msgid ""
"The object must be a Python sequence whose length is the number of format "
"units in *items*. The C arguments must correspond to the individual format "
@ -743,7 +750,7 @@ msgstr ""
"chaque unité de format particulière dans *articles*. Les unités de formats "
"pour les séquences peuvent être imbriquées."
#: ../Doc/c-api/arg.rst:352
#: ../Doc/c-api/arg.rst:368
msgid ""
"It is possible to pass \"long\" integers (integers whose value exceeds the "
"platform's :const:`LONG_MAX`) however no proper range checking is done --- "
@ -752,7 +759,7 @@ msgid ""
"downcasts in C --- your mileage may vary)."
msgstr ""
#: ../Doc/c-api/arg.rst:358
#: ../Doc/c-api/arg.rst:374
msgid ""
"A few other characters have a meaning in a format string. These may not "
"occur inside nested parentheses. They are:"
@ -760,11 +767,11 @@ msgstr ""
"Quelques autres caractères ont un sens dans une chaîne de format. On ne doit "
"pas les trouvées dans des parenthèses imbriquées. Ce sont :"
#: ../Doc/c-api/arg.rst:366
#: ../Doc/c-api/arg.rst:382
msgid "``|``"
msgstr ""
#: ../Doc/c-api/arg.rst:362
#: ../Doc/c-api/arg.rst:378
msgid ""
"Indicates that the remaining arguments in the Python argument list are "
"optional. The C variables corresponding to optional arguments should be "
@ -773,11 +780,11 @@ msgid ""
"corresponding C variable(s)."
msgstr ""
#: ../Doc/c-api/arg.rst:375
#: ../Doc/c-api/arg.rst:391
msgid "``$``"
msgstr ""
#: ../Doc/c-api/arg.rst:369
#: ../Doc/c-api/arg.rst:385
msgid ""
":c:func:`PyArg_ParseTupleAndKeywords` only: Indicates that the remaining "
"arguments in the Python argument list are keyword-only. Currently, all "
@ -785,22 +792,22 @@ msgid ""
"be specified before ``$`` in the format string."
msgstr ""
#: ../Doc/c-api/arg.rst:380
#: ../Doc/c-api/arg.rst:396
msgid "``:``"
msgstr ""
#: ../Doc/c-api/arg.rst:378
#: ../Doc/c-api/arg.rst:394
msgid ""
"The list of format units ends here; the string after the colon is used as "
"the function name in error messages (the \"associated value\" of the "
"exception that :c:func:`PyArg_ParseTuple` raises)."
msgstr ""
#: ../Doc/c-api/arg.rst:385
#: ../Doc/c-api/arg.rst:401
msgid "``;``"
msgstr ""
#: ../Doc/c-api/arg.rst:383
#: ../Doc/c-api/arg.rst:399
msgid ""
"The list of format units ends here; the string after the semicolon is used "
"as the error message *instead* of the default error message. ``:`` and ``;"
@ -810,7 +817,7 @@ msgstr ""
"virgule est utilise comme message d'erreur *au lieu* du message d'erreur par "
"défaut. ``:`` et ``;`` sont mutuellement exclusifs."
#: ../Doc/c-api/arg.rst:387
#: ../Doc/c-api/arg.rst:403
msgid ""
"Note that any Python object references which are provided to the caller are "
"*borrowed* references; do not decrement their reference count!"
@ -819,7 +826,7 @@ msgstr ""
"à l'appelant sont des références *empruntées* ; ne décrémentez pas leur "
"compteur de références !"
#: ../Doc/c-api/arg.rst:390
#: ../Doc/c-api/arg.rst:406
msgid ""
"Additional arguments passed to these functions must be addresses of "
"variables whose type is determined by the format string; these are used to "
@ -836,7 +843,7 @@ msgstr ""
"devraient correspondre à ce qui est spécifié pour l'unité de format "
"correspondante."
#: ../Doc/c-api/arg.rst:396
#: ../Doc/c-api/arg.rst:412
msgid ""
"For the conversion to succeed, the *arg* object must match the format and "
"the format must be exhausted. On success, the :c:func:`PyArg_Parse\\*` "
@ -847,24 +854,24 @@ msgid ""
"untouched."
msgstr ""
#: ../Doc/c-api/arg.rst:405
#: ../Doc/c-api/arg.rst:421
msgid "API Functions"
msgstr "Fonction de l'API"
#: ../Doc/c-api/arg.rst:409
#: ../Doc/c-api/arg.rst:425
msgid ""
"Parse the parameters of a function that takes only positional parameters "
"into local variables. Returns true on success; on failure, it returns false "
"and raises the appropriate exception."
msgstr ""
#: ../Doc/c-api/arg.rst:416
#: ../Doc/c-api/arg.rst:432
msgid ""
"Identical to :c:func:`PyArg_ParseTuple`, except that it accepts a va_list "
"rather than a variable number of arguments."
msgstr ""
#: ../Doc/c-api/arg.rst:422
#: ../Doc/c-api/arg.rst:438
msgid ""
"Parse the parameters of a function that takes both positional and keyword "
"parameters into local variables. The *keywords* argument is a *NULL*-"
@ -873,26 +880,26 @@ msgid ""
"success; on failure, it returns false and raises the appropriate exception."
msgstr ""
#: ../Doc/c-api/arg.rst:429
#: ../Doc/c-api/arg.rst:445
msgid ""
"Added support for :ref:`positional-only parameters <positional-"
"only_parameter>`."
msgstr ""
#: ../Doc/c-api/arg.rst:436
#: ../Doc/c-api/arg.rst:452
msgid ""
"Identical to :c:func:`PyArg_ParseTupleAndKeywords`, except that it accepts a "
"va_list rather than a variable number of arguments."
msgstr ""
#: ../Doc/c-api/arg.rst:442
#: ../Doc/c-api/arg.rst:458
msgid ""
"Ensure that the keys in the keywords argument dictionary are strings. This "
"is only needed if :c:func:`PyArg_ParseTupleAndKeywords` is not used, since "
"the latter already does this check."
msgstr ""
#: ../Doc/c-api/arg.rst:452
#: ../Doc/c-api/arg.rst:468
msgid ""
"Function used to deconstruct the argument lists of \"old-style\" functions "
"--- these are functions which use the :const:`METH_OLDARGS` parameter "
@ -903,7 +910,7 @@ msgid ""
"continue to be used for that purpose."
msgstr ""
#: ../Doc/c-api/arg.rst:463
#: ../Doc/c-api/arg.rst:479
msgid ""
"A simpler form of parameter retrieval which does not use a format string to "
"specify the types of the arguments. Functions which use this method to "
@ -921,23 +928,23 @@ msgid ""
"a failure."
msgstr ""
#: ../Doc/c-api/arg.rst:477
#: ../Doc/c-api/arg.rst:493
msgid ""
"This is an example of the use of this function, taken from the sources for "
"the :mod:`_weakref` helper module for weak references::"
msgstr ""
#: ../Doc/c-api/arg.rst:493
#: ../Doc/c-api/arg.rst:509
msgid ""
"The call to :c:func:`PyArg_UnpackTuple` in this example is entirely "
"equivalent to this call to :c:func:`PyArg_ParseTuple`::"
msgstr ""
#: ../Doc/c-api/arg.rst:501
#: ../Doc/c-api/arg.rst:517
msgid "Building values"
msgstr "Construction des valeurs"
#: ../Doc/c-api/arg.rst:505
#: ../Doc/c-api/arg.rst:521
msgid ""
"Create a new value based on a format string similar to those accepted by "
"the :c:func:`PyArg_Parse\\*` family of functions and a sequence of values. "
@ -945,7 +952,7 @@ msgid ""
"raised if *NULL* is returned."
msgstr ""
#: ../Doc/c-api/arg.rst:510
#: ../Doc/c-api/arg.rst:526
msgid ""
":c:func:`Py_BuildValue` does not always build a tuple. It builds a tuple "
"only if its format string contains two or more format units. If the format "
@ -954,7 +961,7 @@ msgid ""
"it to return a tuple of size 0 or one, parenthesize the format string."
msgstr ""
#: ../Doc/c-api/arg.rst:516
#: ../Doc/c-api/arg.rst:532
msgid ""
"When memory buffers are passed as parameters to supply data to build "
"objects, as for the ``s`` and ``s#`` formats, the required data is copied. "
@ -965,7 +972,7 @@ msgid ""
"`Py_BuildValue` returns."
msgstr ""
#: ../Doc/c-api/arg.rst:524
#: ../Doc/c-api/arg.rst:540
msgid ""
"In the following description, the quoted form is the format unit; the entry "
"in (round) parentheses is the Python object type that the format unit will "
@ -973,173 +980,183 @@ msgid ""
"be passed."
msgstr ""
#: ../Doc/c-api/arg.rst:528
#: ../Doc/c-api/arg.rst:544
msgid ""
"The characters space, tab, colon and comma are ignored in format strings "
"(but not within format units such as ``s#``). This can be used to make long "
"format strings a tad more readable."
msgstr ""
#: ../Doc/c-api/arg.rst:534
#: ../Doc/c-api/arg.rst:550
msgid "``s`` (:class:`str` or ``None``) [char \\*]"
msgstr "``s`` (:class:`str` ou ``None``) [char \\*]"
#: ../Doc/c-api/arg.rst:533
#: ../Doc/c-api/arg.rst:549
msgid ""
"Convert a null-terminated C string to a Python :class:`str` object using "
"``'utf-8'`` encoding. If the C string pointer is *NULL*, ``None`` is used."
msgstr ""
#: ../Doc/c-api/arg.rst:539
#: ../Doc/c-api/arg.rst:555
msgid "``s#`` (:class:`str` or ``None``) [char \\*, int]"
msgstr "``s#`` (:class:`str` ou ``None``) [char \\*, int]"
#: ../Doc/c-api/arg.rst:537
#: ../Doc/c-api/arg.rst:553
msgid ""
"Convert a C string and its length to a Python :class:`str` object using "
"``'utf-8'`` encoding. If the C string pointer is *NULL*, the length is "
"ignored and ``None`` is returned."
msgstr ""
#: ../Doc/c-api/arg.rst:543
#: ../Doc/c-api/arg.rst:559
msgid "``y`` (:class:`bytes`) [char \\*]"
msgstr "``y`` (:class:`bytes`) [char \\*]"
#: ../Doc/c-api/arg.rst:542
#: ../Doc/c-api/arg.rst:558
msgid ""
"This converts a C string to a Python :class:`bytes` object. If the C string "
"pointer is *NULL*, ``None`` is returned."
msgstr ""
#: ../Doc/c-api/arg.rst:547
#: ../Doc/c-api/arg.rst:563
msgid "``y#`` (:class:`bytes`) [char \\*, int]"
msgstr "``y#`` (:class:`bytes`) [char \\*, int]"
#: ../Doc/c-api/arg.rst:546
#: ../Doc/c-api/arg.rst:562
msgid ""
"This converts a C string and its lengths to a Python object. If the C "
"string pointer is *NULL*, ``None`` is returned."
msgstr ""
#: ../Doc/c-api/arg.rst:550
#: ../Doc/c-api/arg.rst:566
msgid "``z`` (:class:`str` or ``None``) [char \\*]"
msgstr "``z`` (:class:`str` ou ``None``) [char \\*]"
#: ../Doc/c-api/arg.rst:550 ../Doc/c-api/arg.rst:565
#: ../Doc/c-api/arg.rst:566 ../Doc/c-api/arg.rst:582
msgid "Same as ``s``."
msgstr ""
#: ../Doc/c-api/arg.rst:553
#: ../Doc/c-api/arg.rst:569
msgid "``z#`` (:class:`str` or ``None``) [char \\*, int]"
msgstr "``z#`` (:class:`str` ou ``None``) [char \\*, int]"
#: ../Doc/c-api/arg.rst:553 ../Doc/c-api/arg.rst:568
#: ../Doc/c-api/arg.rst:569 ../Doc/c-api/arg.rst:585
msgid "Same as ``s#``."
msgstr ""
#: ../Doc/c-api/arg.rst:556
#: ../Doc/c-api/arg.rst:574
#, fuzzy
msgid "``u`` (:class:`str`) [wchar_t \\*]"
msgstr "``s`` (:class:`str`) [const char \\*]"
#: ../Doc/c-api/arg.rst:572
msgid ""
"Convert a null-terminated buffer of Unicode (UCS-2 or UCS-4) data to a "
"Python Unicode object. If the Unicode buffer pointer is *NULL*, ``None`` is "
"returned."
"Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or "
"UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is "
"*NULL*, ``None`` is returned."
msgstr ""
#: ../Doc/c-api/arg.rst:560
#: ../Doc/c-api/arg.rst:579
#, fuzzy
msgid "``u#`` (:class:`str`) [wchar_t \\*, int]"
msgstr "``y#`` (:class:`bytes`) [char \\*, int]"
#: ../Doc/c-api/arg.rst:577
msgid ""
"Convert a Unicode (UCS-2 or UCS-4) data buffer and its length to a Python "
"Convert a Unicode (UTF-16 or UCS-4) data buffer and its length to a Python "
"Unicode object. If the Unicode buffer pointer is *NULL*, the length is "
"ignored and ``None`` is returned."
msgstr ""
#: ../Doc/c-api/arg.rst:565
#: ../Doc/c-api/arg.rst:582
msgid "``U`` (:class:`str` or ``None``) [char \\*]"
msgstr "``U`` (:class:`str` ou ``None``) [char \\*]"
#: ../Doc/c-api/arg.rst:568
#: ../Doc/c-api/arg.rst:585
msgid "``U#`` (:class:`str` or ``None``) [char \\*, int]"
msgstr "``U#`` (:class:`str` ou ``None``) [char \\*, int]"
#: ../Doc/c-api/arg.rst:571
#: ../Doc/c-api/arg.rst:588
msgid "Convert a plain C :c:type:`int` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:574
#: ../Doc/c-api/arg.rst:591
msgid "``b`` (:class:`int`) [char]"
msgstr "``b`` (:class:`int`) [char]"
#: ../Doc/c-api/arg.rst:574
#: ../Doc/c-api/arg.rst:591
msgid "Convert a plain C :c:type:`char` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:577
#: ../Doc/c-api/arg.rst:594
msgid "Convert a plain C :c:type:`short int` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:580
#: ../Doc/c-api/arg.rst:597
msgid "Convert a C :c:type:`long int` to a Python integer object."
msgstr "Convertit un :c:type:`long int` en un int Python."
#: ../Doc/c-api/arg.rst:583
#: ../Doc/c-api/arg.rst:600
msgid "Convert a C :c:type:`unsigned char` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:586
#: ../Doc/c-api/arg.rst:603
msgid "Convert a C :c:type:`unsigned short int` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:589
#: ../Doc/c-api/arg.rst:606
msgid "Convert a C :c:type:`unsigned int` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:592
#: ../Doc/c-api/arg.rst:609
msgid "Convert a C :c:type:`unsigned long` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:595
#: ../Doc/c-api/arg.rst:612
msgid "Convert a C :c:type:`long long` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:598
#: ../Doc/c-api/arg.rst:615
msgid "Convert a C :c:type:`unsigned long long` to a Python integer object."
msgstr ""
#: ../Doc/c-api/arg.rst:601
#: ../Doc/c-api/arg.rst:618
msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer."
msgstr ""
#: ../Doc/c-api/arg.rst:605
#: ../Doc/c-api/arg.rst:622
msgid "``c`` (:class:`bytes` of length 1) [char]"
msgstr "``c`` (:class:`bytes` de taille 1) [char]"
#: ../Doc/c-api/arg.rst:604
#: ../Doc/c-api/arg.rst:621
msgid ""
"Convert a C :c:type:`int` representing a byte to a Python :class:`bytes` "
"object of length 1."
msgstr ""
#: ../Doc/c-api/arg.rst:608
#: ../Doc/c-api/arg.rst:625
msgid ""
"Convert a C :c:type:`int` representing a character to Python :class:`str` "
"object of length 1."
msgstr ""
#: ../Doc/c-api/arg.rst:612
#: ../Doc/c-api/arg.rst:629
msgid "Convert a C :c:type:`double` to a Python floating point number."
msgstr ""
#: ../Doc/c-api/arg.rst:615
#: ../Doc/c-api/arg.rst:632
msgid "Convert a C :c:type:`float` to a Python floating point number."
msgstr ""
#: ../Doc/c-api/arg.rst:618
#: ../Doc/c-api/arg.rst:635
msgid "``D`` (:class:`complex`) [Py_complex \\*]"
msgstr "``D`` (:class:`complex`) [Py_complex \\*]"
#: ../Doc/c-api/arg.rst:618
#: ../Doc/c-api/arg.rst:635
msgid "Convert a C :c:type:`Py_complex` structure to a Python complex number."
msgstr ""
#: ../Doc/c-api/arg.rst:621
#: ../Doc/c-api/arg.rst:638
msgid ""
"Pass a Python object untouched (except for its reference count, which is "
"incremented by one). If the object passed in is a *NULL* pointer, it is "
@ -1149,26 +1166,26 @@ msgid ""
"yet, :exc:`SystemError` is set."
msgstr ""
#: ../Doc/c-api/arg.rst:629
#: ../Doc/c-api/arg.rst:646
msgid "``S`` (object) [PyObject \\*]"
msgstr "``S`` (object) [PyObject \\*]"
#: ../Doc/c-api/arg.rst:629
#: ../Doc/c-api/arg.rst:646
msgid "Same as ``O``."
msgstr ""
#: ../Doc/c-api/arg.rst:634
#: ../Doc/c-api/arg.rst:651
msgid "``N`` (object) [PyObject \\*]"
msgstr "``N`` (object) [PyObject \\*]"
#: ../Doc/c-api/arg.rst:632
#: ../Doc/c-api/arg.rst:649
msgid ""
"Same as ``O``, except it doesn't increment the reference count on the "
"object. Useful when the object is created by a call to an object constructor "
"in the argument list."
msgstr ""
#: ../Doc/c-api/arg.rst:637
#: ../Doc/c-api/arg.rst:654
msgid ""
"Convert *anything* to a Python object through a *converter* function. The "
"function is called with *anything* (which should be compatible with :c:type:"
@ -1176,40 +1193,40 @@ msgid ""
"*NULL* if an error occurred."
msgstr ""
#: ../Doc/c-api/arg.rst:643
#: ../Doc/c-api/arg.rst:660
msgid ""
"Convert a sequence of C values to a Python tuple with the same number of "
"items."
msgstr ""
#: ../Doc/c-api/arg.rst:646
#: ../Doc/c-api/arg.rst:663
msgid "``[items]`` (:class:`list`) [*matching-items*]"
msgstr "``[items]`` (:class:`list`) [*matching-items*]"
#: ../Doc/c-api/arg.rst:646
#: ../Doc/c-api/arg.rst:663
msgid ""
"Convert a sequence of C values to a Python list with the same number of "
"items."
msgstr ""
#: ../Doc/c-api/arg.rst:651
#: ../Doc/c-api/arg.rst:668
msgid "``{items}`` (:class:`dict`) [*matching-items*]"
msgstr "``{items}`` (:class:`dict`) [*matching-items*]"
#: ../Doc/c-api/arg.rst:649
#: ../Doc/c-api/arg.rst:666
msgid ""
"Convert a sequence of C values to a Python dictionary. Each pair of "
"consecutive C values adds one item to the dictionary, serving as key and "
"value, respectively."
msgstr ""
#: ../Doc/c-api/arg.rst:653
#: ../Doc/c-api/arg.rst:670
msgid ""
"If there is an error in the format string, the :exc:`SystemError` exception "
"is set and *NULL* returned."
msgstr ""
#: ../Doc/c-api/arg.rst:658
#: ../Doc/c-api/arg.rst:675
msgid ""
"Identical to :c:func:`Py_BuildValue`, except that it accepts a va_list "
"rather than a variable number of arguments."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -622,33 +622,44 @@ msgstr ""
#: ../Doc/c-api/buffer.rst:478
msgid ""
"Copy *len* bytes from *src* to its contiguous representation in *buf*. "
"*order* can be ``'C'`` or ``'F'`` (for C-style or Fortran-style ordering). "
"``0`` is returned on success, ``-1`` on error."
msgstr ""
#: ../Doc/c-api/buffer.rst:482
msgid "This function fails if *len* != *src->len*."
msgstr ""
#: ../Doc/c-api/buffer.rst:487
msgid ""
"Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style "
"if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the "
"given shape with the given number of bytes per element."
msgstr ""
#: ../Doc/c-api/buffer.rst:485
#: ../Doc/c-api/buffer.rst:494
msgid ""
"Handle buffer requests for an exporter that wants to expose *buf* of size "
"*len* with writability set according to *readonly*. *buf* is interpreted as "
"a sequence of unsigned bytes."
msgstr ""
#: ../Doc/c-api/buffer.rst:489
#: ../Doc/c-api/buffer.rst:498
msgid ""
"The *flags* argument indicates the request type. This function always fills "
"in *view* as specified by flags, unless *buf* has been designated as read-"
"only and :c:macro:`PyBUF_WRITABLE` is set in *flags*."
msgstr ""
#: ../Doc/c-api/buffer.rst:493
#: ../Doc/c-api/buffer.rst:502
msgid ""
"On success, set :c:member:`view->obj` to a new reference to *exporter* and "
"return 0. Otherwise, raise :c:data:`PyExc_BufferError`, set :c:member:`view-"
">obj` to *NULL* and return ``-1``;"
msgstr ""
#: ../Doc/c-api/buffer.rst:497
#: ../Doc/c-api/buffer.rst:506
msgid ""
"If this function is used as part of a :ref:`getbufferproc <buffer-structs>`, "
"*exporter* MUST be set to the exporting object and *flags* must be passed "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-10 00:49+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -64,10 +64,10 @@ msgid ""
msgstr ""
#: ../Doc/distutils/configfile.rst:39
msgid "The basic syntax of the configuration file is simple::"
msgid "The basic syntax of the configuration file is simple:"
msgstr ""
#: ../Doc/distutils/configfile.rst:45
#: ../Doc/distutils/configfile.rst:47
msgid ""
"where *command* is one of the Distutils commands (e.g. :command:`build_py`, :"
"command:`install`), and *option* is one of the options that command "
@ -78,37 +78,37 @@ msgid ""
"by indenting the continuation lines."
msgstr ""
#: ../Doc/distutils/configfile.rst:53
#: ../Doc/distutils/configfile.rst:55
msgid ""
"You can find out the list of options supported by a particular command with "
"the universal :option:`!--help` option, e.g. ::"
"the universal :option:`!--help` option, e.g."
msgstr ""
#: ../Doc/distutils/configfile.rst:69
#: ../Doc/distutils/configfile.rst:73
msgid ""
"Note that an option spelled :option:`!--foo-bar` on the command-line is "
"spelled ``foo_bar`` in configuration files."
msgstr ""
#: ../Doc/distutils/configfile.rst:74
#: ../Doc/distutils/configfile.rst:78
msgid ""
"For example, say you want your extensions to be built \"in-place\"---that "
"is, you have an extension :mod:`pkg.ext`, and you want the compiled "
"extension file (:file:`ext.so` on Unix, say) to be put in the same source "
"directory as your pure Python modules :mod:`pkg.mod1` and :mod:`pkg.mod2`. "
"You can always use the :option:`!--inplace` option on the command-line to "
"ensure this::"
"ensure this:"
msgstr ""
#: ../Doc/distutils/configfile.rst:82
#: ../Doc/distutils/configfile.rst:88
msgid ""
"But this requires that you always specify the :command:`build_ext` command "
"explicitly, and remember to provide :option:`!--inplace`. An easier way is "
"to \"set and forget\" this option, by encoding it in :file:`setup.cfg`, the "
"configuration file for this distribution::"
"configuration file for this distribution:"
msgstr ""
#: ../Doc/distutils/configfile.rst:90
#: ../Doc/distutils/configfile.rst:98
msgid ""
"This will affect all builds of this module distribution, whether or not you "
"explicitly specify :command:`build_ext`. If you include :file:`setup.cfg` "
@ -121,7 +121,7 @@ msgid ""
"always a bad idea, though.)"
msgstr ""
#: ../Doc/distutils/configfile.rst:99
#: ../Doc/distutils/configfile.rst:107
msgid ""
"Another example: certain commands take a lot of options that don't change "
"from run to run; for example, :command:`bdist_rpm` needs to know everything "
@ -130,30 +130,30 @@ msgid ""
"generated by the Distutils (such as the list of files installed). But some "
"of it has to be supplied as options to :command:`bdist_rpm`, which would be "
"very tedious to do on the command-line for every run. Hence, here is a "
"snippet from the Distutils' own :file:`setup.cfg`::"
"snippet from the Distutils' own :file:`setup.cfg`:"
msgstr ""
#: ../Doc/distutils/configfile.rst:117
#: ../Doc/distutils/configfile.rst:127
msgid ""
"Note that the ``doc_files`` option is simply a whitespace-separated string "
"split across multiple lines for readability."
msgstr ""
#: ../Doc/distutils/configfile.rst:124
#: ../Doc/distutils/configfile.rst:134
msgid ":ref:`inst-config-syntax` in \"Installing Python Modules\""
msgstr ""
#: ../Doc/distutils/configfile.rst:124
#: ../Doc/distutils/configfile.rst:134
msgid ""
"More information on the configuration files is available in the manual for "
"system administrators."
msgstr ""
#: ../Doc/distutils/configfile.rst:129
#: ../Doc/distutils/configfile.rst:139
msgid "Footnotes"
msgstr "Notes"
#: ../Doc/distutils/configfile.rst:130
#: ../Doc/distutils/configfile.rst:140
msgid ""
"This ideal probably won't be achieved until auto-configuration is fully "
"supported by the Distutils."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -298,10 +298,9 @@ msgstr ""
msgid ""
"a collection of Python modules distributed together as a single downloadable "
"resource and meant to be installed *en masse*. Examples of some well-known "
"module distributions are NumPy, SciPy, PIL (the Python Imaging Library), or "
"mxBase. (This would be called a *package*, except that term is already "
"taken in the Python context: a single module distribution may contain zero, "
"one, or many Python packages.)"
"module distributions are NumPy, SciPy, Pillow, or mxBase. (This would be "
"called a *package*, except that term is already taken in the Python context: "
"a single module distribution may contain zero, one, or many Python packages.)"
msgstr ""
#: ../Doc/distutils/introduction.rst:203

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-10 00:49+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -214,96 +214,96 @@ msgid ""
"existence of a :file:`.pypirc` file at the location :file:`$HOME/.pypirc`. "
"If this file exists, the command uses the username, password, and repository "
"URL configured in the file. The format of a :file:`.pypirc` file is as "
"follows::"
"follows:"
msgstr ""
#: ../Doc/distutils/packageindex.rst:170
#: ../Doc/distutils/packageindex.rst:172
msgid ""
"The *distutils* section defines an *index-servers* variable that lists the "
"name of all sections describing a repository."
msgstr ""
#: ../Doc/distutils/packageindex.rst:173
#: ../Doc/distutils/packageindex.rst:175
msgid "Each section describing a repository defines three variables:"
msgstr ""
#: ../Doc/distutils/packageindex.rst:175
#: ../Doc/distutils/packageindex.rst:177
msgid "*repository*, that defines the url of the PyPI server. Defaults to"
msgstr ""
#: ../Doc/distutils/packageindex.rst:176
#: ../Doc/distutils/packageindex.rst:178
msgid "``https://upload.pypi.org/legacy/``."
msgstr ""
#: ../Doc/distutils/packageindex.rst:177
#: ../Doc/distutils/packageindex.rst:179
msgid "*username*, which is the registered username on the PyPI server."
msgstr ""
#: ../Doc/distutils/packageindex.rst:179
#: ../Doc/distutils/packageindex.rst:181
msgid "*password*, that will be used to authenticate. If omitted the user"
msgstr ""
#: ../Doc/distutils/packageindex.rst:179
#: ../Doc/distutils/packageindex.rst:181
msgid "will be prompt to type it when needed."
msgstr ""
#: ../Doc/distutils/packageindex.rst:181
#: ../Doc/distutils/packageindex.rst:183
msgid ""
"If you want to define another server a new section can be created and listed "
"in the *index-servers* variable::"
"in the *index-servers* variable:"
msgstr ""
#: ../Doc/distutils/packageindex.rst:199
#: ../Doc/distutils/packageindex.rst:203
msgid ""
"This allows the :command:`register` and :command:`upload` commands to be "
"called with the ``--repository`` option as described in :ref:`package-"
"cmdoptions`."
msgstr ""
#: ../Doc/distutils/packageindex.rst:203
#: ../Doc/distutils/packageindex.rst:207
msgid ""
"Specifically, you might want to add the `PyPI Test Repository <https://wiki."
"python.org/moin/TestPyPI>`_ to your ``.pypirc`` to facilitate testing before "
"doing your first upload to ``PyPI`` itself."
msgstr ""
#: ../Doc/distutils/packageindex.rst:211
#: ../Doc/distutils/packageindex.rst:215
msgid "PyPI package display"
msgstr ""
#: ../Doc/distutils/packageindex.rst:213
#: ../Doc/distutils/packageindex.rst:217
msgid ""
"The ``long_description`` field plays a special role at PyPI. It is used by "
"the server to display a home page for the registered package."
msgstr ""
#: ../Doc/distutils/packageindex.rst:216
#: ../Doc/distutils/packageindex.rst:220
msgid ""
"If you use the `reStructuredText <http://docutils.sourceforge.net/rst."
"html>`_ syntax for this field, PyPI will parse it and display an HTML output "
"for the package home page."
msgstr ""
#: ../Doc/distutils/packageindex.rst:220
#: ../Doc/distutils/packageindex.rst:224
msgid ""
"The ``long_description`` field can be attached to a text file located in the "
"package::"
msgstr ""
#: ../Doc/distutils/packageindex.rst:231
#: ../Doc/distutils/packageindex.rst:235
msgid ""
"In that case, :file:`README.txt` is a regular reStructuredText text file "
"located in the root of the package besides :file:`setup.py`."
msgstr ""
#: ../Doc/distutils/packageindex.rst:234
#: ../Doc/distutils/packageindex.rst:238
msgid ""
"To prevent registering broken reStructuredText content, you can use the :"
"program:`rst2html` program that is provided by the :mod:`docutils` package "
"and check the ``long_description`` from the command line:"
msgstr ""
#: ../Doc/distutils/packageindex.rst:242
#: ../Doc/distutils/packageindex.rst:246
msgid ""
":mod:`docutils` will display a warning if there's something wrong with your "
"syntax. Because PyPI applies additional checks (e.g. by passing ``--no-"

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2017-11-22 10:45+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -69,18 +69,20 @@ msgid "Recommended third party tools"
msgstr "Les outils tiers recommandés"
#: ../Doc/extending/index.rst:28
#, fuzzy
msgid ""
"This guide only covers the basic tools for creating extensions provided as "
"part of this version of CPython. Third party tools like Cython, ``cffi``, "
"SWIG and Numba offer both simpler and more sophisticated approaches to "
"creating C and C++ extensions for Python."
"part of this version of CPython. Third party tools like `Cython <http://"
"cython.org/>`_, `cffi <https://cffi.readthedocs.io>`_, `SWIG <http://www."
"swig.org>`_ and `Numba <https://numba.pydata.org/>`_ offer both simpler and "
"more sophisticated approaches to creating C and C++ extensions for Python."
msgstr ""
"Ce guide ne couvre que les outils basiques permettant de créer des "
"extensions fournies dans cette version de CPython. Les outils tiers tels que "
"Cython, ``cffi``, SWIG et Numba offrent des approches plus simples et plus "
"élaborées pour créer des extensions C et C++ pour Python."
#: ../Doc/extending/index.rst:38
#: ../Doc/extending/index.rst:40
msgid ""
"`Python Packaging User Guide: Binary Extensions <https://packaging.python."
"org/en/latest/extensions/>`_"
@ -88,7 +90,7 @@ msgstr ""
"`Guide d'utilisation de l'empaquetage Python : Extensions binaires <https://"
"packaging.python.org/en/latest/extensions/>`_"
#: ../Doc/extending/index.rst:36
#: ../Doc/extending/index.rst:38
msgid ""
"The Python Packaging User Guide not only covers several available tools that "
"simplify the creation of binary extensions, but also discusses the various "
@ -99,11 +101,11 @@ msgstr ""
"binaires, mais aborde aussi les différentes raisons pour lesquelles créer un "
"module d'extension peut être souhaitable d'entrée."
#: ../Doc/extending/index.rst:43
#: ../Doc/extending/index.rst:45
msgid "Creating extensions without third party tools"
msgstr "Création d'extensions sans outils tiers"
#: ../Doc/extending/index.rst:45
#: ../Doc/extending/index.rst:47
msgid ""
"This section of the guide covers creating C and C++ extensions without "
"assistance from third party tools. It is intended primarily for creators of "
@ -115,11 +117,11 @@ msgstr ""
"ces outils, plus que d'être une méthode recommandée pour créer votre propre "
"extension C."
#: ../Doc/extending/index.rst:60
#: ../Doc/extending/index.rst:63
msgid "Embedding the CPython runtime in a larger application"
msgstr "Intégrer l'interpréteur CPython dans une plus grande application"
#: ../Doc/extending/index.rst:62
#: ../Doc/extending/index.rst:65
msgid ""
"Sometimes, rather than creating an extension that runs inside the Python "
"interpreter as the main application, it is desirable to instead embed the "

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,861 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2018, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../Doc/extending/newtypes_tutorial.rst:7
msgid "Defining Extension Types: Tutorial"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:14
msgid ""
"Python allows the writer of a C extension module to define new types that "
"can be manipulated from Python code, much like the built-in :class:`str` "
"and :class:`list` types. The code for all extension types follows a "
"pattern, but there are some details that you need to understand before you "
"can get started. This document is a gentle introduction to the topic."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:24
msgid "The Basics"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:26
msgid ""
"The :term:`CPython` runtime sees all Python objects as variables of type :c:"
"type:`PyObject\\*`, which serves as a \"base type\" for all Python objects. "
"The :c:type:`PyObject` structure itself only contains the object's :term:"
"`reference count` and a pointer to the object's \"type object\". This is "
"where the action is; the type object determines which (C) functions get "
"called by the interpreter when, for instance, an attribute gets looked up on "
"an object, a method called, or it is multiplied by another object. These C "
"functions are called \"type methods\"."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:35
msgid ""
"So, if you want to define a new extension type, you need to create a new "
"type object."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:38
msgid ""
"This sort of thing can only be explained by example, so here's a minimal, "
"but complete, module that defines a new type named :class:`Custom` inside a "
"C extension module :mod:`custom`:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:43
msgid ""
"What we're showing here is the traditional way of defining *static* "
"extension types. It should be adequate for most uses. The C API also "
"allows defining heap-allocated extension types using the :c:func:"
"`PyType_FromSpec` function, which isn't covered in this tutorial."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:50
msgid ""
"Now that's quite a bit to take in at once, but hopefully bits will seem "
"familiar from the previous chapter. This file defines three things:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:53
msgid ""
"What a :class:`Custom` **object** contains: this is the ``CustomObject`` "
"struct, which is allocated once for each :class:`Custom` instance."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:55
msgid ""
"How the :class:`Custom` **type** behaves: this is the ``CustomType`` struct, "
"which defines a set of flags and function pointers that the interpreter "
"inspects when specific operations are requested."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:58
msgid ""
"How to initialize the :mod:`custom` module: this is the ``PyInit_custom`` "
"function and the associated ``custommodule`` struct."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:61
msgid "The first bit is::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:67
msgid ""
"This is what a Custom object will contain. ``PyObject_HEAD`` is mandatory "
"at the start of each object struct and defines a field called ``ob_base`` of "
"type :c:type:`PyObject`, containing a pointer to a type object and a "
"reference count (these can be accessed using the macros :c:macro:`Py_REFCNT` "
"and :c:macro:`Py_TYPE` respectively). The reason for the macro is to "
"abstract away the layout and to enable additional fields in debug builds."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:75
msgid ""
"There is no semicolon above after the :c:macro:`PyObject_HEAD` macro. Be "
"wary of adding one by accident: some compilers will complain."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:78
msgid ""
"Of course, objects generally store additional data besides the standard "
"``PyObject_HEAD`` boilerplate; for example, here is the definition for "
"standard Python floats::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:87
msgid "The second bit is the definition of the type object. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:99
msgid ""
"We recommend using C99-style designated initializers as above, to avoid "
"listing all the :c:type:`PyTypeObject` fields that you don't care about and "
"also to avoid caring about the fields' declaration order."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:103
msgid ""
"The actual definition of :c:type:`PyTypeObject` in :file:`object.h` has many "
"more :ref:`fields <type-structs>` than the definition above. The remaining "
"fields will be filled with zeros by the C compiler, and it's common practice "
"to not specify them explicitly unless you need them."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:108
msgid "We're going to pick it apart, one field at a time::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:112
msgid ""
"This line is mandatory boilerplate to initialize the ``ob_base`` field "
"mentioned above. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:117
msgid ""
"The name of our type. This will appear in the default textual "
"representation of our objects and in some error messages, for example:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:127
msgid ""
"Note that the name is a dotted name that includes both the module name and "
"the name of the type within the module. The module in this case is :mod:"
"`custom` and the type is :class:`Custom`, so we set the type name to :class:"
"`custom.Custom`. Using the real dotted import path is important to make your "
"type compatible with the :mod:`pydoc` and :mod:`pickle` modules. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:136
msgid ""
"This is so that Python knows how much memory to allocate when creating new :"
"class:`Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is only "
"used for variable-sized objects and should otherwise be zero."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:142
msgid ""
"If you want your type to be subclassable from Python, and your type has the "
"same :c:member:`~PyTypeObject.tp_basicsize` as its base type, you may have "
"problems with multiple inheritance. A Python subclass of your type will "
"have to list your type first in its :attr:`~class.__bases__`, or else it "
"will not be able to call your type's :meth:`__new__` method without getting "
"an error. You can avoid this problem by ensuring that your type has a "
"larger value for :c:member:`~PyTypeObject.tp_basicsize` than its base type "
"does. Most of the time, this will be true anyway, because either your base "
"type will be :class:`object`, or else you will be adding data members to "
"your base type, and therefore increasing its size."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:152
msgid "We set the class flags to :const:`Py_TPFLAGS_DEFAULT`. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:156
msgid ""
"All types should include this constant in their flags. It enables all of "
"the members defined until at least Python 3.3. If you need further members, "
"you will need to OR the corresponding flags."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:160
msgid ""
"We provide a doc string for the type in :c:member:`~PyTypeObject.tp_doc`. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:164
msgid ""
"To enable object creation, we have to provide a :c:member:`~PyTypeObject."
"tp_new` handler. This is the equivalent of the Python method :meth:"
"`__new__`, but has to be specified explicitly. In this case, we can just "
"use the default implementation provided by the API function :c:func:"
"`PyType_GenericNew`. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:171
msgid ""
"Everything else in the file should be familiar, except for some code in :c:"
"func:`PyInit_custom`::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:177
msgid ""
"This initializes the :class:`Custom` type, filling in a number of members to "
"the appropriate default values, including :attr:`ob_type` that we initially "
"set to *NULL*. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:183
msgid ""
"This adds the type to the module dictionary. This allows us to create :"
"class:`Custom` instances by calling the :class:`Custom` class:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:191
msgid ""
"That's it! All that remains is to build it; put the above code in a file "
"called :file:`custom.c` and:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:200
msgid "in a file called :file:`setup.py`; then typing"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:206
msgid ""
"at a shell should produce a file :file:`custom.so` in a subdirectory; move "
"to that directory and fire up Python --- you should be able to ``import "
"custom`` and play around with Custom objects."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:210
msgid "That wasn't so hard, was it?"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:212
msgid ""
"Of course, the current Custom type is pretty uninteresting. It has no data "
"and doesn't do anything. It can't even be subclassed."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:216
msgid ""
"While this documentation showcases the standard :mod:`distutils` module for "
"building C extensions, it is recommended in real-world use cases to use the "
"newer and better-maintained ``setuptools`` library. Documentation on how to "
"do this is out of scope for this document and can be found in the `Python "
"Packaging User's Guide <https://packaging.python.org/tutorials/distributing-"
"packages/>`_."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:224
msgid "Adding data and methods to the Basic example"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:226
msgid ""
"Let's extend the basic example to add some data and methods. Let's also "
"make the type usable as a base class. We'll create a new module, :mod:"
"`custom2` that adds these capabilities:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:233
msgid "This version of the module has a number of changes."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:235
msgid "We've added an extra include::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:239
msgid ""
"This include provides declarations that we use to handle attributes, as "
"described a bit later."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:242
msgid ""
"The :class:`Custom` type now has three data attributes in its C struct, "
"*first*, *last*, and *number*. The *first* and *last* variables are Python "
"strings containing first and last names. The *number* attribute is a C "
"integer."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:246
msgid "The object structure is updated accordingly::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:255
msgid ""
"Because we now have data to manage, we have to be more careful about object "
"allocation and deallocation. At a minimum, we need a deallocation method::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:266
msgid "which is assigned to the :c:member:`~PyTypeObject.tp_dealloc` member::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:270
msgid ""
"This method first clears the reference counts of the two Python attributes. :"
"c:func:`Py_XDECREF` correctly handles the case where its argument is *NULL* "
"(which might happen here if ``tp_new`` failed midway). It then calls the :c:"
"member:`~PyTypeObject.tp_free` member of the object's type (computed by "
"``Py_TYPE(self)``) to free the object's memory. Note that the object's type "
"might not be :class:`CustomType`, because the object may be an instance of a "
"subclass."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:279
msgid ""
"The explicit cast to ``destructor`` above is needed because we defined "
"``Custom_dealloc`` to take a ``CustomObject *`` argument, but the "
"``tp_dealloc`` function pointer expects to receive a ``PyObject *`` "
"argument. Otherwise, the compiler will emit a warning. This is object-"
"oriented polymorphism, in C!"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:285
msgid ""
"We want to make sure that the first and last names are initialized to empty "
"strings, so we provide a ``tp_new`` implementation::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:309
msgid "and install it in the :c:member:`~PyTypeObject.tp_new` member::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:313
msgid ""
"The ``tp_new`` handler is responsible for creating (as opposed to "
"initializing) objects of the type. It is exposed in Python as the :meth:"
"`__new__` method. It is not required to define a ``tp_new`` member, and "
"indeed many extension types will simply reuse :c:func:`PyType_GenericNew` as "
"done in the first version of the ``Custom`` type above. In this case, we "
"use the ``tp_new`` handler to initialize the ``first`` and ``last`` "
"attributes to non-*NULL* default values."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:321
msgid ""
"``tp_new`` is passed the type being instantiated (not necessarily "
"``CustomType``, if a subclass is instantiated) and any arguments passed when "
"the type was called, and is expected to return the instance created. "
"``tp_new`` handlers always accept positional and keyword arguments, but they "
"often ignore the arguments, leaving the argument handling to initializer (a."
"k.a. ``tp_init`` in C or ``__init__`` in Python) methods."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:329
msgid ""
"``tp_new`` shouldn't call ``tp_init`` explicitly, as the interpreter will do "
"it itself."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:332
msgid ""
"The ``tp_new`` implementation calls the :c:member:`~PyTypeObject.tp_alloc` "
"slot to allocate memory::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:337
msgid ""
"Since memory allocation may fail, we must check the :c:member:`~PyTypeObject."
"tp_alloc` result against *NULL* before proceeding."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:341
msgid ""
"We didn't fill the :c:member:`~PyTypeObject.tp_alloc` slot ourselves. "
"Rather :c:func:`PyType_Ready` fills it for us by inheriting it from our base "
"class, which is :class:`object` by default. Most types use the default "
"allocation strategy."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:347
msgid ""
"If you are creating a co-operative :c:member:`~PyTypeObject.tp_new` (one "
"that calls a base type's :c:member:`~PyTypeObject.tp_new` or :meth:"
"`__new__`), you must *not* try to determine what method to call using method "
"resolution order at runtime. Always statically determine what type you are "
"going to call, and call its :c:member:`~PyTypeObject.tp_new` directly, or "
"via ``type->tp_base->tp_new``. If you do not do this, Python subclasses of "
"your type that also inherit from other Python-defined classes may not work "
"correctly. (Specifically, you may not be able to create instances of such "
"subclasses without getting a :exc:`TypeError`.)"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:357
msgid ""
"We also define an initialization function which accepts arguments to provide "
"initial values for our instance::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:386
msgid "by filling the :c:member:`~PyTypeObject.tp_init` slot. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:390
msgid ""
"The :c:member:`~PyTypeObject.tp_init` slot is exposed in Python as the :meth:"
"`__init__` method. It is used to initialize an object after it's created. "
"Initializers always accept positional and keyword arguments, and they should "
"return either ``0`` on success or ``-1`` on error."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:395
msgid ""
"Unlike the ``tp_new`` handler, there is no guarantee that ``tp_init`` is "
"called at all (for example, the :mod:`pickle` module by default doesn't "
"call :meth:`__init__` on unpickled instances). It can also be called "
"multiple times. Anyone can call the :meth:`__init__` method on our "
"objects. For this reason, we have to be extra careful when assigning the "
"new attribute values. We might be tempted, for example to assign the "
"``first`` member like this::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:409
msgid ""
"But this would be risky. Our type doesn't restrict the type of the "
"``first`` member, so it could be any kind of object. It could have a "
"destructor that causes code to be executed that tries to access the "
"``first`` member; or that destructor could release the :term:`Global "
"interpreter Lock` and let arbitrary code run in other threads that accesses "
"and modifies our object."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:416
msgid ""
"To be paranoid and protect ourselves against this possibility, we almost "
"always reassign members before decrementing their reference counts. When "
"don't we have to do this?"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:420
msgid "when we absolutely know that the reference count is greater than 1;"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:422
msgid ""
"when we know that deallocation of the object [#]_ will neither release the :"
"term:`GIL` nor cause any calls back into our type's code;"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:425
msgid ""
"when decrementing a reference count in a :c:member:`~PyTypeObject."
"tp_dealloc` handler on a type which doesn't support cyclic garbage "
"collection [#]_."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:428
msgid ""
"We want to expose our instance variables as attributes. There are a number "
"of ways to do that. The simplest way is to define member definitions::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:441
msgid ""
"and put the definitions in the :c:member:`~PyTypeObject.tp_members` slot::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:445
msgid ""
"Each member definition has a member name, type, offset, access flags and "
"documentation string. See the :ref:`Generic-Attribute-Management` section "
"below for details."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:449
msgid ""
"A disadvantage of this approach is that it doesn't provide a way to restrict "
"the types of objects that can be assigned to the Python attributes. We "
"expect the first and last names to be strings, but any Python objects can be "
"assigned. Further, the attributes can be deleted, setting the C pointers to "
"*NULL*. Even though we can make sure the members are initialized to non-"
"*NULL* values, the members can be set to *NULL* if the attributes are "
"deleted."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:456
msgid ""
"We define a single method, :meth:`Custom.name()`, that outputs the objects "
"name as the concatenation of the first and last names. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:473
msgid ""
"The method is implemented as a C function that takes a :class:`Custom` (or :"
"class:`Custom` subclass) instance as the first argument. Methods always "
"take an instance as the first argument. Methods often take positional and "
"keyword arguments as well, but in this case we don't take any and don't need "
"to accept a positional argument tuple or keyword argument dictionary. This "
"method is equivalent to the Python method:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:485
msgid ""
"Note that we have to check for the possibility that our :attr:`first` and :"
"attr:`last` members are *NULL*. This is because they can be deleted, in "
"which case they are set to *NULL*. It would be better to prevent deletion "
"of these attributes and to restrict the attribute values to be strings. "
"We'll see how to do that in the next section."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:491
msgid ""
"Now that we've defined the method, we need to create an array of method "
"definitions::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:501
msgid ""
"(note that we used the :const:`METH_NOARGS` flag to indicate that the method "
"is expecting no arguments other than *self*)"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:504
msgid "and assign it to the :c:member:`~PyTypeObject.tp_methods` slot::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:508
msgid ""
"Finally, we'll make our type usable as a base class for subclassing. We've "
"written our methods carefully so far so that they don't make any assumptions "
"about the type of the object being created or used, so all we need to do is "
"to add the :const:`Py_TPFLAGS_BASETYPE` to our class flag definition::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:515
msgid ""
"We rename :c:func:`PyInit_custom` to :c:func:`PyInit_custom2`, update the "
"module name in the :c:type:`PyModuleDef` struct, and update the full class "
"name in the :c:type:`PyTypeObject` struct."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:519
msgid "Finally, we update our :file:`setup.py` file to build the new module:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:532
msgid "Providing finer control over data attributes"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:534
msgid ""
"In this section, we'll provide finer control over how the :attr:`first` and :"
"attr:`last` attributes are set in the :class:`Custom` example. In the "
"previous version of our module, the instance variables :attr:`first` and :"
"attr:`last` could be set to non-string values or even deleted. We want to "
"make sure that these attributes always contain strings."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:543
msgid ""
"To provide greater control, over the :attr:`first` and :attr:`last` "
"attributes, we'll use custom getter and setter functions. Here are the "
"functions for getting and setting the :attr:`first` attribute::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:574
msgid ""
"The getter function is passed a :class:`Custom` object and a \"closure\", "
"which is a void pointer. In this case, the closure is ignored. (The "
"closure supports an advanced usage in which definition data is passed to the "
"getter and setter. This could, for example, be used to allow a single set of "
"getter and setter functions that decide the attribute to get or set based on "
"data in the closure.)"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:580
msgid ""
"The setter function is passed the :class:`Custom` object, the new value, and "
"the closure. The new value may be *NULL*, in which case the attribute is "
"being deleted. In our setter, we raise an error if the attribute is deleted "
"or if its new value is not a string."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:585
msgid "We create an array of :c:type:`PyGetSetDef` structures::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:595
msgid "and register it in the :c:member:`~PyTypeObject.tp_getset` slot::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:599
msgid ""
"The last item in a :c:type:`PyGetSetDef` structure is the \"closure\" "
"mentioned above. In this case, we aren't using a closure, so we just pass "
"*NULL*."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:602
msgid "We also remove the member definitions for these attributes::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:610
msgid ""
"We also need to update the :c:member:`~PyTypeObject.tp_init` handler to only "
"allow strings [#]_ to be passed::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:639
msgid ""
"With these changes, we can assure that the ``first`` and ``last`` members "
"are never *NULL* so we can remove checks for *NULL* values in almost all "
"cases. This means that most of the :c:func:`Py_XDECREF` calls can be "
"converted to :c:func:`Py_DECREF` calls. The only place we can't change "
"these calls is in the ``tp_dealloc`` implementation, where there is the "
"possibility that the initialization of these members failed in ``tp_new``."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:646
msgid ""
"We also rename the module initialization function and module name in the "
"initialization function, as we did before, and we add an extra definition to "
"the :file:`setup.py` file."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:652
msgid "Supporting cyclic garbage collection"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:654
msgid ""
"Python has a :term:`cyclic garbage collector (GC) <garbage collection>` that "
"can identify unneeded objects even when their reference counts are not zero. "
"This can happen when objects are involved in cycles. For example, consider:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:664
msgid ""
"In this example, we create a list that contains itself. When we delete it, "
"it still has a reference from itself. Its reference count doesn't drop to "
"zero. Fortunately, Python's cyclic garbage collector will eventually figure "
"out that the list is garbage and free it."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:669
msgid ""
"In the second version of the :class:`Custom` example, we allowed any kind of "
"object to be stored in the :attr:`first` or :attr:`last` attributes [#]_. "
"Besides, in the second and third versions, we allowed subclassing :class:"
"`Custom`, and subclasses may add arbitrary attributes. For any of those two "
"reasons, :class:`Custom` objects can participate in cycles:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:683
msgid ""
"To allow a :class:`Custom` instance participating in a reference cycle to be "
"properly detected and collected by the cyclic GC, our :class:`Custom` type "
"needs to fill two additional slots and to enable a flag that enables these "
"slots:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:690
msgid ""
"First, the traversal method lets the cyclic GC know about subobjects that "
"could participate in cycles::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:710
msgid ""
"For each subobject that can participate in cycles, we need to call the :c:"
"func:`visit` function, which is passed to the traversal method. The :c:func:"
"`visit` function takes as arguments the subobject and the extra argument "
"*arg* passed to the traversal method. It returns an integer value that must "
"be returned if it is non-zero."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:716
msgid ""
"Python provides a :c:func:`Py_VISIT` macro that automates calling visit "
"functions. With :c:func:`Py_VISIT`, we can minimize the amount of "
"boilerplate in ``Custom_traverse``::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:729
msgid ""
"The :c:member:`~PyTypeObject.tp_traverse` implementation must name its "
"arguments exactly *visit* and *arg* in order to use :c:func:`Py_VISIT`."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:732
msgid ""
"Second, we need to provide a method for clearing any subobjects that can "
"participate in cycles::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:743
msgid ""
"Notice the use of the :c:func:`Py_CLEAR` macro. It is the recommended and "
"safe way to clear data attributes of arbitrary types while decrementing "
"their reference counts. If you were to call :c:func:`Py_XDECREF` instead on "
"the attribute before setting it to *NULL*, there is a possibility that the "
"attribute's destructor would call back into code that reads the attribute "
"again (*especially* if there is a reference cycle)."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:751
msgid "You could emulate :c:func:`Py_CLEAR` by writing::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:758
msgid ""
"Nevertheless, it is much easier and less error-prone to always use :c:func:"
"`Py_CLEAR` when deleting an attribute. Don't try to micro-optimize at the "
"expense of robustness!"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:762
msgid ""
"The deallocator ``Custom_dealloc`` may call arbitrary code when clearing "
"attributes. It means the circular GC can be triggered inside the function. "
"Since the GC assumes reference count is not zero, we need to untrack the "
"object from the GC by calling :c:func:`PyObject_GC_UnTrack` before clearing "
"members. Here is our reimplemented deallocator using :c:func:"
"`PyObject_GC_UnTrack` and ``Custom_clear``::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:777
msgid ""
"Finally, we add the :const:`Py_TPFLAGS_HAVE_GC` flag to the class flags::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:781
msgid ""
"That's pretty much it. If we had written custom :c:member:`~PyTypeObject."
"tp_alloc` or :c:member:`~PyTypeObject.tp_free` handlers, we'd need to modify "
"them for cyclic garbage collection. Most extensions will use the versions "
"automatically provided."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:787
msgid "Subclassing other types"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:789
msgid ""
"It is possible to create new extension types that are derived from existing "
"types. It is easiest to inherit from the built in types, since an extension "
"can easily use the :c:type:`PyTypeObject` it needs. It can be difficult to "
"share these :c:type:`PyTypeObject` structures between extension modules."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:794
msgid ""
"In this example we will create a :class:`SubList` type that inherits from "
"the built-in :class:`list` type. The new type will be completely compatible "
"with regular lists, but will have an additional :meth:`increment` method "
"that increases an internal counter:"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:814
msgid ""
"As you can see, the source code closely resembles the :class:`Custom` "
"examples in previous sections. We will break down the main differences "
"between them. ::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:822
msgid ""
"The primary difference for derived type objects is that the base type's "
"object structure must be the first value. The base type will already "
"include the :c:func:`PyObject_HEAD` at the beginning of its structure."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:826
msgid ""
"When a Python object is a :class:`SubList` instance, its ``PyObject *`` "
"pointer can be safely cast to both ``PyListObject *`` and ``SubListObject "
"*``::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:838
msgid ""
"We see above how to call through to the :attr:`__init__` method of the base "
"type."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:841
msgid ""
"This pattern is important when writing a type with custom :c:member:"
"`~PyTypeObject.tp_new` and :c:member:`~PyTypeObject.tp_dealloc` members. "
"The :c:member:`~PyTypeObject.tp_new` handler should not actually create the "
"memory for the object with its :c:member:`~PyTypeObject.tp_alloc`, but let "
"the base class handle it by calling its own :c:member:`~PyTypeObject.tp_new`."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:847
msgid ""
"The :c:type:`PyTypeObject` struct supports a :c:member:`~PyTypeObject."
"tp_base` specifying the type's concrete base class. Due to cross-platform "
"compiler issues, you can't fill that field directly with a reference to :c:"
"type:`PyList_Type`; it should be done later in the module initialization "
"function::"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:870
msgid ""
"Before calling :c:func:`PyType_Ready`, the type structure must have the :c:"
"member:`~PyTypeObject.tp_base` slot filled in. When we are deriving an "
"existing type, it is not necessary to fill out the :c:member:`~PyTypeObject."
"tp_alloc` slot with :c:func:`PyType_GenericNew` -- the allocation function "
"from the base type will be inherited."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:876
msgid ""
"After that, calling :c:func:`PyType_Ready` and adding the type object to the "
"module is the same as with the basic :class:`Custom` examples."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:881
msgid "Footnotes"
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:882
msgid ""
"This is true when we know that the object is a basic type, like a string or "
"a float."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:885
msgid ""
"We relied on this in the :c:member:`~PyTypeObject.tp_dealloc` handler in "
"this example, because our type doesn't support garbage collection."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:888
msgid ""
"We now know that the first and last members are strings, so perhaps we could "
"be less careful about decrementing their reference counts, however, we "
"accept instances of string subclasses. Even though deallocating normal "
"strings won't call back into our objects, we can't guarantee that "
"deallocating an instance of a string subclass won't call back into our "
"objects."
msgstr ""
#: ../Doc/extending/newtypes_tutorial.rst:894
msgid ""
"Also, even with our attributes restricted to strings instances, the user "
"could pass arbitrary :class:`str` subclasses and therefore still create "
"reference cycles."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-02-15 00:37+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -127,20 +127,20 @@ msgstr ""
msgid ""
"Occasionally, a user's environment is so full that the :program:`/usr/bin/"
"env` program fails; or there's no env program at all. In that case, you can "
"try the following hack (due to Alex Rezinsky)::"
"try the following hack (due to Alex Rezinsky):"
msgstr ""
#: ../Doc/faq/library.rst:84
#: ../Doc/faq/library.rst:86
msgid ""
"The minor disadvantage is that this defines the script's __doc__ string. "
"However, you can fix that by adding ::"
msgstr ""
#: ../Doc/faq/library.rst:92
#: ../Doc/faq/library.rst:94
msgid "Is there a curses/termcap package for Python?"
msgstr ""
#: ../Doc/faq/library.rst:96
#: ../Doc/faq/library.rst:98
msgid ""
"For Unix variants: The standard Python source distribution comes with a "
"curses module in the :source:`Modules` subdirectory, though it's not "
@ -148,7 +148,7 @@ msgid ""
"distribution -- there is no curses module for Windows.)"
msgstr ""
#: ../Doc/faq/library.rst:101
#: ../Doc/faq/library.rst:103
msgid ""
"The :mod:`curses` module supports basic curses features as well as many "
"additional functions from ncurses and SYSV curses such as colour, "
@ -158,58 +158,58 @@ msgid ""
"category."
msgstr ""
#: ../Doc/faq/library.rst:107
#: ../Doc/faq/library.rst:109
msgid ""
"For Windows: use `the consolelib module <http://effbot.org/zone/console-"
"index.htm>`_."
msgstr ""
#: ../Doc/faq/library.rst:112
#: ../Doc/faq/library.rst:114
msgid "Is there an equivalent to C's onexit() in Python?"
msgstr ""
#: ../Doc/faq/library.rst:114
#: ../Doc/faq/library.rst:116
msgid ""
"The :mod:`atexit` module provides a register function that is similar to "
"C's :c:func:`onexit`."
msgstr ""
#: ../Doc/faq/library.rst:119
#: ../Doc/faq/library.rst:121
msgid "Why don't my signal handlers work?"
msgstr ""
#: ../Doc/faq/library.rst:121
#: ../Doc/faq/library.rst:123
msgid ""
"The most common problem is that the signal handler is declared with the "
"wrong argument list. It is called as ::"
msgstr ""
#: ../Doc/faq/library.rst:126
#: ../Doc/faq/library.rst:128
msgid "so it should be declared with two arguments::"
msgstr ""
#: ../Doc/faq/library.rst:133
#: ../Doc/faq/library.rst:135
msgid "Common tasks"
msgstr ""
#: ../Doc/faq/library.rst:136
#: ../Doc/faq/library.rst:138
msgid "How do I test a Python program or component?"
msgstr ""
#: ../Doc/faq/library.rst:138
#: ../Doc/faq/library.rst:140
msgid ""
"Python comes with two testing frameworks. The :mod:`doctest` module finds "
"examples in the docstrings for a module and runs them, comparing the output "
"with the expected output given in the docstring."
msgstr ""
#: ../Doc/faq/library.rst:142
#: ../Doc/faq/library.rst:144
msgid ""
"The :mod:`unittest` module is a fancier testing framework modelled on Java "
"and Smalltalk testing frameworks."
msgstr ""
#: ../Doc/faq/library.rst:145
#: ../Doc/faq/library.rst:147
msgid ""
"To make testing easier, you should use good modular design in your program. "
"Your program should have almost all functionality encapsulated in either "
@ -220,15 +220,15 @@ msgid ""
"more difficult to do."
msgstr ""
#: ../Doc/faq/library.rst:153
#: ../Doc/faq/library.rst:155
msgid "The \"global main logic\" of your program may be as simple as ::"
msgstr ""
#: ../Doc/faq/library.rst:158
#: ../Doc/faq/library.rst:160
msgid "at the bottom of the main module of your program."
msgstr ""
#: ../Doc/faq/library.rst:160
#: ../Doc/faq/library.rst:162
msgid ""
"Once your program is organized as a tractable collection of functions and "
"class behaviours you should write test functions that exercise the "
@ -240,24 +240,24 @@ msgid ""
"design flaws earlier."
msgstr ""
#: ../Doc/faq/library.rst:168
#: ../Doc/faq/library.rst:170
msgid ""
"\"Support modules\" that are not intended to be the main module of a program "
"may include a self-test of the module. ::"
msgstr ""
#: ../Doc/faq/library.rst:174
#: ../Doc/faq/library.rst:176
msgid ""
"Even programs that interact with complex external interfaces may be tested "
"when the external interfaces are unavailable by using \"fake\" interfaces "
"implemented in Python."
msgstr ""
#: ../Doc/faq/library.rst:180
#: ../Doc/faq/library.rst:182
msgid "How do I create documentation from doc strings?"
msgstr ""
#: ../Doc/faq/library.rst:182
#: ../Doc/faq/library.rst:184
msgid ""
"The :mod:`pydoc` module can create HTML from the doc strings in your Python "
"source code. An alternative for creating API documentation purely from "
@ -265,65 +265,65 @@ msgid ""
"sphinx-doc.org>`_ can also include docstring content."
msgstr ""
#: ../Doc/faq/library.rst:189
#: ../Doc/faq/library.rst:191
msgid "How do I get a single keypress at a time?"
msgstr ""
#: ../Doc/faq/library.rst:191
#: ../Doc/faq/library.rst:193
msgid ""
"For Unix variants there are several solutions. It's straightforward to do "
"this using curses, but curses is a fairly large module to learn."
msgstr ""
#: ../Doc/faq/library.rst:235
#: ../Doc/faq/library.rst:237
msgid "Threads"
msgstr ""
#: ../Doc/faq/library.rst:238
#: ../Doc/faq/library.rst:240
msgid "How do I program using threads?"
msgstr ""
#: ../Doc/faq/library.rst:240
#: ../Doc/faq/library.rst:242
msgid ""
"Be sure to use the :mod:`threading` module and not the :mod:`_thread` "
"module. The :mod:`threading` module builds convenient abstractions on top of "
"the low-level primitives provided by the :mod:`_thread` module."
msgstr ""
#: ../Doc/faq/library.rst:244
#: ../Doc/faq/library.rst:246
msgid ""
"Aahz has a set of slides from his threading tutorial that are helpful; see "
"http://www.pythoncraft.com/OSCON2001/."
msgstr ""
#: ../Doc/faq/library.rst:249
#: ../Doc/faq/library.rst:251
msgid "None of my threads seem to run: why?"
msgstr ""
#: ../Doc/faq/library.rst:251
#: ../Doc/faq/library.rst:253
msgid ""
"As soon as the main thread exits, all threads are killed. Your main thread "
"is running too quickly, giving the threads no time to do any work."
msgstr ""
#: ../Doc/faq/library.rst:254
#: ../Doc/faq/library.rst:256
msgid ""
"A simple fix is to add a sleep to the end of the program that's long enough "
"for all the threads to finish::"
msgstr ""
#: ../Doc/faq/library.rst:269
#: ../Doc/faq/library.rst:271
msgid ""
"But now (on many platforms) the threads don't run in parallel, but appear to "
"run sequentially, one at a time! The reason is that the OS thread scheduler "
"doesn't start a new thread until the previous thread is blocked."
msgstr ""
#: ../Doc/faq/library.rst:273
#: ../Doc/faq/library.rst:275
msgid "A simple fix is to add a tiny sleep to the start of the run function::"
msgstr ""
#: ../Doc/faq/library.rst:286
#: ../Doc/faq/library.rst:288
msgid ""
"Instead of trying to guess a good delay value for :func:`time.sleep`, it's "
"better to use some kind of semaphore mechanism. One idea is to use the :mod:"
@ -332,17 +332,17 @@ msgid ""
"the queue as there are threads."
msgstr ""
#: ../Doc/faq/library.rst:294
#: ../Doc/faq/library.rst:296
msgid "How do I parcel out work among a bunch of worker threads?"
msgstr ""
#: ../Doc/faq/library.rst:296
#: ../Doc/faq/library.rst:298
msgid ""
"The easiest way is to use the new :mod:`concurrent.futures` module, "
"especially the :mod:`~concurrent.futures.ThreadPoolExecutor` class."
msgstr ""
#: ../Doc/faq/library.rst:299
#: ../Doc/faq/library.rst:301
msgid ""
"Or, if you want fine control over the dispatching algorithm, you can write "
"your own logic manually. Use the :mod:`queue` module to create a queue "
@ -352,25 +352,25 @@ msgid ""
"necessary to ensure that each job is handed out exactly once."
msgstr ""
#: ../Doc/faq/library.rst:306
#: ../Doc/faq/library.rst:308
msgid "Here's a trivial example::"
msgstr ""
#: ../Doc/faq/library.rst:344
#: ../Doc/faq/library.rst:346
msgid "When run, this will produce the following output:"
msgstr ""
#: ../Doc/faq/library.rst:362
#: ../Doc/faq/library.rst:364
msgid ""
"Consult the module's documentation for more details; the :class:`~queue."
"Queue` class provides a featureful interface."
msgstr ""
#: ../Doc/faq/library.rst:367
#: ../Doc/faq/library.rst:369
msgid "What kinds of global value mutation are thread-safe?"
msgstr ""
#: ../Doc/faq/library.rst:369
#: ../Doc/faq/library.rst:371
msgid ""
"A :term:`global interpreter lock` (GIL) is used internally to ensure that "
"only one thread runs in the Python VM at a time. In general, Python offers "
@ -380,7 +380,7 @@ msgid ""
"instruction is therefore atomic from the point of view of a Python program."
msgstr ""
#: ../Doc/faq/library.rst:376
#: ../Doc/faq/library.rst:378
msgid ""
"In theory, this means an exact accounting requires an exact understanding of "
"the PVM bytecode implementation. In practice, it means that operations on "
@ -388,17 +388,17 @@ msgid ""
"\"look atomic\" really are."
msgstr ""
#: ../Doc/faq/library.rst:381
#: ../Doc/faq/library.rst:383
msgid ""
"For example, the following operations are all atomic (L, L1, L2 are lists, "
"D, D1, D2 are dicts, x, y are objects, i, j are ints)::"
msgstr ""
#: ../Doc/faq/library.rst:396
#: ../Doc/faq/library.rst:398
msgid "These aren't::"
msgstr ""
#: ../Doc/faq/library.rst:403
#: ../Doc/faq/library.rst:405
msgid ""
"Operations that replace other objects may invoke those other objects' :meth:"
"`__del__` method when their reference count reaches zero, and that can "
@ -406,11 +406,11 @@ msgid ""
"and lists. When in doubt, use a mutex!"
msgstr ""
#: ../Doc/faq/library.rst:410
#: ../Doc/faq/library.rst:412
msgid "Can't we get rid of the Global Interpreter Lock?"
msgstr ""
#: ../Doc/faq/library.rst:414
#: ../Doc/faq/library.rst:416
msgid ""
"The :term:`global interpreter lock` (GIL) is often seen as a hindrance to "
"Python's deployment on high-end multiprocessor server machines, because a "
@ -418,7 +418,7 @@ msgid ""
"insistence that (almost) all Python code can only run while the GIL is held."
msgstr ""
#: ../Doc/faq/library.rst:419
#: ../Doc/faq/library.rst:421
msgid ""
"Back in the days of Python 1.5, Greg Stein actually implemented a "
"comprehensive patch set (the \"free threading\" patches) that removed the "
@ -430,7 +430,7 @@ msgid ""
"the GIL."
msgstr ""
#: ../Doc/faq/library.rst:427
#: ../Doc/faq/library.rst:429
msgid ""
"This doesn't mean that you can't make good use of Python on multi-CPU "
"machines! You just have to be creative with dividing the work up between "
@ -441,7 +441,7 @@ msgid ""
"dispatching of tasks."
msgstr ""
#: ../Doc/faq/library.rst:435
#: ../Doc/faq/library.rst:437
msgid ""
"Judicious use of C extensions will also help; if you use a C extension to "
"perform a time-consuming task, the extension can release the GIL while the "
@ -450,7 +450,7 @@ msgid ""
"`hashlib` already do this."
msgstr ""
#: ../Doc/faq/library.rst:441
#: ../Doc/faq/library.rst:443
msgid ""
"It has been suggested that the GIL should be a per-interpreter-state lock "
"rather than truly global; interpreters then wouldn't be able to share "
@ -462,7 +462,7 @@ msgid ""
"the interpreter state. And so on."
msgstr ""
#: ../Doc/faq/library.rst:450
#: ../Doc/faq/library.rst:452
msgid ""
"And I doubt that it can even be done in finite time, because the same "
"problem exists for 3rd party extensions. It is likely that 3rd party "
@ -470,28 +470,28 @@ msgid ""
"store all their global state in the interpreter state."
msgstr ""
#: ../Doc/faq/library.rst:455
#: ../Doc/faq/library.rst:457
msgid ""
"And finally, once you have multiple interpreters not sharing any state, what "
"have you gained over running each interpreter in a separate process?"
msgstr ""
#: ../Doc/faq/library.rst:460
#: ../Doc/faq/library.rst:462
msgid "Input and Output"
msgstr "Les entrées/sorties"
#: ../Doc/faq/library.rst:463
#: ../Doc/faq/library.rst:465
msgid "How do I delete a file? (And other file questions...)"
msgstr ""
#: ../Doc/faq/library.rst:465
#: ../Doc/faq/library.rst:467
msgid ""
"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, "
"see the :mod:`os` module. The two functions are identical; :func:`~os."
"unlink` is simply the name of the Unix system call for this function."
msgstr ""
#: ../Doc/faq/library.rst:469
#: ../Doc/faq/library.rst:471
msgid ""
"To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create "
"one. ``os.makedirs(path)`` will create any intermediate directories in "
@ -500,11 +500,11 @@ msgid ""
"directory tree and its contents, use :func:`shutil.rmtree`."
msgstr ""
#: ../Doc/faq/library.rst:475
#: ../Doc/faq/library.rst:477
msgid "To rename a file, use ``os.rename(old_path, new_path)``."
msgstr ""
#: ../Doc/faq/library.rst:477
#: ../Doc/faq/library.rst:479
msgid ""
"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use "
"``f.truncate(offset)``; offset defaults to the current seek position. "
@ -512,54 +512,54 @@ msgid ""
"open`, where *fd* is the file descriptor (a small integer)."
msgstr ""
#: ../Doc/faq/library.rst:482
#: ../Doc/faq/library.rst:484
msgid ""
"The :mod:`shutil` module also contains a number of functions to work on "
"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :"
"func:`~shutil.rmtree`."
msgstr ""
#: ../Doc/faq/library.rst:488
#: ../Doc/faq/library.rst:490
msgid "How do I copy a file?"
msgstr ""
#: ../Doc/faq/library.rst:490
#: ../Doc/faq/library.rst:492
msgid ""
"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note "
"that on MacOS 9 it doesn't copy the resource fork and Finder info."
msgstr ""
#: ../Doc/faq/library.rst:495
#: ../Doc/faq/library.rst:497
msgid "How do I read (or write) binary data?"
msgstr ""
#: ../Doc/faq/library.rst:497
#: ../Doc/faq/library.rst:499
msgid ""
"To read or write complex binary data formats, it's best to use the :mod:"
"`struct` module. It allows you to take a string containing binary data "
"(usually numbers) and convert it to Python objects; and vice versa."
msgstr ""
#: ../Doc/faq/library.rst:501
#: ../Doc/faq/library.rst:503
msgid ""
"For example, the following code reads two 2-byte integers and one 4-byte "
"integer in big-endian format from a file::"
msgstr ""
#: ../Doc/faq/library.rst:510
#: ../Doc/faq/library.rst:512
msgid ""
"The '>' in the format string forces big-endian data; the letter 'h' reads "
"one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 "
"bytes) from the string."
msgstr ""
#: ../Doc/faq/library.rst:514
#: ../Doc/faq/library.rst:516
msgid ""
"For data that is more regular (e.g. a homogeneous list of ints or floats), "
"you can also use the :mod:`array` module."
msgstr ""
#: ../Doc/faq/library.rst:519
#: ../Doc/faq/library.rst:521
msgid ""
"To read and write binary data, it is mandatory to open the file in binary "
"mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` "
@ -567,11 +567,11 @@ msgid ""
"will return :class:`str` objects rather than :class:`bytes` objects."
msgstr ""
#: ../Doc/faq/library.rst:527
#: ../Doc/faq/library.rst:529
msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?"
msgstr ""
#: ../Doc/faq/library.rst:529
#: ../Doc/faq/library.rst:531
msgid ""
":func:`os.read` is a low-level function which takes a file descriptor, a "
"small integer representing the opened file. :func:`os.popen` creates a high-"
@ -580,37 +580,37 @@ msgid ""
"popen`, you need to use ``p.read(n)``."
msgstr ""
#: ../Doc/faq/library.rst:616
#: ../Doc/faq/library.rst:618
msgid "How do I access the serial (RS232) port?"
msgstr ""
#: ../Doc/faq/library.rst:618
#: ../Doc/faq/library.rst:620
msgid "For Win32, POSIX (Linux, BSD, etc.), Jython:"
msgstr ""
#: ../Doc/faq/library.rst:620
#: ../Doc/faq/library.rst:622
msgid "http://pyserial.sourceforge.net"
msgstr ""
#: ../Doc/faq/library.rst:622
#: ../Doc/faq/library.rst:624
msgid "For Unix, see a Usenet post by Mitch Chapman:"
msgstr ""
#: ../Doc/faq/library.rst:624
#: ../Doc/faq/library.rst:626
msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com"
msgstr ""
#: ../Doc/faq/library.rst:628
#: ../Doc/faq/library.rst:630
msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?"
msgstr ""
#: ../Doc/faq/library.rst:630
#: ../Doc/faq/library.rst:632
msgid ""
"Python :term:`file objects <file object>` are a high-level layer of "
"abstraction on low-level C file descriptors."
msgstr ""
#: ../Doc/faq/library.rst:633
#: ../Doc/faq/library.rst:635
msgid ""
"For most file objects you create in Python via the built-in :func:`open` "
"function, ``f.close()`` marks the Python file object as being closed from "
@ -619,7 +619,7 @@ msgid ""
"``f`` becomes garbage."
msgstr ""
#: ../Doc/faq/library.rst:639
#: ../Doc/faq/library.rst:641
msgid ""
"But stdin, stdout and stderr are treated specially by Python, because of the "
"special status also given to them by C. Running ``sys.stdout.close()`` "
@ -627,94 +627,94 @@ msgid ""
"associated C file descriptor."
msgstr ""
#: ../Doc/faq/library.rst:644
#: ../Doc/faq/library.rst:646
msgid ""
"To close the underlying C file descriptor for one of these three, you should "
"first be sure that's what you really want to do (e.g., you may confuse "
"extension modules trying to do I/O). If it is, use :func:`os.close`::"
msgstr ""
#: ../Doc/faq/library.rst:652
#: ../Doc/faq/library.rst:654
msgid "Or you can use the numeric constants 0, 1 and 2, respectively."
msgstr ""
#: ../Doc/faq/library.rst:656
#: ../Doc/faq/library.rst:658
msgid "Network/Internet Programming"
msgstr ""
#: ../Doc/faq/library.rst:659
#: ../Doc/faq/library.rst:661
msgid "What WWW tools are there for Python?"
msgstr ""
#: ../Doc/faq/library.rst:661
#: ../Doc/faq/library.rst:663
msgid ""
"See the chapters titled :ref:`internet` and :ref:`netdata` in the Library "
"Reference Manual. Python has many modules that will help you build server-"
"side and client-side web systems."
msgstr ""
#: ../Doc/faq/library.rst:667
#: ../Doc/faq/library.rst:669
msgid ""
"A summary of available frameworks is maintained by Paul Boddie at https://"
"wiki.python.org/moin/WebProgramming\\ ."
msgstr ""
#: ../Doc/faq/library.rst:670
#: ../Doc/faq/library.rst:672
msgid ""
"Cameron Laird maintains a useful set of pages about Python web technologies "
"at http://phaseit.net/claird/comp.lang.python/web_python."
msgstr ""
#: ../Doc/faq/library.rst:675
#: ../Doc/faq/library.rst:677
msgid "How can I mimic CGI form submission (METHOD=POST)?"
msgstr ""
#: ../Doc/faq/library.rst:677
#: ../Doc/faq/library.rst:679
msgid ""
"I would like to retrieve web pages that are the result of POSTing a form. Is "
"there existing code that would let me do this easily?"
msgstr ""
#: ../Doc/faq/library.rst:680
#: ../Doc/faq/library.rst:682
msgid "Yes. Here's a simple example that uses urllib.request::"
msgstr ""
#: ../Doc/faq/library.rst:695
#: ../Doc/faq/library.rst:697
msgid ""
"Note that in general for percent-encoded POST operations, query strings must "
"be quoted using :func:`urllib.parse.urlencode`. For example, to send "
"``name=Guy Steele, Jr.``::"
msgstr ""
#: ../Doc/faq/library.rst:703
#: ../Doc/faq/library.rst:705
msgid ":ref:`urllib-howto` for extensive examples."
msgstr ""
#: ../Doc/faq/library.rst:707
#: ../Doc/faq/library.rst:709
msgid "What module should I use to help with generating HTML?"
msgstr ""
#: ../Doc/faq/library.rst:711
#: ../Doc/faq/library.rst:713
msgid ""
"You can find a collection of useful links on the `Web Programming wiki page "
"<https://wiki.python.org/moin/WebProgramming>`_."
msgstr ""
#: ../Doc/faq/library.rst:716
#: ../Doc/faq/library.rst:718
msgid "How do I send mail from a Python script?"
msgstr ""
#: ../Doc/faq/library.rst:718
#: ../Doc/faq/library.rst:720
msgid "Use the standard library module :mod:`smtplib`."
msgstr ""
#: ../Doc/faq/library.rst:720
#: ../Doc/faq/library.rst:722
msgid ""
"Here's a very simple interactive mail sender that uses it. This method will "
"work on any host that supports an SMTP listener. ::"
msgstr ""
#: ../Doc/faq/library.rst:740
#: ../Doc/faq/library.rst:742
msgid ""
"A Unix-only alternative uses sendmail. The location of the sendmail program "
"varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/"
@ -722,17 +722,17 @@ msgid ""
"some sample code::"
msgstr ""
#: ../Doc/faq/library.rst:760
#: ../Doc/faq/library.rst:762
msgid "How do I avoid blocking in the connect() method of a socket?"
msgstr ""
#: ../Doc/faq/library.rst:762
#: ../Doc/faq/library.rst:764
msgid ""
"The :mod:`select` module is commonly used to help with asynchronous I/O on "
"sockets."
msgstr ""
#: ../Doc/faq/library.rst:765
#: ../Doc/faq/library.rst:767
msgid ""
"To prevent the TCP connect from blocking, you can set the socket to non-"
"blocking mode. Then when you do the ``connect()``, you will either connect "
@ -742,7 +742,7 @@ msgid ""
"values, so you're going to have to check what's returned on your system."
msgstr ""
#: ../Doc/faq/library.rst:772
#: ../Doc/faq/library.rst:774
msgid ""
"You can use the ``connect_ex()`` method to avoid creating an exception. It "
"will just return the errno value. To poll, you can call ``connect_ex()`` "
@ -750,26 +750,26 @@ msgid ""
"or you can pass this socket to select to check if it's writable."
msgstr ""
#: ../Doc/faq/library.rst:778
#: ../Doc/faq/library.rst:780
msgid ""
"The :mod:`asyncore` module presents a framework-like approach to the problem "
"of writing non-blocking networking code. The third-party `Twisted <https://"
"twistedmatrix.com/trac/>`_ library is a popular and feature-rich alternative."
msgstr ""
#: ../Doc/faq/library.rst:785
#: ../Doc/faq/library.rst:787
msgid "Databases"
msgstr ""
#: ../Doc/faq/library.rst:788
#: ../Doc/faq/library.rst:790
msgid "Are there any interfaces to database packages in Python?"
msgstr ""
#: ../Doc/faq/library.rst:790
#: ../Doc/faq/library.rst:792
msgid "Yes."
msgstr "Oui."
#: ../Doc/faq/library.rst:792
#: ../Doc/faq/library.rst:794
msgid ""
"Interfaces to disk-based hashes such as :mod:`DBM <dbm.ndbm>` and :mod:`GDBM "
"<dbm.gnu>` are also included with standard Python. There is also the :mod:"
@ -777,18 +777,18 @@ msgid ""
"database."
msgstr ""
#: ../Doc/faq/library.rst:797
#: ../Doc/faq/library.rst:799
msgid ""
"Support for most relational databases is available. See the "
"`DatabaseProgramming wiki page <https://wiki.python.org/moin/"
"DatabaseProgramming>`_ for details."
msgstr ""
#: ../Doc/faq/library.rst:803
#: ../Doc/faq/library.rst:805
msgid "How do you implement persistent objects in Python?"
msgstr ""
#: ../Doc/faq/library.rst:805
#: ../Doc/faq/library.rst:807
msgid ""
"The :mod:`pickle` library module solves this in a very general way (though "
"you still can't store things like open files, sockets or windows), and the :"
@ -796,55 +796,55 @@ msgid ""
"mappings containing arbitrary Python objects."
msgstr ""
#: ../Doc/faq/library.rst:812
#: ../Doc/faq/library.rst:814
msgid "Mathematics and Numerics"
msgstr ""
#: ../Doc/faq/library.rst:815
#: ../Doc/faq/library.rst:817
msgid "How do I generate random numbers in Python?"
msgstr ""
#: ../Doc/faq/library.rst:817
#: ../Doc/faq/library.rst:819
msgid ""
"The standard module :mod:`random` implements a random number generator. "
"Usage is simple::"
msgstr ""
#: ../Doc/faq/library.rst:823
#: ../Doc/faq/library.rst:825
msgid "This returns a random floating point number in the range [0, 1)."
msgstr ""
#: ../Doc/faq/library.rst:825
#: ../Doc/faq/library.rst:827
msgid ""
"There are also many other specialized generators in this module, such as:"
msgstr ""
#: ../Doc/faq/library.rst:827
#: ../Doc/faq/library.rst:829
msgid "``randrange(a, b)`` chooses an integer in the range [a, b)."
msgstr ""
#: ../Doc/faq/library.rst:828
#: ../Doc/faq/library.rst:830
msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)."
msgstr ""
#: ../Doc/faq/library.rst:829
#: ../Doc/faq/library.rst:831
msgid ""
"``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution."
msgstr ""
#: ../Doc/faq/library.rst:831
#: ../Doc/faq/library.rst:833
msgid "Some higher-level functions operate on sequences directly, such as:"
msgstr ""
#: ../Doc/faq/library.rst:833
#: ../Doc/faq/library.rst:835
msgid "``choice(S)`` chooses random element from a given sequence"
msgstr ""
#: ../Doc/faq/library.rst:834
#: ../Doc/faq/library.rst:836
msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly"
msgstr ""
#: ../Doc/faq/library.rst:836
#: ../Doc/faq/library.rst:838
msgid ""
"There's also a ``Random`` class you can instantiate to create independent "
"multiple random number generators."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-01-21 23:08+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,18 +17,18 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../Doc/faq/windows.rst:7
#: ../Doc/faq/windows.rst:9
msgid "Python on Windows FAQ"
msgstr ""
"Ce n'est pas forcément une question simple. Si vous êtes déjà familier avec "
"le lancement de programmes depuis la ligne de commande de Windows alors tout "
"semblera évident; Sinon, vous auriez besoin d'être un peu guidé."
#: ../Doc/faq/windows.rst:18
#: ../Doc/faq/windows.rst:20
msgid "How do I run a Python program under Windows?"
msgstr "Comment exécuter un programme Python sous Windows ?"
#: ../Doc/faq/windows.rst:20
#: ../Doc/faq/windows.rst:22
msgid ""
"This is not necessarily a straightforward question. If you are already "
"familiar with running programs from the Windows command line then everything "
@ -38,7 +38,7 @@ msgstr ""
"le lancement de programmes depuis la ligne de commande de Windows alors tout "
"semblera évident; Sinon, vous auriez besoin d'être un peu guidé."
#: ../Doc/faq/windows.rst:27
#: ../Doc/faq/windows.rst:29
msgid ""
"This series of screencasts aims to get you up and running with Python on "
"Windows XP. The knowledge is distilled into 1.5 hours and will get you up "
@ -51,7 +51,8 @@ msgstr ""
"votre choix, et de débugger et écrire du code solide accompagné des tests "
"unitaires."
#: ../Doc/faq/windows.rst:36
#: ../Doc/faq/windows.rst:38
#, fuzzy
msgid ""
"Unless you use some sort of integrated development environment, you will end "
"up *typing* Windows commands into what is variously referred to as a \"DOS "
@ -59,7 +60,7 @@ msgid ""
"from your Start menu; under Windows 7 the menu selection is :menuselection:"
"`Start --> Programs --> Accessories --> Command Prompt`. You should be able "
"to recognize when you have started such a window because you will see a "
"Windows \"command prompt\", which usually looks like this::"
"Windows \"command prompt\", which usually looks like this:"
msgstr ""
"A moins que vous n'utilisiez quelque environnement de développement, vous "
"devrez entrer des commandes Windows dans ce qui est diversement référé comme "
@ -69,15 +70,16 @@ msgstr ""
"dans la bonne fenêtre quand vous verrez une fenêtre invite de commande qui "
"ressemble normalement à ça ::"
#: ../Doc/faq/windows.rst:46
#: ../Doc/faq/windows.rst:50
#, fuzzy
msgid ""
"The letter may be different, and there might be other things after it, so "
"you might just as easily see something like::"
"you might just as easily see something like:"
msgstr ""
"La lettre peut être différente, et il peut y avoir d'autres choses à la "
"suite, alors il se peut aussi bien que vous voyez quelque chose tel que ::"
#: ../Doc/faq/windows.rst:51
#: ../Doc/faq/windows.rst:57
msgid ""
"depending on how your computer has been set up and what else you have "
"recently done with it. Once you have started such a window, you are well on "
@ -87,7 +89,7 @@ msgstr ""
"fait avec. Une fois que vous avez ouvert cette fenêtre, vous êtes bien "
"partis pour pouvoir lancer des programmes Python."
#: ../Doc/faq/windows.rst:55
#: ../Doc/faq/windows.rst:61
msgid ""
"You need to realize that your Python scripts have to be processed by another "
"program called the Python *interpreter*. The interpreter reads your script, "
@ -100,32 +102,33 @@ msgstr ""
"programme. Alors, comment faire pour donner votre code Python à "
"l'interpréteur ?"
#: ../Doc/faq/windows.rst:60
#: ../Doc/faq/windows.rst:66
#, fuzzy
msgid ""
"First, you need to make sure that your command window recognises the word "
"\"python\" as an instruction to start the interpreter. If you have opened a "
"command window, you should try entering the command ``python`` and hitting "
"return.::"
"return:"
msgstr ""
"Tout d'abord, vous devez vous assurer que votre fenêtre d'invite de commande "
"reconnaît le mot \"python\" comme une instruction pour démarrer "
"l'interpréteur. Si vous avez ouvert une fenêtre de commande, entrez la "
"commande ``python``, puis appuyez sur la touche entrée ::"
#: ../Doc/faq/windows.rst:67
msgid "You should then see something like::"
#: ../Doc/faq/windows.rst:75
#, fuzzy
msgid "You should then see something like:"
msgstr "Vous devez vous trouver face à quelque chose comme ça ::"
#: ../Doc/faq/windows.rst:73
#: ../Doc/faq/windows.rst:83
msgid ""
"You have started the interpreter in \"interactive mode\". That means you can "
"enter Python statements or expressions interactively and have them executed "
"or evaluated while you wait. This is one of Python's strongest features. "
"Check it by entering a few expressions of your choice and seeing the "
"results::"
"Check it by entering a few expressions of your choice and seeing the results:"
msgstr ""
#: ../Doc/faq/windows.rst:83
#: ../Doc/faq/windows.rst:95
msgid ""
"Many people use the interactive mode as a convenient yet highly programmable "
"calculator. When you want to end your interactive Python session, hold the :"
@ -133,7 +136,7 @@ msgid ""
"\" key to get back to your Windows command prompt."
msgstr ""
#: ../Doc/faq/windows.rst:88
#: ../Doc/faq/windows.rst:100
msgid ""
"You may also find that you have a Start-menu entry such as :menuselection:"
"`Start --> Programs --> Python 3.3 --> Python (command line)` that results "
@ -143,38 +146,38 @@ msgid ""
"the interpreter."
msgstr ""
#: ../Doc/faq/windows.rst:94
#: ../Doc/faq/windows.rst:106
msgid ""
"If the ``python`` command, instead of displaying the interpreter prompt "
"``>>>``, gives you a message like::"
msgstr ""
#: ../Doc/faq/windows.rst:102
#: ../Doc/faq/windows.rst:114
msgid ""
"Python is not added to the DOS path by default. This screencast will walk "
"you through the steps to add the correct entry to the `System Path`, "
"allowing Python to be executed from the command-line by all users."
msgstr ""
#: ../Doc/faq/windows.rst:111
#: ../Doc/faq/windows.rst:123
msgid "or::"
msgstr "ou : ::"
#: ../Doc/faq/windows.rst:115
#: ../Doc/faq/windows.rst:127
msgid ""
"then you need to make sure that your computer knows where to find the Python "
"interpreter. To do this you will have to modify a setting called PATH, "
"which is a list of directories where Windows will look for programs."
msgstr ""
#: ../Doc/faq/windows.rst:119
#: ../Doc/faq/windows.rst:131
msgid ""
"You should arrange for Python's installation directory to be added to the "
"PATH of every command window as it starts. If you installed Python fairly "
"recently then the command ::"
msgstr ""
#: ../Doc/faq/windows.rst:125
#: ../Doc/faq/windows.rst:137
msgid ""
"will probably tell you where it is installed; the usual location is "
"something like ``C:\\Python33``. Otherwise you will be reduced to a search "
@ -185,7 +188,7 @@ msgid ""
"command ::"
msgstr ""
#: ../Doc/faq/windows.rst:134
#: ../Doc/faq/windows.rst:146
msgid ""
"starts up the interpreter as above (and don't forget you'll need a \":kbd:"
"`Ctrl-Z`\" and an \":kbd:`Enter`\" to get out of it). Once you have verified "
@ -194,17 +197,17 @@ msgid ""
"in the installer as of CPython 3.3."
msgstr ""
#: ../Doc/faq/windows.rst:140
#: ../Doc/faq/windows.rst:152
msgid ""
"More information about environment variables can be found on the :ref:`Using "
"Python on Windows <setting-envvars>` page."
msgstr ""
#: ../Doc/faq/windows.rst:144
#: ../Doc/faq/windows.rst:156
msgid "How do I make Python scripts executable?"
msgstr ""
#: ../Doc/faq/windows.rst:146
#: ../Doc/faq/windows.rst:158
msgid ""
"On Windows, the standard Python installer already associates the .py "
"extension with a file type (Python.File) and gives that file type an open "
@ -215,11 +218,11 @@ msgid ""
"environment variable."
msgstr ""
#: ../Doc/faq/windows.rst:154
#: ../Doc/faq/windows.rst:166
msgid "Why does Python sometimes take so long to start?"
msgstr ""
#: ../Doc/faq/windows.rst:156
#: ../Doc/faq/windows.rst:168
msgid ""
"Usually Python starts very quickly on Windows, but occasionally there are "
"bug reports that Python suddenly begins to take a long time to start up. "
@ -227,7 +230,7 @@ msgid ""
"Windows systems which appear to be configured identically."
msgstr ""
#: ../Doc/faq/windows.rst:161
#: ../Doc/faq/windows.rst:173
msgid ""
"The problem may be caused by a misconfiguration of virus checking software "
"on the problem machine. Some virus scanners have been known to introduce "
@ -238,11 +241,11 @@ msgid ""
"activity, is a particular offender."
msgstr ""
#: ../Doc/faq/windows.rst:171
#: ../Doc/faq/windows.rst:183
msgid "How do I make an executable from a Python script?"
msgstr "Comment construire un exécutable depuis un script Python ?"
#: ../Doc/faq/windows.rst:173
#: ../Doc/faq/windows.rst:185
msgid ""
"See http://cx-freeze.sourceforge.net/ for a distutils extension that allows "
"you to create console and GUI executables from Python code. `py2exe <http://"
@ -251,11 +254,11 @@ msgid ""
"development."
msgstr ""
#: ../Doc/faq/windows.rst:181
#: ../Doc/faq/windows.rst:193
msgid "Is a ``*.pyd`` file the same as a DLL?"
msgstr ""
#: ../Doc/faq/windows.rst:183
#: ../Doc/faq/windows.rst:195
msgid ""
"Yes, .pyd files are dll's, but there are a few differences. If you have a "
"DLL named ``foo.pyd``, then it must have a function ``PyInit_foo()``. You "
@ -265,7 +268,7 @@ msgid ""
"as that would cause Windows to require the DLL to be present."
msgstr ""
#: ../Doc/faq/windows.rst:190
#: ../Doc/faq/windows.rst:202
msgid ""
"Note that the search path for foo.pyd is PYTHONPATH, not the same as the "
"path that Windows uses to search for foo.dll. Also, foo.pyd need not be "
@ -276,17 +279,17 @@ msgid ""
"available functions."
msgstr ""
#: ../Doc/faq/windows.rst:199
#: ../Doc/faq/windows.rst:211
msgid "How can I embed Python into a Windows application?"
msgstr ""
#: ../Doc/faq/windows.rst:201
#: ../Doc/faq/windows.rst:213
msgid ""
"Embedding the Python interpreter in a Windows app can be summarized as "
"follows:"
msgstr ""
#: ../Doc/faq/windows.rst:203
#: ../Doc/faq/windows.rst:215
msgid ""
"Do _not_ build Python into your .exe file directly. On Windows, Python must "
"be a DLL to handle importing modules that are themselves DLL's. (This is "
@ -295,7 +298,7 @@ msgid ""
"version, a number such as \"33\" for Python 3.3."
msgstr ""
#: ../Doc/faq/windows.rst:209
#: ../Doc/faq/windows.rst:221
msgid ""
"You can link to Python in two different ways. Load-time linking means "
"linking against :file:`python{NN}.lib`, while run-time linking means linking "
@ -304,7 +307,7 @@ msgid ""
"merely defines symbols for the linker.)"
msgstr ""
#: ../Doc/faq/windows.rst:215
#: ../Doc/faq/windows.rst:227
msgid ""
"Run-time linking greatly simplifies link options; everything happens at run "
"time. Your code must load :file:`python{NN}.dll` using the Windows "
@ -315,13 +318,13 @@ msgid ""
"API."
msgstr ""
#: ../Doc/faq/windows.rst:222
#: ../Doc/faq/windows.rst:234
msgid ""
"Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf."
"exe first."
msgstr ""
#: ../Doc/faq/windows.rst:227
#: ../Doc/faq/windows.rst:239
msgid ""
"If you use SWIG, it is easy to create a Python \"extension module\" that "
"will make the app's data and methods available to Python. SWIG will handle "
@ -330,7 +333,7 @@ msgid ""
"this also simplifies linking."
msgstr ""
#: ../Doc/faq/windows.rst:233
#: ../Doc/faq/windows.rst:245
msgid ""
"SWIG will create an init function (a C function) whose name depends on the "
"name of the extension module. For example, if the name of the module is "
@ -339,26 +342,26 @@ msgid ""
"initializes a mostly hidden helper class used by the shadow class."
msgstr ""
#: ../Doc/faq/windows.rst:239
#: ../Doc/faq/windows.rst:251
msgid ""
"The reason you can link the C code in step 2 into your .exe file is that "
"calling the initialization function is equivalent to importing the module "
"into Python! (This is the second key undocumented fact.)"
msgstr ""
#: ../Doc/faq/windows.rst:243
#: ../Doc/faq/windows.rst:255
msgid ""
"In short, you can use the following code to initialize the Python "
"interpreter with your extension module."
msgstr ""
#: ../Doc/faq/windows.rst:254
#: ../Doc/faq/windows.rst:266
msgid ""
"There are two problems with Python's C API which will become apparent if you "
"use a compiler other than MSVC, the compiler used to build pythonNN.dll."
msgstr ""
#: ../Doc/faq/windows.rst:257
#: ../Doc/faq/windows.rst:269
msgid ""
"Problem 1: The so-called \"Very High Level\" functions that take FILE * "
"arguments will not work in a multi-compiler environment because each "
@ -366,27 +369,27 @@ msgid ""
"implementation standpoint these are very _low_ level functions."
msgstr ""
#: ../Doc/faq/windows.rst:262
#: ../Doc/faq/windows.rst:274
msgid ""
"Problem 2: SWIG generates the following code when generating wrappers to "
"void functions:"
msgstr ""
#: ../Doc/faq/windows.rst:271
#: ../Doc/faq/windows.rst:283
msgid ""
"Alas, Py_None is a macro that expands to a reference to a complex data "
"structure called _Py_NoneStruct inside pythonNN.dll. Again, this code will "
"fail in a mult-compiler environment. Replace such code by:"
msgstr ""
#: ../Doc/faq/windows.rst:279
#: ../Doc/faq/windows.rst:291
msgid ""
"It may be possible to use SWIG's ``%typemap`` command to make the change "
"automatically, though I have not been able to get this to work (I'm a "
"complete SWIG newbie)."
msgstr ""
#: ../Doc/faq/windows.rst:283
#: ../Doc/faq/windows.rst:295
msgid ""
"Using a Python shell script to put up a Python interpreter window from "
"inside your Windows app is not a good idea; the resulting window will be "
@ -398,18 +401,18 @@ msgid ""
"and write() methods."
msgstr ""
#: ../Doc/faq/windows.rst:292
#: ../Doc/faq/windows.rst:304
msgid "How do I keep editors from inserting tabs into my Python source?"
msgstr ""
#: ../Doc/faq/windows.rst:294
#: ../Doc/faq/windows.rst:306
msgid ""
"The FAQ does not recommend using tabs, and the Python style guide, :pep:`8`, "
"recommends 4 spaces for distributed Python code; this is also the Emacs "
"python-mode default."
msgstr ""
#: ../Doc/faq/windows.rst:298
#: ../Doc/faq/windows.rst:310
msgid ""
"Under any editor, mixing tabs and spaces is a bad idea. MSVC is no "
"different in this respect, and is easily configured to use spaces: Take :"
@ -418,35 +421,35 @@ msgid ""
"radio button."
msgstr ""
#: ../Doc/faq/windows.rst:303
#: ../Doc/faq/windows.rst:315
msgid ""
"Python raises :exc:`IndentationError` or :exc:`TabError` if mixed tabs and "
"spaces are causing problems in leading whitespace. You may also run the :mod:"
"`tabnanny` module to check a directory tree in batch mode."
msgstr ""
#: ../Doc/faq/windows.rst:310
#: ../Doc/faq/windows.rst:322
msgid "How do I check for a keypress without blocking?"
msgstr ""
#: ../Doc/faq/windows.rst:312
#: ../Doc/faq/windows.rst:324
msgid ""
"Use the msvcrt module. This is a standard Windows-specific extension "
"module. It defines a function ``kbhit()`` which checks whether a keyboard "
"hit is present, and ``getch()`` which gets one character without echoing it."
msgstr ""
#: ../Doc/faq/windows.rst:318
#: ../Doc/faq/windows.rst:330
msgid "How do I emulate os.kill() in Windows?"
msgstr ""
#: ../Doc/faq/windows.rst:320
#: ../Doc/faq/windows.rst:332
msgid ""
"Prior to Python 2.7 and 3.2, to terminate a process, you can use :mod:"
"`ctypes`::"
"`ctypes`:"
msgstr ""
#: ../Doc/faq/windows.rst:330
#: ../Doc/faq/windows.rst:344
msgid ""
"In 2.7 and 3.2, :func:`os.kill` is implemented similar to the above "
"function, with the additional feature of being able to send :kbd:`Ctrl+C` "
@ -454,18 +457,18 @@ msgid ""
"those signals. See :func:`os.kill` for further details."
msgstr ""
#: ../Doc/faq/windows.rst:336
#: ../Doc/faq/windows.rst:350
msgid "How do I extract the downloaded documentation on Windows?"
msgstr ""
#: ../Doc/faq/windows.rst:338
#: ../Doc/faq/windows.rst:352
msgid ""
"Sometimes, when you download the documentation package to a Windows machine "
"using a web browser, the file extension of the saved file ends up being ."
"EXE. This is a mistake; the extension should be .TGZ."
msgstr ""
#: ../Doc/faq/windows.rst:342
#: ../Doc/faq/windows.rst:356
msgid ""
"Simply rename the downloaded file to have the .TGZ extension, and WinZip "
"will be able to handle it. (If your copy of WinZip doesn't, get a newer one "

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -182,112 +182,112 @@ msgstr ""
msgid ""
"For a `--enable-shared` build of CPython, the markers are contained within "
"the libpython shared library, and the probe's dotted path needs to reflect "
"this. For example, this line from the above example::"
"this. For example, this line from the above example:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:261
msgid "should instead read::"
msgstr ""
#: ../Doc/howto/instrumentation.rst:265
msgid "(assuming a debug build of CPython 3.6)"
#: ../Doc/howto/instrumentation.rst:263
msgid "should instead read:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:269
msgid "(assuming a debug build of CPython 3.6)"
msgstr ""
#: ../Doc/howto/instrumentation.rst:273
msgid "Available static markers"
msgstr ""
#: ../Doc/howto/instrumentation.rst:275
#: ../Doc/howto/instrumentation.rst:279
msgid ""
"This marker indicates that execution of a Python function has begun. It is "
"only triggered for pure-Python (bytecode) functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:278
#: ../Doc/howto/instrumentation.rst:282
msgid ""
"The filename, function name, and line number are provided back to the "
"tracing script as positional arguments, which must be accessed using ``"
"$arg1``, ``$arg2``, ``$arg3``:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:282
#: ../Doc/howto/instrumentation.rst:286
msgid ""
"``$arg1`` : ``(const char *)`` filename, accessible using "
"``user_string($arg1)``"
msgstr ""
#: ../Doc/howto/instrumentation.rst:284
#: ../Doc/howto/instrumentation.rst:288
msgid ""
"``$arg2`` : ``(const char *)`` function name, accessible using "
"``user_string($arg2)``"
msgstr ""
#: ../Doc/howto/instrumentation.rst:287
#: ../Doc/howto/instrumentation.rst:291
msgid "``$arg3`` : ``int`` line number"
msgstr ""
#: ../Doc/howto/instrumentation.rst:291
#: ../Doc/howto/instrumentation.rst:295
msgid ""
"This marker is the converse of :c:func:`function__entry`, and indicates that "
"execution of a Python function has ended (either via ``return``, or via an "
"exception). It is only triggered for pure-Python (bytecode) functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:295
#: ../Doc/howto/instrumentation.rst:299
msgid "The arguments are the same as for :c:func:`function__entry`"
msgstr ""
#: ../Doc/howto/instrumentation.rst:299
#: ../Doc/howto/instrumentation.rst:303
msgid ""
"This marker indicates a Python line is about to be executed. It is the "
"equivalent of line-by-line tracing with a Python profiler. It is not "
"triggered within C functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:303
#: ../Doc/howto/instrumentation.rst:307
msgid "The arguments are the same as for :c:func:`function__entry`."
msgstr ""
#: ../Doc/howto/instrumentation.rst:307
#: ../Doc/howto/instrumentation.rst:311
msgid ""
"Fires when the Python interpreter starts a garbage collection cycle. "
"``arg0`` is the generation to scan, like :func:`gc.collect()`."
msgstr ""
#: ../Doc/howto/instrumentation.rst:312
#: ../Doc/howto/instrumentation.rst:316
msgid ""
"Fires when the Python interpreter finishes a garbage collection cycle. "
"``arg0`` is the number of collected objects."
msgstr ""
#: ../Doc/howto/instrumentation.rst:317
#: ../Doc/howto/instrumentation.rst:321
msgid "SystemTap Tapsets"
msgstr ""
#: ../Doc/howto/instrumentation.rst:319
#: ../Doc/howto/instrumentation.rst:323
msgid ""
"The higher-level way to use the SystemTap integration is to use a \"tapset"
"\": SystemTap's equivalent of a library, which hides some of the lower-level "
"details of the static markers."
msgstr ""
#: ../Doc/howto/instrumentation.rst:323
#: ../Doc/howto/instrumentation.rst:327
msgid "Here is a tapset file, based on a non-shared build of CPython:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:346
#: ../Doc/howto/instrumentation.rst:350
msgid ""
"If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/"
"systemtap/tapset``), then these additional probepoints become available:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:352
#: ../Doc/howto/instrumentation.rst:356
msgid ""
"This probe point indicates that execution of a Python function has begun. It "
"is only triggered for pure-python (bytecode) functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:357
#: ../Doc/howto/instrumentation.rst:361
msgid ""
"This probe point is the converse of :c:func:`python.function.return`, and "
"indicates that execution of a Python function has ended (either via "
@ -295,18 +295,18 @@ msgid ""
"(bytecode) functions."
msgstr ""
#: ../Doc/howto/instrumentation.rst:364
#: ../Doc/howto/instrumentation.rst:368
msgid "Examples"
msgstr "Exemples"
#: ../Doc/howto/instrumentation.rst:365
#: ../Doc/howto/instrumentation.rst:369
msgid ""
"This SystemTap script uses the tapset above to more cleanly implement the "
"example given above of tracing the Python function-call hierarchy, without "
"needing to directly name the static markers:"
msgstr ""
#: ../Doc/howto/instrumentation.rst:384
#: ../Doc/howto/instrumentation.rst:388
msgid ""
"The following script uses the tapset above to provide a top-like view of all "
"running CPython code, showing the top 20 most frequently-entered bytecode "

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-08 09:58+0100\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2017-08-10 00:58+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -619,12 +619,12 @@ msgid ""
msgstr ""
#: ../Doc/howto/regex.rst:359 ../Doc/howto/regex.rst:417
#: ../Doc/howto/regex.rst:1054
#: ../Doc/howto/regex.rst:1056
msgid "Method/Attribute"
msgstr ""
#: ../Doc/howto/regex.rst:359 ../Doc/howto/regex.rst:417
#: ../Doc/howto/regex.rst:1054
#: ../Doc/howto/regex.rst:1056
msgid "Purpose"
msgstr "Objectif"
@ -1166,17 +1166,17 @@ msgid ""
"matched or not. Regular expressions are often used to dissect strings by "
"writing a RE divided into several subgroups which match different components "
"of interest. For example, an RFC-822 header line is divided into a header "
"name and a value, separated by a ``':'``, like this::"
"name and a value, separated by a ``':'``, like this:"
msgstr ""
#: ../Doc/howto/regex.rst:796
#: ../Doc/howto/regex.rst:798
msgid ""
"This can be handled by writing a regular expression which matches an entire "
"header line, and has one group which matches the header name, and another "
"group which matches the header's value."
msgstr ""
#: ../Doc/howto/regex.rst:800
#: ../Doc/howto/regex.rst:802
msgid ""
"Groups are marked by the ``'('``, ``')'`` metacharacters. ``'('`` and "
"``')'`` have much the same meaning as they do in mathematical expressions; "
@ -1186,7 +1186,7 @@ msgid ""
"repetitions of ``ab``. ::"
msgstr ""
#: ../Doc/howto/regex.rst:811
#: ../Doc/howto/regex.rst:813
msgid ""
"Groups indicated with ``'('``, ``')'`` also capture the starting and ending "
"index of the text that they match; this can be retrieved by passing an "
@ -1198,27 +1198,27 @@ msgid ""
"they match. ::"
msgstr ""
#: ../Doc/howto/regex.rst:827
#: ../Doc/howto/regex.rst:829
msgid ""
"Subgroups are numbered from left to right, from 1 upward. Groups can be "
"nested; to determine the number, just count the opening parenthesis "
"characters, going from left to right. ::"
msgstr ""
#: ../Doc/howto/regex.rst:840
#: ../Doc/howto/regex.rst:842
msgid ""
":meth:`~re.match.group` can be passed multiple group numbers at a time, in "
"which case it will return a tuple containing the corresponding values for "
"those groups. ::"
msgstr ""
#: ../Doc/howto/regex.rst:846
#: ../Doc/howto/regex.rst:848
msgid ""
"The :meth:`~re.match.groups` method returns a tuple containing the strings "
"for all the subgroups, from 1 up to however many there are. ::"
msgstr ""
#: ../Doc/howto/regex.rst:852
#: ../Doc/howto/regex.rst:854
msgid ""
"Backreferences in a pattern allow you to specify that the contents of an "
"earlier capturing group must also be found at the current location in the "
@ -1229,11 +1229,11 @@ msgid ""
"when incorporating backreferences in a RE."
msgstr ""
#: ../Doc/howto/regex.rst:860
#: ../Doc/howto/regex.rst:862
msgid "For example, the following RE detects doubled words in a string. ::"
msgstr ""
#: ../Doc/howto/regex.rst:866
#: ../Doc/howto/regex.rst:868
msgid ""
"Backreferences like this aren't often useful for just searching through a "
"string --- there are few text formats which repeat data in this way --- but "
@ -1241,11 +1241,11 @@ msgid ""
"substitutions."
msgstr ""
#: ../Doc/howto/regex.rst:872
#: ../Doc/howto/regex.rst:874
msgid "Non-capturing and Named Groups"
msgstr ""
#: ../Doc/howto/regex.rst:874
#: ../Doc/howto/regex.rst:876
msgid ""
"Elaborate REs may use many groups, both to capture substrings of interest, "
"and to group and structure the RE itself. In complex REs, it becomes "
@ -1254,7 +1254,7 @@ msgid ""
"expression extensions, so we'll look at that first."
msgstr ""
#: ../Doc/howto/regex.rst:880
#: ../Doc/howto/regex.rst:882
msgid ""
"Perl 5 is well known for its powerful additions to standard regular "
"expressions. For these new features the Perl developers couldn't choose new "
@ -1265,7 +1265,7 @@ msgid ""
"wouldn't have escaped it by writing ``\\&`` or ``[&]``."
msgstr ""
#: ../Doc/howto/regex.rst:887
#: ../Doc/howto/regex.rst:889
msgid ""
"The solution chosen by the Perl developers was to use ``(?...)`` as the "
"extension syntax. ``?`` immediately after a parenthesis was a syntax error "
@ -1276,20 +1276,20 @@ msgid ""
"capturing group containing the subexpression ``foo``)."
msgstr ""
#: ../Doc/howto/regex.rst:895
#: ../Doc/howto/regex.rst:897
msgid ""
"Python supports several of Perl's extensions and adds an extension syntax to "
"Perl's extension syntax. If the first character after the question mark is "
"a ``P``, you know that it's an extension that's specific to Python."
msgstr ""
#: ../Doc/howto/regex.rst:900
#: ../Doc/howto/regex.rst:902
msgid ""
"Now that we've looked at the general extension syntax, we can return to the "
"features that simplify working with groups in complex REs."
msgstr ""
#: ../Doc/howto/regex.rst:903
#: ../Doc/howto/regex.rst:905
msgid ""
"Sometimes you'll want to use a group to denote a part of a regular "
"expression, but aren't interested in retrieving the group's contents. You "
@ -1297,7 +1297,7 @@ msgid ""
"where you can replace the ``...`` with any other regular expression. ::"
msgstr ""
#: ../Doc/howto/regex.rst:915
#: ../Doc/howto/regex.rst:917
msgid ""
"Except for the fact that you can't retrieve the contents of what the group "
"matched, a non-capturing group behaves exactly the same as a capturing "
@ -1310,13 +1310,13 @@ msgid ""
"groups; neither form is any faster than the other."
msgstr ""
#: ../Doc/howto/regex.rst:924
#: ../Doc/howto/regex.rst:926
msgid ""
"A more significant feature is named groups: instead of referring to them by "
"numbers, groups can be referenced by a name."
msgstr ""
#: ../Doc/howto/regex.rst:927
#: ../Doc/howto/regex.rst:929
msgid ""
"The syntax for a named group is one of the Python-specific extensions: ``(?"
"P<name>...)``. *name* is, obviously, the name of the group. Named groups "
@ -1328,20 +1328,20 @@ msgid ""
"ways::"
msgstr ""
#: ../Doc/howto/regex.rst:942
#: ../Doc/howto/regex.rst:944
msgid ""
"Named groups are handy because they let you use easily-remembered names, "
"instead of having to remember numbers. Here's an example RE from the :mod:"
"`imaplib` module::"
msgstr ""
#: ../Doc/howto/regex.rst:953
#: ../Doc/howto/regex.rst:955
msgid ""
"It's obviously much easier to retrieve ``m.group('zonem')``, instead of "
"having to remember to retrieve group 9."
msgstr ""
#: ../Doc/howto/regex.rst:956
#: ../Doc/howto/regex.rst:958
msgid ""
"The syntax for backreferences in an expression such as ``(...)\\1`` refers "
"to the number of the group. There's naturally a variant that uses the group "
@ -1352,22 +1352,22 @@ msgid ""
"+(?P=word)\\b``::"
msgstr ""
#: ../Doc/howto/regex.rst:969
#: ../Doc/howto/regex.rst:971
msgid "Lookahead Assertions"
msgstr ""
#: ../Doc/howto/regex.rst:971
#: ../Doc/howto/regex.rst:973
msgid ""
"Another zero-width assertion is the lookahead assertion. Lookahead "
"assertions are available in both positive and negative form, and look like "
"this:"
msgstr ""
#: ../Doc/howto/regex.rst:979
#: ../Doc/howto/regex.rst:981
msgid "``(?=...)``"
msgstr "``(?=...)``"
#: ../Doc/howto/regex.rst:975
#: ../Doc/howto/regex.rst:977
msgid ""
"Positive lookahead assertion. This succeeds if the contained regular "
"expression, represented here by ``...``, successfully matches at the current "
@ -1376,18 +1376,18 @@ msgid ""
"is tried right where the assertion started."
msgstr ""
#: ../Doc/howto/regex.rst:984
#: ../Doc/howto/regex.rst:986
msgid "``(?!...)``"
msgstr "``(?!...)``"
#: ../Doc/howto/regex.rst:982
#: ../Doc/howto/regex.rst:984
msgid ""
"Negative lookahead assertion. This is the opposite of the positive "
"assertion; it succeeds if the contained expression *doesn't* match at the "
"current position in the string."
msgstr ""
#: ../Doc/howto/regex.rst:986
#: ../Doc/howto/regex.rst:988
msgid ""
"To make this concrete, let's look at a case where a lookahead is useful. "
"Consider a simple pattern to match a filename and split it apart into a base "
@ -1395,15 +1395,15 @@ msgid ""
"``news`` is the base name, and ``rc`` is the filename's extension."
msgstr ""
#: ../Doc/howto/regex.rst:991
#: ../Doc/howto/regex.rst:993
msgid "The pattern to match this is quite simple:"
msgstr ""
#: ../Doc/howto/regex.rst:993
#: ../Doc/howto/regex.rst:995
msgid "``.*[.].*$``"
msgstr ""
#: ../Doc/howto/regex.rst:995
#: ../Doc/howto/regex.rst:997
msgid ""
"Notice that the ``.`` needs to be treated specially because it's a "
"metacharacter, so it's inside a character class to only match that specific "
@ -1413,24 +1413,24 @@ msgid ""
"``printers.conf``."
msgstr ""
#: ../Doc/howto/regex.rst:1002
#: ../Doc/howto/regex.rst:1004
msgid ""
"Now, consider complicating the problem a bit; what if you want to match "
"filenames where the extension is not ``bat``? Some incorrect attempts:"
msgstr ""
#: ../Doc/howto/regex.rst:1005
#: ../Doc/howto/regex.rst:1007
msgid ""
"``.*[.][^b].*$`` The first attempt above tries to exclude ``bat`` by "
"requiring that the first character of the extension is not a ``b``. This is "
"wrong, because the pattern also doesn't match ``foo.bar``."
msgstr ""
#: ../Doc/howto/regex.rst:1009
#: ../Doc/howto/regex.rst:1011
msgid "``.*[.]([^b]..|.[^a].|..[^t])$``"
msgstr ""
#: ../Doc/howto/regex.rst:1011
#: ../Doc/howto/regex.rst:1013
msgid ""
"The expression gets messier when you try to patch up the first solution by "
"requiring one of the following cases to match: the first character of the "
@ -1441,18 +1441,18 @@ msgid ""
"pattern again in an effort to fix it."
msgstr ""
#: ../Doc/howto/regex.rst:1019
#: ../Doc/howto/regex.rst:1021
msgid "``.*[.]([^b].?.?|.[^a]?.?|..?[^t]?)$``"
msgstr ""
#: ../Doc/howto/regex.rst:1021
#: ../Doc/howto/regex.rst:1023
msgid ""
"In the third attempt, the second and third letters are all made optional in "
"order to allow matching extensions shorter than three characters, such as "
"``sendmail.cf``."
msgstr ""
#: ../Doc/howto/regex.rst:1025
#: ../Doc/howto/regex.rst:1027
msgid ""
"The pattern's getting really complicated now, which makes it hard to read "
"and understand. Worse, if the problem changes and you want to exclude both "
@ -1460,11 +1460,11 @@ msgid ""
"complicated and confusing."
msgstr ""
#: ../Doc/howto/regex.rst:1030
#: ../Doc/howto/regex.rst:1032
msgid "A negative lookahead cuts through all this confusion:"
msgstr ""
#: ../Doc/howto/regex.rst:1032
#: ../Doc/howto/regex.rst:1034
msgid ""
"``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression "
"``bat`` doesn't match at this point, try the rest of the pattern; if ``bat"
@ -1474,61 +1474,61 @@ msgid ""
"pattern works when there are multiple dots in the filename."
msgstr ""
#: ../Doc/howto/regex.rst:1039
#: ../Doc/howto/regex.rst:1041
msgid ""
"Excluding another filename extension is now easy; simply add it as an "
"alternative inside the assertion. The following pattern excludes filenames "
"that end in either ``bat`` or ``exe``:"
msgstr ""
#: ../Doc/howto/regex.rst:1043
#: ../Doc/howto/regex.rst:1045
msgid "``.*[.](?!bat$|exe$)[^.]*$``"
msgstr ""
#: ../Doc/howto/regex.rst:1047
#: ../Doc/howto/regex.rst:1049
msgid "Modifying Strings"
msgstr ""
#: ../Doc/howto/regex.rst:1049
#: ../Doc/howto/regex.rst:1051
msgid ""
"Up to this point, we've simply performed searches against a static string. "
"Regular expressions are also commonly used to modify strings in various "
"ways, using the following pattern methods:"
msgstr ""
#: ../Doc/howto/regex.rst:1056
#: ../Doc/howto/regex.rst:1058
msgid "``split()``"
msgstr ""
#: ../Doc/howto/regex.rst:1056
#: ../Doc/howto/regex.rst:1058
msgid "Split the string into a list, splitting it wherever the RE matches"
msgstr ""
#: ../Doc/howto/regex.rst:1059
#: ../Doc/howto/regex.rst:1061
msgid "``sub()``"
msgstr ""
#: ../Doc/howto/regex.rst:1059
#: ../Doc/howto/regex.rst:1061
msgid ""
"Find all substrings where the RE matches, and replace them with a different "
"string"
msgstr ""
#: ../Doc/howto/regex.rst:1062
#: ../Doc/howto/regex.rst:1064
msgid "``subn()``"
msgstr ""
#: ../Doc/howto/regex.rst:1062
#: ../Doc/howto/regex.rst:1064
msgid ""
"Does the same thing as :meth:`!sub`, but returns the new string and the "
"number of replacements"
msgstr ""
#: ../Doc/howto/regex.rst:1069
#: ../Doc/howto/regex.rst:1071
msgid "Splitting Strings"
msgstr ""
#: ../Doc/howto/regex.rst:1071
#: ../Doc/howto/regex.rst:1073
msgid ""
"The :meth:`~re.pattern.split` method of a pattern splits a string apart "
"wherever the RE matches, returning a list of the pieces. It's similar to "
@ -1538,7 +1538,7 @@ msgid ""
"module-level :func:`re.split` function, too."
msgstr ""
#: ../Doc/howto/regex.rst:1082
#: ../Doc/howto/regex.rst:1084
msgid ""
"Split *string* by the matches of the regular expression. If capturing "
"parentheses are used in the RE, then their contents will also be returned as "
@ -1546,7 +1546,7 @@ msgid ""
"splits are performed."
msgstr ""
#: ../Doc/howto/regex.rst:1087
#: ../Doc/howto/regex.rst:1089
msgid ""
"You can limit the number of splits made, by passing a value for *maxsplit*. "
"When *maxsplit* is nonzero, at most *maxsplit* splits will be made, and the "
@ -1555,7 +1555,7 @@ msgid ""
"characters. ::"
msgstr ""
#: ../Doc/howto/regex.rst:1099
#: ../Doc/howto/regex.rst:1101
msgid ""
"Sometimes you're not only interested in what the text between delimiters is, "
"but also need to know what the delimiter was. If capturing parentheses are "
@ -1563,17 +1563,17 @@ msgid ""
"Compare the following calls::"
msgstr ""
#: ../Doc/howto/regex.rst:1111
#: ../Doc/howto/regex.rst:1113
msgid ""
"The module-level function :func:`re.split` adds the RE to be used as the "
"first argument, but is otherwise the same. ::"
msgstr ""
#: ../Doc/howto/regex.rst:1123
#: ../Doc/howto/regex.rst:1125
msgid "Search and Replace"
msgstr ""
#: ../Doc/howto/regex.rst:1125
#: ../Doc/howto/regex.rst:1127
msgid ""
"Another common task is to find all the matches for a pattern, and replace "
"them with a different string. The :meth:`~re.pattern.sub` method takes a "
@ -1581,40 +1581,40 @@ msgid ""
"string to be processed."
msgstr ""
#: ../Doc/howto/regex.rst:1132
#: ../Doc/howto/regex.rst:1134
msgid ""
"Returns the string obtained by replacing the leftmost non-overlapping "
"occurrences of the RE in *string* by the replacement *replacement*. If the "
"pattern isn't found, *string* is returned unchanged."
msgstr ""
#: ../Doc/howto/regex.rst:1136
#: ../Doc/howto/regex.rst:1138
msgid ""
"The optional argument *count* is the maximum number of pattern occurrences "
"to be replaced; *count* must be a non-negative integer. The default value "
"of 0 means to replace all occurrences."
msgstr ""
#: ../Doc/howto/regex.rst:1140
#: ../Doc/howto/regex.rst:1142
msgid ""
"Here's a simple example of using the :meth:`~re.pattern.sub` method. It "
"replaces colour names with the word ``colour``::"
msgstr ""
#: ../Doc/howto/regex.rst:1149
#: ../Doc/howto/regex.rst:1151
msgid ""
"The :meth:`~re.pattern.subn` method does the same work, but returns a 2-"
"tuple containing the new string value and the number of replacements that "
"were performed::"
msgstr ""
#: ../Doc/howto/regex.rst:1158
#: ../Doc/howto/regex.rst:1160
msgid ""
"Empty matches are replaced only when they're not adjacent to a previous "
"match. ::"
msgstr ""
#: ../Doc/howto/regex.rst:1165
#: ../Doc/howto/regex.rst:1167
msgid ""
"If *replacement* is a string, any backslash escapes in it are processed. "
"That is, ``\\n`` is converted to a single newline character, ``\\r`` is "
@ -1625,13 +1625,13 @@ msgid ""
"string."
msgstr ""
#: ../Doc/howto/regex.rst:1172
#: ../Doc/howto/regex.rst:1174
msgid ""
"This example matches the word ``section`` followed by a string enclosed in "
"``{``, ``}``, and changes ``section`` to ``subsection``::"
msgstr ""
#: ../Doc/howto/regex.rst:1179
#: ../Doc/howto/regex.rst:1181
msgid ""
"There's also a syntax for referring to named groups as defined by the ``(?"
"P<name>...)`` syntax. ``\\g<name>`` will use the substring matched by the "
@ -1643,7 +1643,7 @@ msgid ""
"but use all three variations of the replacement string. ::"
msgstr ""
#: ../Doc/howto/regex.rst:1196
#: ../Doc/howto/regex.rst:1198
msgid ""
"*replacement* can also be a function, which gives you even more control. If "
"*replacement* is a function, the function is called for every non-"
@ -1652,13 +1652,13 @@ msgid ""
"this information to compute the desired replacement string and return it."
msgstr ""
#: ../Doc/howto/regex.rst:1202
#: ../Doc/howto/regex.rst:1204
msgid ""
"In the following example, the replacement function translates decimals into "
"hexadecimal::"
msgstr ""
#: ../Doc/howto/regex.rst:1214
#: ../Doc/howto/regex.rst:1216
msgid ""
"When using the module-level :func:`re.sub` function, the pattern is passed "
"as the first argument. The pattern may be provided as an object or as a "
@ -1668,11 +1668,11 @@ msgid ""
"x'``."
msgstr ""
#: ../Doc/howto/regex.rst:1222
#: ../Doc/howto/regex.rst:1224
msgid "Common Problems"
msgstr ""
#: ../Doc/howto/regex.rst:1224
#: ../Doc/howto/regex.rst:1226
msgid ""
"Regular expressions are a powerful tool for some applications, but in some "
"ways their behaviour isn't intuitive and at times they don't behave the way "
@ -1680,11 +1680,11 @@ msgid ""
"pitfalls."
msgstr ""
#: ../Doc/howto/regex.rst:1230
#: ../Doc/howto/regex.rst:1232
msgid "Use String Methods"
msgstr ""
#: ../Doc/howto/regex.rst:1232
#: ../Doc/howto/regex.rst:1234
msgid ""
"Sometimes using the :mod:`re` module is a mistake. If you're matching a "
"fixed string, or a single character class, and you're not using any :mod:"
@ -1696,7 +1696,7 @@ msgid ""
"engine."
msgstr ""
#: ../Doc/howto/regex.rst:1240
#: ../Doc/howto/regex.rst:1242
msgid ""
"One example might be replacing a single fixed string with another one; for "
"example, you might replace ``word`` with ``deed``. :func:`re.sub` seems "
@ -1709,7 +1709,7 @@ msgid ""
"meth:`!replace`'s abilities.)"
msgstr ""
#: ../Doc/howto/regex.rst:1249
#: ../Doc/howto/regex.rst:1251
msgid ""
"Another common task is deleting every occurrence of a single character from "
"a string or replacing it with another single character. You might do this "
@ -1718,17 +1718,17 @@ msgid ""
"operation can be."
msgstr ""
#: ../Doc/howto/regex.rst:1255
#: ../Doc/howto/regex.rst:1257
msgid ""
"In short, before turning to the :mod:`re` module, consider whether your "
"problem can be solved with a faster and simpler string method."
msgstr ""
#: ../Doc/howto/regex.rst:1260
#: ../Doc/howto/regex.rst:1262
msgid "match() versus search()"
msgstr ""
#: ../Doc/howto/regex.rst:1262
#: ../Doc/howto/regex.rst:1264
msgid ""
"The :func:`~re.match` function only checks if the RE matches at the "
"beginning of the string while :func:`~re.search` will scan forward through "
@ -1738,13 +1738,13 @@ msgid ""
"report it. ::"
msgstr ""
#: ../Doc/howto/regex.rst:1273
#: ../Doc/howto/regex.rst:1275
msgid ""
"On the other hand, :func:`~re.search` will scan forward through the string, "
"reporting the first match it finds. ::"
msgstr ""
#: ../Doc/howto/regex.rst:1281
#: ../Doc/howto/regex.rst:1283
msgid ""
"Sometimes you'll be tempted to keep using :func:`re.match`, and just add ``."
"*`` to the front of your RE. Resist this temptation and use :func:`re."
@ -1756,18 +1756,18 @@ msgid ""
"starting character, only trying the full match if a ``'C'`` is found."
msgstr ""
#: ../Doc/howto/regex.rst:1290
#: ../Doc/howto/regex.rst:1292
msgid ""
"Adding ``.*`` defeats this optimization, requiring scanning to the end of "
"the string and then backtracking to find a match for the rest of the RE. "
"Use :func:`re.search` instead."
msgstr ""
#: ../Doc/howto/regex.rst:1296
#: ../Doc/howto/regex.rst:1298
msgid "Greedy versus Non-Greedy"
msgstr ""
#: ../Doc/howto/regex.rst:1298
#: ../Doc/howto/regex.rst:1300
msgid ""
"When repeating a regular expression, as in ``a*``, the resulting action is "
"to consume as much of the pattern as possible. This fact often bites you "
@ -1776,7 +1776,7 @@ msgid ""
"HTML tag doesn't work because of the greedy nature of ``.*``. ::"
msgstr ""
#: ../Doc/howto/regex.rst:1312
#: ../Doc/howto/regex.rst:1314
msgid ""
"The RE matches the ``'<'`` in ``'<html>'``, and the ``.*`` consumes the rest "
"of the string. There's still more left in the RE, though, and the ``>`` "
@ -1786,7 +1786,7 @@ msgid ""
"``'</title>'``, which isn't what you want."
msgstr ""
#: ../Doc/howto/regex.rst:1319
#: ../Doc/howto/regex.rst:1321
msgid ""
"In this case, the solution is to use the non-greedy qualifiers ``*?``, ``+?"
"``, ``??``, or ``{m,n}?``, which match as *little* text as possible. In the "
@ -1795,7 +1795,7 @@ msgid ""
"retrying the ``'>'`` at every step. This produces just the right result::"
msgstr ""
#: ../Doc/howto/regex.rst:1328
#: ../Doc/howto/regex.rst:1330
msgid ""
"(Note that parsing HTML or XML with regular expressions is painful. Quick-"
"and-dirty patterns will handle common cases, but HTML and XML have special "
@ -1805,11 +1805,11 @@ msgid ""
"such tasks.)"
msgstr ""
#: ../Doc/howto/regex.rst:1336
#: ../Doc/howto/regex.rst:1338
msgid "Using re.VERBOSE"
msgstr ""
#: ../Doc/howto/regex.rst:1338
#: ../Doc/howto/regex.rst:1340
msgid ""
"By now you've probably noticed that regular expressions are a very compact "
"notation, but they're not terribly readable. REs of moderate complexity can "
@ -1817,14 +1817,14 @@ msgid ""
"making them difficult to read and understand."
msgstr ""
#: ../Doc/howto/regex.rst:1343
#: ../Doc/howto/regex.rst:1345
msgid ""
"For such REs, specifying the :const:`re.VERBOSE` flag when compiling the "
"regular expression can be helpful, because it allows you to format the "
"regular expression more clearly."
msgstr ""
#: ../Doc/howto/regex.rst:1347
#: ../Doc/howto/regex.rst:1349
msgid ""
"The ``re.VERBOSE`` flag has several effects. Whitespace in the regular "
"expression that *isn't* inside a character class is ignored. This means "
@ -1835,15 +1835,15 @@ msgid ""
"quoted strings, this enables REs to be formatted more neatly::"
msgstr ""
#: ../Doc/howto/regex.rst:1364
#: ../Doc/howto/regex.rst:1366
msgid "This is far more readable than::"
msgstr ""
#: ../Doc/howto/regex.rst:1370
#: ../Doc/howto/regex.rst:1372
msgid "Feedback"
msgstr ""
#: ../Doc/howto/regex.rst:1372
#: ../Doc/howto/regex.rst:1374
msgid ""
"Regular expressions are a complicated topic. Did this document help you "
"understand them? Were there parts that were unclear, or Problems you "
@ -1851,7 +1851,7 @@ msgid ""
"improvements to the author."
msgstr ""
#: ../Doc/howto/regex.rst:1377
#: ../Doc/howto/regex.rst:1379
msgid ""
"The most complete book on regular expressions is almost certainly Jeffrey "
"Friedl's Mastering Regular Expressions, published by O'Reilly. "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -65,16 +65,16 @@ msgstr ""
msgid ""
"For a while people just wrote programs that didn't display accents. In the "
"mid-1980s an Apple II BASIC program written by a French speaker might have "
"lines like these::"
"lines like these:"
msgstr ""
#: ../Doc/howto/unicode.rst:38
#: ../Doc/howto/unicode.rst:40
msgid ""
"Those messages should contain accents (terminée, paramètre, enregistrés) and "
"they just look wrong to someone who can read French."
msgstr ""
#: ../Doc/howto/unicode.rst:41
#: ../Doc/howto/unicode.rst:43
msgid ""
"In the 1980s, almost all personal computers were 8-bit, meaning that bytes "
"could hold values ranging from 0 to 255. ASCII codes only went up to 127, "
@ -87,7 +87,7 @@ msgid ""
"catch on."
msgstr ""
#: ../Doc/howto/unicode.rst:50
#: ../Doc/howto/unicode.rst:52
msgid ""
"255 characters aren't very many. For example, you can't fit both the "
"accented characters used in Western Europe and the Cyrillic alphabet used "
@ -95,7 +95,7 @@ msgid ""
"characters."
msgstr ""
#: ../Doc/howto/unicode.rst:54
#: ../Doc/howto/unicode.rst:56
msgid ""
"You could write files using different codes (all your Russian files in a "
"coding system called KOI8, all your French files in a different coding "
@ -104,7 +104,7 @@ msgid ""
"this problem, and the Unicode standardization effort began."
msgstr ""
#: ../Doc/howto/unicode.rst:60
#: ../Doc/howto/unicode.rst:62
msgid ""
"Unicode started out using 16-bit characters instead of 8-bit characters. 16 "
"bits means you have 2^16 = 65,536 distinct values available, making it "
@ -115,14 +115,14 @@ msgid ""
"codes, 0 through 1,114,111 ( ``0x10FFFF`` in base 16)."
msgstr ""
#: ../Doc/howto/unicode.rst:68
#: ../Doc/howto/unicode.rst:70
msgid ""
"There's a related ISO standard, ISO 10646. Unicode and ISO 10646 were "
"originally separate efforts, but the specifications were merged with the 1.1 "
"revision of Unicode."
msgstr ""
#: ../Doc/howto/unicode.rst:72
#: ../Doc/howto/unicode.rst:74
msgid ""
"(This discussion of Unicode's history is highly simplified. The precise "
"historical details aren't necessary for understanding how to use Unicode "
@ -131,11 +131,11 @@ msgid ""
"wikipedia.org/wiki/Unicode#History>`_ for more information.)"
msgstr ""
#: ../Doc/howto/unicode.rst:81
#: ../Doc/howto/unicode.rst:83
msgid "Definitions"
msgstr ""
#: ../Doc/howto/unicode.rst:83
#: ../Doc/howto/unicode.rst:85
msgid ""
"A **character** is the smallest possible component of a text. 'A', 'B', "
"'C', etc., are all different characters. So are 'È' and 'Í'. Characters "
@ -146,7 +146,7 @@ msgid ""
"different meanings."
msgstr ""
#: ../Doc/howto/unicode.rst:91
#: ../Doc/howto/unicode.rst:93
msgid ""
"The Unicode standard describes how characters are represented by **code "
"points**. A code point is an integer value, usually denoted in base 16. In "
@ -156,7 +156,7 @@ msgid ""
"points:"
msgstr ""
#: ../Doc/howto/unicode.rst:105
#: ../Doc/howto/unicode.rst:107
msgid ""
"Strictly, these definitions imply that it's meaningless to say 'this is "
"character ``U+12CA``'. ``U+12CA`` is a code point, which represents some "
@ -165,7 +165,7 @@ msgid ""
"and characters will sometimes be forgotten."
msgstr ""
#: ../Doc/howto/unicode.rst:111
#: ../Doc/howto/unicode.rst:113
msgid ""
"A character is represented on a screen or on paper by a set of graphical "
"elements that's called a **glyph**. The glyph for an uppercase A, for "
@ -175,11 +175,11 @@ msgid ""
"generally the job of a GUI toolkit or a terminal's font renderer."
msgstr ""
#: ../Doc/howto/unicode.rst:120
#: ../Doc/howto/unicode.rst:122
msgid "Encodings"
msgstr ""
#: ../Doc/howto/unicode.rst:122
#: ../Doc/howto/unicode.rst:124
msgid ""
"To summarize the previous section: a Unicode string is a sequence of code "
"points, which are numbers from 0 through ``0x10FFFF`` (1,114,111 decimal). "
@ -188,23 +188,23 @@ msgid ""
"into a sequence of bytes are called an **encoding**."
msgstr ""
#: ../Doc/howto/unicode.rst:128
#: ../Doc/howto/unicode.rst:130
msgid ""
"The first encoding you might think of is an array of 32-bit integers. In "
"this representation, the string \"Python\" would look like this:"
msgstr ""
#: ../Doc/howto/unicode.rst:137
#: ../Doc/howto/unicode.rst:139
msgid ""
"This representation is straightforward but using it presents a number of "
"problems."
msgstr ""
#: ../Doc/howto/unicode.rst:140
#: ../Doc/howto/unicode.rst:142
msgid "It's not portable; different processors order the bytes differently."
msgstr ""
#: ../Doc/howto/unicode.rst:142
#: ../Doc/howto/unicode.rst:144
msgid ""
"It's very wasteful of space. In most texts, the majority of the code points "
"are less than 127, or less than 255, so a lot of space is occupied by "
@ -215,46 +215,46 @@ msgid ""
"factor of 4 is intolerable."
msgstr ""
#: ../Doc/howto/unicode.rst:150
#: ../Doc/howto/unicode.rst:152
msgid ""
"It's not compatible with existing C functions such as ``strlen()``, so a new "
"family of wide string functions would need to be used."
msgstr ""
#: ../Doc/howto/unicode.rst:153
#: ../Doc/howto/unicode.rst:155
msgid ""
"Many Internet standards are defined in terms of textual data, and can't "
"handle content with embedded zero bytes."
msgstr ""
#: ../Doc/howto/unicode.rst:156
#: ../Doc/howto/unicode.rst:158
msgid ""
"Generally people don't use this encoding, instead choosing other encodings "
"that are more efficient and convenient. UTF-8 is probably the most commonly "
"supported encoding; it will be discussed below."
msgstr ""
#: ../Doc/howto/unicode.rst:160
#: ../Doc/howto/unicode.rst:162
msgid ""
"Encodings don't have to handle every possible Unicode character, and most "
"encodings don't. The rules for converting a Unicode string into the ASCII "
"encoding, for example, are simple; for each code point:"
msgstr ""
#: ../Doc/howto/unicode.rst:164
#: ../Doc/howto/unicode.rst:166
msgid ""
"If the code point is < 128, each byte is the same as the value of the code "
"point."
msgstr ""
#: ../Doc/howto/unicode.rst:167
#: ../Doc/howto/unicode.rst:169
msgid ""
"If the code point is 128 or greater, the Unicode string can't be represented "
"in this encoding. (Python raises a :exc:`UnicodeEncodeError` exception in "
"this case.)"
msgstr ""
#: ../Doc/howto/unicode.rst:171
#: ../Doc/howto/unicode.rst:173
msgid ""
"Latin-1, also known as ISO-8859-1, is a similar encoding. Unicode code "
"points 0--255 are identical to the Latin-1 values, so converting to this "
@ -263,7 +263,7 @@ msgid ""
"Latin-1."
msgstr ""
#: ../Doc/howto/unicode.rst:176
#: ../Doc/howto/unicode.rst:178
msgid ""
"Encodings don't have to be simple one-to-one mappings like Latin-1. "
"Consider IBM's EBCDIC, which was used on IBM mainframes. Letter values "
@ -273,7 +273,7 @@ msgid ""
"conversion, but this is largely an internal detail."
msgstr ""
#: ../Doc/howto/unicode.rst:183
#: ../Doc/howto/unicode.rst:185
msgid ""
"UTF-8 is one of the most commonly used encodings. UTF stands for \"Unicode "
"Transformation Format\", and the '8' means that 8-bit numbers are used in "
@ -281,26 +281,26 @@ msgid ""
"less frequently used than UTF-8.) UTF-8 uses the following rules:"
msgstr ""
#: ../Doc/howto/unicode.rst:188
#: ../Doc/howto/unicode.rst:190
msgid ""
"If the code point is < 128, it's represented by the corresponding byte value."
msgstr ""
#: ../Doc/howto/unicode.rst:189
#: ../Doc/howto/unicode.rst:191
msgid ""
"If the code point is >= 128, it's turned into a sequence of two, three, or "
"four bytes, where each byte of the sequence is between 128 and 255."
msgstr ""
#: ../Doc/howto/unicode.rst:192
#: ../Doc/howto/unicode.rst:194
msgid "UTF-8 has several convenient properties:"
msgstr ""
#: ../Doc/howto/unicode.rst:194
#: ../Doc/howto/unicode.rst:196
msgid "It can handle any Unicode code point."
msgstr ""
#: ../Doc/howto/unicode.rst:195
#: ../Doc/howto/unicode.rst:197
msgid ""
"A Unicode string is turned into a sequence of bytes containing no embedded "
"zero bytes. This avoids byte-ordering issues, and means UTF-8 strings can "
@ -308,29 +308,29 @@ msgid ""
"that can't handle zero bytes."
msgstr ""
#: ../Doc/howto/unicode.rst:199
#: ../Doc/howto/unicode.rst:201
msgid "A string of ASCII text is also valid UTF-8 text."
msgstr ""
#: ../Doc/howto/unicode.rst:200
#: ../Doc/howto/unicode.rst:202
msgid ""
"UTF-8 is fairly compact; the majority of commonly used characters can be "
"represented with one or two bytes."
msgstr ""
#: ../Doc/howto/unicode.rst:202
#: ../Doc/howto/unicode.rst:204
msgid ""
"If bytes are corrupted or lost, it's possible to determine the start of the "
"next UTF-8-encoded code point and resynchronize. It's also unlikely that "
"random 8-bit data will look like valid UTF-8."
msgstr ""
#: ../Doc/howto/unicode.rst:209 ../Doc/howto/unicode.rst:483
#: ../Doc/howto/unicode.rst:703
#: ../Doc/howto/unicode.rst:211 ../Doc/howto/unicode.rst:485
#: ../Doc/howto/unicode.rst:705
msgid "References"
msgstr ""
#: ../Doc/howto/unicode.rst:211
#: ../Doc/howto/unicode.rst:213
msgid ""
"The `Unicode Consortium site <http://www.unicode.org>`_ has character "
"charts, a glossary, and PDF versions of the Unicode specification. Be "
@ -339,14 +339,14 @@ msgid ""
"the site."
msgstr ""
#: ../Doc/howto/unicode.rst:216
#: ../Doc/howto/unicode.rst:218
msgid ""
"To help understand the standard, Jukka Korpela has written `an introductory "
"guide <https://www.cs.tut.fi/~jkorpela/unicode/guide.html>`_ to reading the "
"Unicode character tables."
msgstr ""
#: ../Doc/howto/unicode.rst:220
#: ../Doc/howto/unicode.rst:222
msgid ""
"Another `good introductory article <http://www.joelonsoftware.com/articles/"
"Unicode.html>`_ was written by Joel Spolsky. If this introduction didn't "
@ -354,28 +354,28 @@ msgid ""
"before continuing."
msgstr ""
#: ../Doc/howto/unicode.rst:225
#: ../Doc/howto/unicode.rst:227
msgid ""
"Wikipedia entries are often helpful; see the entries for \"`character "
"encoding <https://en.wikipedia.org/wiki/Character_encoding>`_\" and `UTF-8 "
"<https://en.wikipedia.org/wiki/UTF-8>`_, for example."
msgstr ""
#: ../Doc/howto/unicode.rst:231
#: ../Doc/howto/unicode.rst:233
msgid "Python's Unicode Support"
msgstr ""
#: ../Doc/howto/unicode.rst:233
#: ../Doc/howto/unicode.rst:235
msgid ""
"Now that you've learned the rudiments of Unicode, we can look at Python's "
"Unicode features."
msgstr ""
#: ../Doc/howto/unicode.rst:237
#: ../Doc/howto/unicode.rst:239
msgid "The String Type"
msgstr ""
#: ../Doc/howto/unicode.rst:239
#: ../Doc/howto/unicode.rst:241
msgid ""
"Since Python 3.0, the language features a :class:`str` type that contain "
"Unicode characters, meaning any string created using ``\"unicode rocks!\"``, "
@ -383,24 +383,24 @@ msgid ""
"Unicode."
msgstr ""
#: ../Doc/howto/unicode.rst:243
#: ../Doc/howto/unicode.rst:245
msgid ""
"The default encoding for Python source code is UTF-8, so you can simply "
"include a Unicode character in a string literal::"
msgstr ""
#: ../Doc/howto/unicode.rst:253
#: ../Doc/howto/unicode.rst:255
msgid ""
"You can use a different encoding from UTF-8 by putting a specially-formatted "
"comment as the first or second line of the source code::"
msgstr ""
#: ../Doc/howto/unicode.rst:258
#: ../Doc/howto/unicode.rst:260
msgid ""
"Side note: Python 3 also supports using Unicode characters in identifiers::"
msgstr ""
#: ../Doc/howto/unicode.rst:264
#: ../Doc/howto/unicode.rst:266
msgid ""
"If you can't enter a particular character in your editor or want to keep the "
"source code ASCII-only for some reason, you can also use escape sequences in "
@ -408,14 +408,14 @@ msgid ""
"delta glyph instead of a \\u escape.) ::"
msgstr ""
#: ../Doc/howto/unicode.rst:276
#: ../Doc/howto/unicode.rst:278
msgid ""
"In addition, one can create a string using the :func:`~bytes.decode` method "
"of :class:`bytes`. This method takes an *encoding* argument, such as "
"``UTF-8``, and optionally an *errors* argument."
msgstr ""
#: ../Doc/howto/unicode.rst:280
#: ../Doc/howto/unicode.rst:282
msgid ""
"The *errors* argument specifies the response when the input string can't be "
"converted according to the encoding's rules. Legal values for this argument "
@ -426,7 +426,7 @@ msgid ""
"examples show the differences::"
msgstr ""
#: ../Doc/howto/unicode.rst:300
#: ../Doc/howto/unicode.rst:302
msgid ""
"Encodings are specified as strings containing the encoding's name. Python "
"3.2 comes with roughly 100 different encodings; see the Python Library "
@ -435,7 +435,7 @@ msgid ""
"are all synonyms for the same encoding."
msgstr ""
#: ../Doc/howto/unicode.rst:306
#: ../Doc/howto/unicode.rst:308
msgid ""
"One-character Unicode strings can also be created with the :func:`chr` built-"
"in function, which takes integers and returns a Unicode string of length 1 "
@ -444,18 +444,18 @@ msgid ""
"returns the code point value::"
msgstr ""
#: ../Doc/howto/unicode.rst:318
#: ../Doc/howto/unicode.rst:320
msgid "Converting to Bytes"
msgstr ""
#: ../Doc/howto/unicode.rst:320
#: ../Doc/howto/unicode.rst:322
msgid ""
"The opposite method of :meth:`bytes.decode` is :meth:`str.encode`, which "
"returns a :class:`bytes` representation of the Unicode string, encoded in "
"the requested *encoding*."
msgstr ""
#: ../Doc/howto/unicode.rst:324
#: ../Doc/howto/unicode.rst:326
msgid ""
"The *errors* parameter is the same as the parameter of the :meth:`~bytes."
"decode` method but supports a few more possible handlers. As well as "
@ -466,11 +466,11 @@ msgid ""
"``namereplace`` (inserts a ``\\N{...}`` escape sequence)."
msgstr ""
#: ../Doc/howto/unicode.rst:332
#: ../Doc/howto/unicode.rst:334
msgid "The following example shows the different results::"
msgstr ""
#: ../Doc/howto/unicode.rst:353
#: ../Doc/howto/unicode.rst:355
msgid ""
"The low-level routines for registering and accessing the available encodings "
"are found in the :mod:`codecs` module. Implementing new encodings also "
@ -480,11 +480,11 @@ msgid ""
"module won't be covered in this HOWTO."
msgstr ""
#: ../Doc/howto/unicode.rst:362
#: ../Doc/howto/unicode.rst:364
msgid "Unicode Literals in Python Source Code"
msgstr ""
#: ../Doc/howto/unicode.rst:364
#: ../Doc/howto/unicode.rst:366
msgid ""
"In Python source code, specific Unicode code points can be written using the "
"``\\u`` escape sequence, which is followed by four hex digits giving the "
@ -492,7 +492,7 @@ msgid ""
"digits, not four::"
msgstr ""
#: ../Doc/howto/unicode.rst:376
#: ../Doc/howto/unicode.rst:378
msgid ""
"Using escape sequences for code points greater than 127 is fine in small "
"doses, but becomes an annoyance if you're using many accented characters, as "
@ -501,7 +501,7 @@ msgid ""
"function, but this is even more tedious."
msgstr ""
#: ../Doc/howto/unicode.rst:382
#: ../Doc/howto/unicode.rst:384
msgid ""
"Ideally, you'd want to be able to write literals in your language's natural "
"encoding. You could then edit Python source code with your favorite editor "
@ -509,7 +509,7 @@ msgid ""
"characters used at runtime."
msgstr ""
#: ../Doc/howto/unicode.rst:387
#: ../Doc/howto/unicode.rst:389
msgid ""
"Python supports writing source code in UTF-8 by default, but you can use "
"almost any encoding if you declare the encoding being used. This is done by "
@ -517,7 +517,7 @@ msgid ""
"file::"
msgstr ""
#: ../Doc/howto/unicode.rst:397
#: ../Doc/howto/unicode.rst:399
msgid ""
"The syntax is inspired by Emacs's notation for specifying variables local to "
"a file. Emacs supports many different variables, but Python only supports "
@ -526,17 +526,17 @@ msgid ""
"looks for ``coding: name`` or ``coding=name`` in the comment."
msgstr ""
#: ../Doc/howto/unicode.rst:403
#: ../Doc/howto/unicode.rst:405
msgid ""
"If you don't include such a comment, the default encoding used will be UTF-8 "
"as already mentioned. See also :pep:`263` for more information."
msgstr ""
#: ../Doc/howto/unicode.rst:408
#: ../Doc/howto/unicode.rst:410
msgid "Unicode Properties"
msgstr ""
#: ../Doc/howto/unicode.rst:410
#: ../Doc/howto/unicode.rst:412
msgid ""
"The Unicode specification includes a database of information about code "
"points. For each defined code point, the information includes the "
@ -546,17 +546,17 @@ msgid ""
"in bidirectional text and other display-related properties."
msgstr ""
#: ../Doc/howto/unicode.rst:417
#: ../Doc/howto/unicode.rst:419
msgid ""
"The following program displays some information about several characters, "
"and prints the numeric value of one particular character::"
msgstr ""
#: ../Doc/howto/unicode.rst:431
#: ../Doc/howto/unicode.rst:433
msgid "When run, this prints:"
msgstr ""
#: ../Doc/howto/unicode.rst:442
#: ../Doc/howto/unicode.rst:444
msgid ""
"The category codes are abbreviations describing the nature of the character. "
"These are grouped into categories such as \"Letter\", \"Number\", "
@ -569,11 +569,11 @@ msgid ""
"codes."
msgstr ""
#: ../Doc/howto/unicode.rst:453
#: ../Doc/howto/unicode.rst:455
msgid "Unicode Regular Expressions"
msgstr ""
#: ../Doc/howto/unicode.rst:455
#: ../Doc/howto/unicode.rst:457
msgid ""
"The regular expressions supported by the :mod:`re` module can be provided "
"either as bytes or strings. Some of the special character sequences such as "
@ -583,57 +583,57 @@ msgid ""
"in the ``'Nd'`` category."
msgstr ""
#: ../Doc/howto/unicode.rst:462
#: ../Doc/howto/unicode.rst:464
msgid ""
"The string in this example has the number 57 written in both Thai and Arabic "
"numerals::"
msgstr ""
#: ../Doc/howto/unicode.rst:472
#: ../Doc/howto/unicode.rst:474
msgid ""
"When executed, ``\\d+`` will match the Thai numerals and print them out. If "
"you supply the :const:`re.ASCII` flag to :func:`~re.compile`, ``\\d+`` will "
"match the substring \"57\" instead."
msgstr ""
#: ../Doc/howto/unicode.rst:476
#: ../Doc/howto/unicode.rst:478
msgid ""
"Similarly, ``\\w`` matches a wide variety of Unicode characters but only "
"``[a-zA-Z0-9_]`` in bytes or if :const:`re.ASCII` is supplied, and ``\\s`` "
"will match either Unicode whitespace characters or ``[ \\t\\n\\r\\f\\v]``."
msgstr ""
#: ../Doc/howto/unicode.rst:487
#: ../Doc/howto/unicode.rst:489
msgid "Some good alternative discussions of Python's Unicode support are:"
msgstr ""
#: ../Doc/howto/unicode.rst:489
#: ../Doc/howto/unicode.rst:491
msgid ""
"`Processing Text Files in Python 3 <http://python-notes.curiousefficiency."
"org/en/latest/python3/text_file_processing.html>`_, by Nick Coghlan."
msgstr ""
#: ../Doc/howto/unicode.rst:490
#: ../Doc/howto/unicode.rst:492
msgid ""
"`Pragmatic Unicode <http://nedbatchelder.com/text/unipain.html>`_, a PyCon "
"2012 presentation by Ned Batchelder."
msgstr ""
#: ../Doc/howto/unicode.rst:492
#: ../Doc/howto/unicode.rst:494
msgid ""
"The :class:`str` type is described in the Python library reference at :ref:"
"`textseq`."
msgstr ""
#: ../Doc/howto/unicode.rst:495
#: ../Doc/howto/unicode.rst:497
msgid "The documentation for the :mod:`unicodedata` module."
msgstr ""
#: ../Doc/howto/unicode.rst:497
#: ../Doc/howto/unicode.rst:499
msgid "The documentation for the :mod:`codecs` module."
msgstr ""
#: ../Doc/howto/unicode.rst:499
#: ../Doc/howto/unicode.rst:501
msgid ""
"Marc-André Lemburg gave `a presentation titled \"Python and Unicode\" (PDF "
"slides) <https://downloads.egenix.com/python/Unicode-EPC2002-Talk.pdf>`_ at "
@ -642,18 +642,18 @@ msgid ""
"``unicode`` and literals start with ``u``)."
msgstr ""
#: ../Doc/howto/unicode.rst:507
#: ../Doc/howto/unicode.rst:509
msgid "Reading and Writing Unicode Data"
msgstr ""
#: ../Doc/howto/unicode.rst:509
#: ../Doc/howto/unicode.rst:511
msgid ""
"Once you've written some code that works with Unicode data, the next problem "
"is input/output. How do you get Unicode strings into your program, and how "
"do you convert Unicode into a form suitable for storage or transmission?"
msgstr ""
#: ../Doc/howto/unicode.rst:513
#: ../Doc/howto/unicode.rst:515
msgid ""
"It's possible that you may not need to do anything depending on your input "
"sources and output destinations; you should check whether the libraries used "
@ -662,7 +662,7 @@ msgid ""
"valued columns and can return Unicode values from an SQL query."
msgstr ""
#: ../Doc/howto/unicode.rst:519
#: ../Doc/howto/unicode.rst:521
msgid ""
"Unicode data is usually converted to a particular encoding before it gets "
"written to disk or sent over a socket. It's possible to do all the work "
@ -671,7 +671,7 @@ msgid ""
"recommended."
msgstr ""
#: ../Doc/howto/unicode.rst:524
#: ../Doc/howto/unicode.rst:526
msgid ""
"One problem is the multi-byte nature of encodings; one Unicode character can "
"be represented by several bytes. If you want to read the file in arbitrary-"
@ -685,7 +685,7 @@ msgid ""
"version in memory.)"
msgstr ""
#: ../Doc/howto/unicode.rst:534
#: ../Doc/howto/unicode.rst:536
msgid ""
"The solution would be to use the low-level decoding interface to catch the "
"case of partial coding sequences. The work of implementing this has already "
@ -697,17 +697,17 @@ msgid ""
"meth:`str.encode` and :meth:`bytes.decode`."
msgstr ""
#: ../Doc/howto/unicode.rst:543
#: ../Doc/howto/unicode.rst:545
msgid "Reading Unicode from a file is therefore simple::"
msgstr ""
#: ../Doc/howto/unicode.rst:549
#: ../Doc/howto/unicode.rst:551
msgid ""
"It's also possible to open files in update mode, allowing both reading and "
"writing::"
msgstr ""
#: ../Doc/howto/unicode.rst:557
#: ../Doc/howto/unicode.rst:559
msgid ""
"The Unicode character ``U+FEFF`` is used as a byte-order mark (BOM), and is "
"often written as the first character of a file in order to assist with "
@ -720,7 +720,7 @@ msgid ""
"the BOM."
msgstr ""
#: ../Doc/howto/unicode.rst:566
#: ../Doc/howto/unicode.rst:568
msgid ""
"In some areas, it is also convention to use a \"BOM\" at the start of UTF-8 "
"encoded files; the name is misleading since UTF-8 is not byte-order "
@ -729,11 +729,11 @@ msgid ""
"such files."
msgstr ""
#: ../Doc/howto/unicode.rst:574
#: ../Doc/howto/unicode.rst:576
msgid "Unicode filenames"
msgstr ""
#: ../Doc/howto/unicode.rst:576
#: ../Doc/howto/unicode.rst:578
msgid ""
"Most of the operating systems in common use today support filenames that "
"contain arbitrary Unicode characters. Usually this is implemented by "
@ -745,7 +745,7 @@ msgid ""
"environment variables; if you haven't, the default encoding is UTF-8."
msgstr ""
#: ../Doc/howto/unicode.rst:585
#: ../Doc/howto/unicode.rst:587
msgid ""
"The :func:`sys.getfilesystemencoding` function returns the encoding to use "
"on your current system, in case you want to do the encoding manually, but "
@ -754,13 +754,13 @@ msgid ""
"and it will be automatically converted to the right encoding for you::"
msgstr ""
#: ../Doc/howto/unicode.rst:595
#: ../Doc/howto/unicode.rst:597
msgid ""
"Functions in the :mod:`os` module such as :func:`os.stat` will also accept "
"Unicode filenames."
msgstr ""
#: ../Doc/howto/unicode.rst:598
#: ../Doc/howto/unicode.rst:600
msgid ""
"The :func:`os.listdir` function returns filenames and raises an issue: "
"should it return the Unicode version of filenames, or should it return bytes "
@ -773,44 +773,44 @@ msgid ""
"program::"
msgstr ""
#: ../Doc/howto/unicode.rst:616
#: ../Doc/howto/unicode.rst:618
msgid "will produce the following output:"
msgstr ""
#: ../Doc/howto/unicode.rst:624
#: ../Doc/howto/unicode.rst:626
msgid ""
"The first list contains UTF-8-encoded filenames, and the second list "
"contains the Unicode versions."
msgstr ""
#: ../Doc/howto/unicode.rst:627
#: ../Doc/howto/unicode.rst:629
msgid ""
"Note that on most occasions, the Unicode APIs should be used. The bytes "
"APIs should only be used on systems where undecodable file names can be "
"present, i.e. Unix systems."
msgstr ""
#: ../Doc/howto/unicode.rst:633
#: ../Doc/howto/unicode.rst:635
msgid "Tips for Writing Unicode-aware Programs"
msgstr ""
#: ../Doc/howto/unicode.rst:635
#: ../Doc/howto/unicode.rst:637
msgid ""
"This section provides some suggestions on writing software that deals with "
"Unicode."
msgstr ""
#: ../Doc/howto/unicode.rst:638
#: ../Doc/howto/unicode.rst:640
msgid "The most important tip is:"
msgstr ""
#: ../Doc/howto/unicode.rst:640
#: ../Doc/howto/unicode.rst:642
msgid ""
"Software should only work with Unicode strings internally, decoding the "
"input data as soon as possible and encoding the output only at the end."
msgstr ""
#: ../Doc/howto/unicode.rst:643
#: ../Doc/howto/unicode.rst:645
msgid ""
"If you attempt to write processing functions that accept both Unicode and "
"byte strings, you will find your program vulnerable to bugs wherever you "
@ -819,7 +819,7 @@ msgid ""
"raised."
msgstr ""
#: ../Doc/howto/unicode.rst:648
#: ../Doc/howto/unicode.rst:650
msgid ""
"When using data coming from a web browser or some other untrusted source, a "
"common technique is to check for illegal characters in a string before using "
@ -831,28 +831,28 @@ msgid ""
"then choose a clever way to hide malicious text in the encoded bytestream."
msgstr ""
#: ../Doc/howto/unicode.rst:659
#: ../Doc/howto/unicode.rst:661
msgid "Converting Between File Encodings"
msgstr ""
#: ../Doc/howto/unicode.rst:661
#: ../Doc/howto/unicode.rst:663
msgid ""
"The :class:`~codecs.StreamRecoder` class can transparently convert between "
"encodings, taking a stream that returns data in encoding #1 and behaving "
"like a stream returning data in encoding #2."
msgstr ""
#: ../Doc/howto/unicode.rst:665
#: ../Doc/howto/unicode.rst:667
msgid ""
"For example, if you have an input file *f* that's in Latin-1, you can wrap "
"it with a :class:`~codecs.StreamRecoder` to return bytes encoded in UTF-8::"
msgstr ""
#: ../Doc/howto/unicode.rst:679
#: ../Doc/howto/unicode.rst:681
msgid "Files in an Unknown Encoding"
msgstr ""
#: ../Doc/howto/unicode.rst:681
#: ../Doc/howto/unicode.rst:683
msgid ""
"What can you do if you need to make a change to a file, but don't know the "
"file's encoding? If you know the encoding is ASCII-compatible and only want "
@ -860,7 +860,7 @@ msgid ""
"``surrogateescape`` error handler::"
msgstr ""
#: ../Doc/howto/unicode.rst:695
#: ../Doc/howto/unicode.rst:697
msgid ""
"The ``surrogateescape`` error handler will decode any non-ASCII bytes as "
"code points in the Unicode Private Use Area ranging from U+DC80 to U+DCFF. "
@ -869,14 +869,14 @@ msgid ""
"writing it back out."
msgstr ""
#: ../Doc/howto/unicode.rst:705
#: ../Doc/howto/unicode.rst:707
msgid ""
"One section of `Mastering Python 3 Input/Output <http://pyvideo.org/"
"video/289/pycon-2010--mastering-python-3-i-o>`_, a PyCon 2010 talk by David "
"Beazley, discusses text processing and binary data handling."
msgstr ""
#: ../Doc/howto/unicode.rst:709
#: ../Doc/howto/unicode.rst:711
msgid ""
"The `PDF slides for Marc-André Lemburg's presentation \"Writing Unicode-"
"aware Applications in Python\" <https://downloads.egenix.com/python/LSM2005-"
@ -885,25 +885,25 @@ msgid ""
"application. These slides cover Python 2.x only."
msgstr ""
#: ../Doc/howto/unicode.rst:715
#: ../Doc/howto/unicode.rst:717
msgid ""
"`The Guts of Unicode in Python <http://pyvideo.org/video/1768/the-guts-of-"
"unicode-in-python>`_ is a PyCon 2013 talk by Benjamin Peterson that "
"discusses the internal Unicode representation in Python 3.3."
msgstr ""
#: ../Doc/howto/unicode.rst:722
#: ../Doc/howto/unicode.rst:724
msgid "Acknowledgements"
msgstr "Remerciements"
#: ../Doc/howto/unicode.rst:724
#: ../Doc/howto/unicode.rst:726
msgid ""
"The initial draft of this document was written by Andrew Kuchling. It has "
"since been revised further by Alexander Belopolsky, Georg Brandl, Andrew "
"Kuchling, and Ezio Melotti."
msgstr ""
#: ../Doc/howto/unicode.rst:728
#: ../Doc/howto/unicode.rst:730
msgid ""
"Thanks to the following people who have noted errors or offered suggestions "
"on this article: Éric Araujo, Nicholas Bastin, Nick Coghlan, Marius "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -98,11 +98,11 @@ msgstr ""
#: ../Doc/howto/urllib2.rst:59
msgid ""
"If you wish to retrieve a resource via URL and store it in a temporary "
"location, you can do so via the :func:`~urllib.request.urlretrieve` "
"function::"
"location, you can do so via the :func:`shutil.copyfileobj` and :func:"
"`tempfile.NamedTemporaryFile` functions::"
msgstr ""
#: ../Doc/howto/urllib2.rst:66
#: ../Doc/howto/urllib2.rst:74
msgid ""
"Many uses of urllib will be that simple (note that instead of an 'http:' URL "
"we could have used a URL starting with 'ftp:', 'file:', etc.). However, "
@ -110,7 +110,7 @@ msgid ""
"concentrating on HTTP."
msgstr ""
#: ../Doc/howto/urllib2.rst:71
#: ../Doc/howto/urllib2.rst:79
msgid ""
"HTTP is based on requests and responses - the client makes requests and "
"servers send responses. urllib.request mirrors this with a ``Request`` "
@ -121,13 +121,13 @@ msgid ""
"for example call ``.read()`` on the response::"
msgstr ""
#: ../Doc/howto/urllib2.rst:85
#: ../Doc/howto/urllib2.rst:93
msgid ""
"Note that urllib.request makes use of the same Request interface to handle "
"all URL schemes. For example, you can make an FTP request like so::"
msgstr ""
#: ../Doc/howto/urllib2.rst:90
#: ../Doc/howto/urllib2.rst:98
msgid ""
"In the case of HTTP, there are two extra things that Request objects allow "
"you to do: First, you can pass data to be sent to the server. Second, you "
@ -136,11 +136,11 @@ msgid ""
"\". Let's look at each of these in turn."
msgstr ""
#: ../Doc/howto/urllib2.rst:97
#: ../Doc/howto/urllib2.rst:105
msgid "Data"
msgstr ""
#: ../Doc/howto/urllib2.rst:99
#: ../Doc/howto/urllib2.rst:107
msgid ""
"Sometimes you want to send data to a URL (often the URL will refer to a CGI "
"(Common Gateway Interface) script or other web application). With HTTP, this "
@ -153,14 +153,14 @@ msgid ""
"function from the :mod:`urllib.parse` library. ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:123
#: ../Doc/howto/urllib2.rst:131
msgid ""
"Note that other encodings are sometimes required (e.g. for file upload from "
"HTML forms - see `HTML Specification, Form Submission <https://www.w3.org/TR/"
"REC-html40/interact/forms.html#h-17.13>`_ for more details)."
msgstr ""
#: ../Doc/howto/urllib2.rst:128
#: ../Doc/howto/urllib2.rst:136
msgid ""
"If you do not pass the ``data`` argument, urllib uses a **GET** request. One "
"way in which GET and POST requests differ is that POST requests often have "
@ -173,27 +173,27 @@ msgid ""
"be passed in an HTTP GET request by encoding it in the URL itself."
msgstr ""
#: ../Doc/howto/urllib2.rst:138
#: ../Doc/howto/urllib2.rst:146
msgid "This is done as follows::"
msgstr ""
#: ../Doc/howto/urllib2.rst:153
#: ../Doc/howto/urllib2.rst:161
msgid ""
"Notice that the full URL is created by adding a ``?`` to the URL, followed "
"by the encoded values."
msgstr ""
#: ../Doc/howto/urllib2.rst:157
#: ../Doc/howto/urllib2.rst:165
msgid "Headers"
msgstr ""
#: ../Doc/howto/urllib2.rst:159
#: ../Doc/howto/urllib2.rst:167
msgid ""
"We'll discuss here one particular HTTP header, to illustrate how to add "
"headers to your HTTP request."
msgstr ""
#: ../Doc/howto/urllib2.rst:162
#: ../Doc/howto/urllib2.rst:170
msgid ""
"Some websites [#]_ dislike being browsed by programs, or send different "
"versions to different browsers [#]_. By default urllib identifies itself as "
@ -206,39 +206,39 @@ msgid ""
"Explorer [#]_. ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:189
#: ../Doc/howto/urllib2.rst:197
msgid ""
"The response also has two useful methods. See the section on `info and "
"geturl`_ which comes after we have a look at what happens when things go "
"wrong."
msgstr ""
#: ../Doc/howto/urllib2.rst:194
#: ../Doc/howto/urllib2.rst:202
msgid "Handling Exceptions"
msgstr "Gestion des exceptions"
#: ../Doc/howto/urllib2.rst:196
#: ../Doc/howto/urllib2.rst:204
msgid ""
"*urlopen* raises :exc:`URLError` when it cannot handle a response (though as "
"usual with Python APIs, built-in exceptions such as :exc:`ValueError`, :exc:"
"`TypeError` etc. may also be raised)."
msgstr ""
#: ../Doc/howto/urllib2.rst:200
#: ../Doc/howto/urllib2.rst:208
msgid ""
":exc:`HTTPError` is the subclass of :exc:`URLError` raised in the specific "
"case of HTTP URLs."
msgstr ""
#: ../Doc/howto/urllib2.rst:203
#: ../Doc/howto/urllib2.rst:211
msgid "The exception classes are exported from the :mod:`urllib.error` module."
msgstr ""
#: ../Doc/howto/urllib2.rst:206
#: ../Doc/howto/urllib2.rst:214
msgid "URLError"
msgstr ""
#: ../Doc/howto/urllib2.rst:208
#: ../Doc/howto/urllib2.rst:216
msgid ""
"Often, URLError is raised because there is no network connection (no route "
"to the specified server), or the specified server doesn't exist. In this "
@ -246,15 +246,15 @@ msgid ""
"containing an error code and a text error message."
msgstr ""
#: ../Doc/howto/urllib2.rst:213 ../Doc/howto/urllib2.rst:460
#: ../Doc/howto/urllib2.rst:221
msgid "e.g. ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:224
#: ../Doc/howto/urllib2.rst:232
msgid "HTTPError"
msgstr ""
#: ../Doc/howto/urllib2.rst:226
#: ../Doc/howto/urllib2.rst:234
msgid ""
"Every HTTP response from the server contains a numeric \"status code\". "
"Sometimes the status code indicates that the server is unable to fulfil the "
@ -266,35 +266,35 @@ msgid ""
"'401' (authentication required)."
msgstr ""
#: ../Doc/howto/urllib2.rst:234
#: ../Doc/howto/urllib2.rst:242
msgid "See section 10 of RFC 2616 for a reference on all the HTTP error codes."
msgstr ""
#: ../Doc/howto/urllib2.rst:236
#: ../Doc/howto/urllib2.rst:244
msgid ""
"The :exc:`HTTPError` instance raised will have an integer 'code' attribute, "
"which corresponds to the error sent by the server."
msgstr ""
#: ../Doc/howto/urllib2.rst:240
#: ../Doc/howto/urllib2.rst:248
msgid "Error Codes"
msgstr ""
#: ../Doc/howto/urllib2.rst:242
#: ../Doc/howto/urllib2.rst:250
msgid ""
"Because the default handlers handle redirects (codes in the 300 range), and "
"codes in the 100--299 range indicate success, you will usually only see "
"error codes in the 400--599 range."
msgstr ""
#: ../Doc/howto/urllib2.rst:246
#: ../Doc/howto/urllib2.rst:254
msgid ""
":attr:`http.server.BaseHTTPRequestHandler.responses` is a useful dictionary "
"of response codes in that shows all the response codes used by RFC 2616. The "
"dictionary is reproduced here for convenience ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:318
#: ../Doc/howto/urllib2.rst:326
msgid ""
"When an error is raised the server responds by returning an HTTP error code "
"*and* an error page. You can use the :exc:`HTTPError` instance as a response "
@ -303,42 +303,42 @@ msgid ""
"module::"
msgstr ""
#: ../Doc/howto/urllib2.rst:338
#: ../Doc/howto/urllib2.rst:346
msgid "Wrapping it Up"
msgstr ""
#: ../Doc/howto/urllib2.rst:340
#: ../Doc/howto/urllib2.rst:348
msgid ""
"So if you want to be prepared for :exc:`HTTPError` *or* :exc:`URLError` "
"there are two basic approaches. I prefer the second approach."
msgstr ""
#: ../Doc/howto/urllib2.rst:344
#: ../Doc/howto/urllib2.rst:352
msgid "Number 1"
msgstr ""
#: ../Doc/howto/urllib2.rst:366
#: ../Doc/howto/urllib2.rst:374
msgid ""
"The ``except HTTPError`` *must* come first, otherwise ``except URLError`` "
"will *also* catch an :exc:`HTTPError`."
msgstr ""
#: ../Doc/howto/urllib2.rst:370
#: ../Doc/howto/urllib2.rst:378
msgid "Number 2"
msgstr ""
#: ../Doc/howto/urllib2.rst:391
#: ../Doc/howto/urllib2.rst:399
msgid "info and geturl"
msgstr ""
#: ../Doc/howto/urllib2.rst:393
#: ../Doc/howto/urllib2.rst:401
msgid ""
"The response returned by urlopen (or the :exc:`HTTPError` instance) has two "
"useful methods :meth:`info` and :meth:`geturl` and is defined in the module :"
"mod:`urllib.response`.."
msgstr ""
#: ../Doc/howto/urllib2.rst:397
#: ../Doc/howto/urllib2.rst:405
msgid ""
"**geturl** - this returns the real URL of the page fetched. This is useful "
"because ``urlopen`` (or the opener object used) may have followed a "
@ -346,14 +346,14 @@ msgid ""
"requested."
msgstr ""
#: ../Doc/howto/urllib2.rst:401
#: ../Doc/howto/urllib2.rst:409
msgid ""
"**info** - this returns a dictionary-like object that describes the page "
"fetched, particularly the headers sent by the server. It is currently an :"
"class:`http.client.HTTPMessage` instance."
msgstr ""
#: ../Doc/howto/urllib2.rst:405
#: ../Doc/howto/urllib2.rst:413
msgid ""
"Typical headers include 'Content-length', 'Content-type', and so on. See the "
"`Quick Reference to HTTP Headers <https://www.cs.tut.fi/~jkorpela/http."
@ -361,11 +361,11 @@ msgid ""
"their meaning and use."
msgstr ""
#: ../Doc/howto/urllib2.rst:412
#: ../Doc/howto/urllib2.rst:420
msgid "Openers and Handlers"
msgstr ""
#: ../Doc/howto/urllib2.rst:414
#: ../Doc/howto/urllib2.rst:422
msgid ""
"When you fetch a URL you use an opener (an instance of the perhaps "
"confusingly-named :class:`urllib.request.OpenerDirector`). Normally we have "
@ -376,20 +376,20 @@ msgid ""
"HTTP redirections or HTTP cookies."
msgstr ""
#: ../Doc/howto/urllib2.rst:422
#: ../Doc/howto/urllib2.rst:430
msgid ""
"You will want to create openers if you want to fetch URLs with specific "
"handlers installed, for example to get an opener that handles cookies, or to "
"get an opener that does not handle redirections."
msgstr ""
#: ../Doc/howto/urllib2.rst:426
#: ../Doc/howto/urllib2.rst:434
msgid ""
"To create an opener, instantiate an ``OpenerDirector``, and then call ``."
"add_handler(some_handler_instance)`` repeatedly."
msgstr ""
#: ../Doc/howto/urllib2.rst:429
#: ../Doc/howto/urllib2.rst:437
msgid ""
"Alternatively, you can use ``build_opener``, which is a convenience function "
"for creating opener objects with a single function call. ``build_opener`` "
@ -397,31 +397,31 @@ msgid ""
"or override the default handlers."
msgstr ""
#: ../Doc/howto/urllib2.rst:434
#: ../Doc/howto/urllib2.rst:442
msgid ""
"Other sorts of handlers you might want to can handle proxies, "
"authentication, and other common but slightly specialised situations."
msgstr ""
#: ../Doc/howto/urllib2.rst:437
#: ../Doc/howto/urllib2.rst:445
msgid ""
"``install_opener`` can be used to make an ``opener`` object the (global) "
"default opener. This means that calls to ``urlopen`` will use the opener you "
"have installed."
msgstr ""
#: ../Doc/howto/urllib2.rst:441
#: ../Doc/howto/urllib2.rst:449
msgid ""
"Opener objects have an ``open`` method, which can be called directly to "
"fetch urls in the same way as the ``urlopen`` function: there's no need to "
"call ``install_opener``, except as a convenience."
msgstr ""
#: ../Doc/howto/urllib2.rst:447
#: ../Doc/howto/urllib2.rst:455
msgid "Basic Authentication"
msgstr ""
#: ../Doc/howto/urllib2.rst:449
#: ../Doc/howto/urllib2.rst:457
msgid ""
"To illustrate creating and installing a handler we will use the "
"``HTTPBasicAuthHandler``. For a more detailed discussion of this subject -- "
@ -430,7 +430,7 @@ msgid ""
"authentication.shtml>`_."
msgstr ""
#: ../Doc/howto/urllib2.rst:455
#: ../Doc/howto/urllib2.rst:463
msgid ""
"When authentication is required, the server sends a header (as well as the "
"401 error code) requesting authentication. This specifies the "
@ -438,7 +438,11 @@ msgid ""
"Authenticate: SCHEME realm=\"REALM\"``."
msgstr ""
#: ../Doc/howto/urllib2.rst:465
#: ../Doc/howto/urllib2.rst:468
msgid "e.g."
msgstr ""
#: ../Doc/howto/urllib2.rst:475
msgid ""
"The client should then retry the request with the appropriate name and "
"password for the realm included as a header in the request. This is 'basic "
@ -446,7 +450,7 @@ msgid ""
"of ``HTTPBasicAuthHandler`` and an opener to use this handler."
msgstr ""
#: ../Doc/howto/urllib2.rst:470
#: ../Doc/howto/urllib2.rst:480
msgid ""
"The ``HTTPBasicAuthHandler`` uses an object called a password manager to "
"handle the mapping of URLs and realms to passwords and usernames. If you "
@ -459,13 +463,13 @@ msgid ""
"by providing ``None`` as the realm argument to the ``add_password`` method."
msgstr ""
#: ../Doc/howto/urllib2.rst:480
#: ../Doc/howto/urllib2.rst:490
msgid ""
"The top-level URL is the first URL that requires authentication. URLs "
"\"deeper\" than the URL you pass to .add_password() will also match. ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:505
#: ../Doc/howto/urllib2.rst:515
msgid ""
"In the above example we only supplied our ``HTTPBasicAuthHandler`` to "
"``build_opener``. By default openers have the handlers for normal situations "
@ -475,7 +479,7 @@ msgid ""
"``FileHandler``, ``DataHandler``, ``HTTPErrorProcessor``."
msgstr ""
#: ../Doc/howto/urllib2.rst:512
#: ../Doc/howto/urllib2.rst:522
msgid ""
"``top_level_url`` is in fact *either* a full URL (including the 'http:' "
"scheme component and the hostname and optionally the port number) e.g. ``"
@ -486,11 +490,11 @@ msgid ""
"example ``\"joe:password@example.com\"`` is not correct."
msgstr ""
#: ../Doc/howto/urllib2.rst:522
#: ../Doc/howto/urllib2.rst:532
msgid "Proxies"
msgstr ""
#: ../Doc/howto/urllib2.rst:524
#: ../Doc/howto/urllib2.rst:534
msgid ""
"**urllib** will auto-detect your proxy settings and use those. This is "
"through the ``ProxyHandler``, which is part of the normal handler chain when "
@ -500,30 +504,30 @@ msgid ""
"similar steps to setting up a `Basic Authentication`_ handler: ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:537
#: ../Doc/howto/urllib2.rst:547
msgid ""
"Currently ``urllib.request`` *does not* support fetching of ``https`` "
"locations through a proxy. However, this can be enabled by extending urllib."
"request as shown in the recipe [#]_."
msgstr ""
#: ../Doc/howto/urllib2.rst:543
#: ../Doc/howto/urllib2.rst:553
msgid ""
"``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see "
"the documentation on :func:`~urllib.request.getproxies`."
msgstr ""
#: ../Doc/howto/urllib2.rst:548
#: ../Doc/howto/urllib2.rst:558
msgid "Sockets and Layers"
msgstr ""
#: ../Doc/howto/urllib2.rst:550
#: ../Doc/howto/urllib2.rst:560
msgid ""
"The Python support for fetching resources from the web is layered. urllib "
"uses the :mod:`http.client` library, which in turn uses the socket library."
msgstr ""
#: ../Doc/howto/urllib2.rst:553
#: ../Doc/howto/urllib2.rst:563
msgid ""
"As of Python 2.3 you can specify how long a socket should wait for a "
"response before timing out. This can be useful in applications which have to "
@ -533,38 +537,38 @@ msgid ""
"sockets using ::"
msgstr ""
#: ../Doc/howto/urllib2.rst:576
#: ../Doc/howto/urllib2.rst:586
msgid "Footnotes"
msgstr "Notes"
#: ../Doc/howto/urllib2.rst:578
#: ../Doc/howto/urllib2.rst:588
msgid "This document was reviewed and revised by John Lee."
msgstr ""
#: ../Doc/howto/urllib2.rst:580
#: ../Doc/howto/urllib2.rst:590
msgid "Google for example."
msgstr ""
#: ../Doc/howto/urllib2.rst:581
#: ../Doc/howto/urllib2.rst:591
msgid ""
"Browser sniffing is a very bad practice for website design - building sites "
"using web standards is much more sensible. Unfortunately a lot of sites "
"still send different versions to different browsers."
msgstr ""
#: ../Doc/howto/urllib2.rst:584
#: ../Doc/howto/urllib2.rst:594
msgid ""
"The user agent for MSIE 6 is *'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT "
"5.1; SV1; .NET CLR 1.1.4322)'*"
msgstr ""
#: ../Doc/howto/urllib2.rst:586
#: ../Doc/howto/urllib2.rst:596
msgid ""
"For details of more HTTP request headers, see `Quick Reference to HTTP "
"Headers`_."
msgstr ""
#: ../Doc/howto/urllib2.rst:588
#: ../Doc/howto/urllib2.rst:598
msgid ""
"In my case I have to use a proxy to access the internet at work. If you "
"attempt to fetch *localhost* URLs through this proxy it blocks them. IE is "
@ -572,7 +576,7 @@ msgid ""
"with a localhost server, I have to prevent urllib from using the proxy."
msgstr ""
#: ../Doc/howto/urllib2.rst:593
#: ../Doc/howto/urllib2.rst:603
msgid ""
"urllib opener for SSL proxy (CONNECT method): `ASPN Cookbook Recipe <https://"
"code.activestate.com/recipes/456195/>`_."

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-10 00:49+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -905,21 +905,14 @@ msgid ""
"`get` method."
msgstr ""
#: ../Doc/library/configparser.rst:1109
msgid ""
"Items present in *vars* no longer appear in the result. The previous "
"behaviour mixed actual parser options with variables provided for "
"interpolation."
msgstr ""
#: ../Doc/library/configparser.rst:1116
#: ../Doc/library/configparser.rst:1112
msgid ""
"If the given section exists, set the given option to the specified value; "
"otherwise raise :exc:`NoSectionError`. *option* and *value* must be "
"strings; if not, :exc:`TypeError` is raised."
msgstr ""
#: ../Doc/library/configparser.rst:1123
#: ../Doc/library/configparser.rst:1119
msgid ""
"Write a representation of the configuration to the specified :term:`file "
"object`, which must be opened in text mode (accepting strings). This "
@ -928,20 +921,20 @@ msgid ""
"surrounded by spaces."
msgstr ""
#: ../Doc/library/configparser.rst:1132
#: ../Doc/library/configparser.rst:1128
msgid ""
"Remove the specified *option* from the specified *section*. If the section "
"does not exist, raise :exc:`NoSectionError`. If the option existed to be "
"removed, return :const:`True`; otherwise return :const:`False`."
msgstr ""
#: ../Doc/library/configparser.rst:1140
#: ../Doc/library/configparser.rst:1136
msgid ""
"Remove the specified *section* from the configuration. If the section in "
"fact existed, return ``True``. Otherwise return ``False``."
msgstr ""
#: ../Doc/library/configparser.rst:1146
#: ../Doc/library/configparser.rst:1142
msgid ""
"Transforms the option name *option* as found in an input file or as passed "
"in by client code to the form that should be used in the internal "
@ -950,7 +943,7 @@ msgid ""
"of this name on instances to affect this behavior."
msgstr ""
#: ../Doc/library/configparser.rst:1152
#: ../Doc/library/configparser.rst:1148
msgid ""
"You don't need to subclass the parser to use this method, you can also set "
"it on an instance, to a function that takes a string argument and returns a "
@ -958,72 +951,72 @@ msgid ""
"sensitive::"
msgstr ""
#: ../Doc/library/configparser.rst:1160
#: ../Doc/library/configparser.rst:1156
msgid ""
"Note that when reading configuration files, whitespace around the option "
"names is stripped before :meth:`optionxform` is called."
msgstr ""
#: ../Doc/library/configparser.rst:1166
#: ../Doc/library/configparser.rst:1162
msgid "Use :meth:`read_file` instead."
msgstr ""
#: ../Doc/library/configparser.rst:1169
#: ../Doc/library/configparser.rst:1165
msgid ""
":meth:`readfp` now iterates on *fp* instead of calling ``fp.readline()``."
msgstr ""
#: ../Doc/library/configparser.rst:1172
#: ../Doc/library/configparser.rst:1168
msgid ""
"For existing code calling :meth:`readfp` with arguments which don't support "
"iteration, the following generator may be used as a wrapper around the file-"
"like object::"
msgstr ""
#: ../Doc/library/configparser.rst:1182
#: ../Doc/library/configparser.rst:1178
msgid ""
"Instead of ``parser.readfp(fp)`` use ``parser."
"read_file(readline_generator(fp))``."
msgstr ""
#: ../Doc/library/configparser.rst:1188
#: ../Doc/library/configparser.rst:1184
msgid ""
"The maximum depth for recursive interpolation for :meth:`get` when the *raw* "
"parameter is false. This is relevant only when the default *interpolation* "
"is used."
msgstr ""
#: ../Doc/library/configparser.rst:1196
#: ../Doc/library/configparser.rst:1192
msgid "RawConfigParser Objects"
msgstr ""
#: ../Doc/library/configparser.rst:1206
#: ../Doc/library/configparser.rst:1202
msgid ""
"Legacy variant of the :class:`ConfigParser` with interpolation disabled by "
"default and unsafe ``add_section`` and ``set`` methods."
msgstr ""
#: ../Doc/library/configparser.rst:1210
#: ../Doc/library/configparser.rst:1206
msgid ""
"Consider using :class:`ConfigParser` instead which checks types of the "
"values to be stored internally. If you don't want interpolation, you can "
"use ``ConfigParser(interpolation=None)``."
msgstr ""
#: ../Doc/library/configparser.rst:1217
#: ../Doc/library/configparser.rst:1213
msgid ""
"Add a section named *section* to the instance. If a section by the given "
"name already exists, :exc:`DuplicateSectionError` is raised. If the "
"*default section* name is passed, :exc:`ValueError` is raised."
msgstr ""
#: ../Doc/library/configparser.rst:1221
#: ../Doc/library/configparser.rst:1217
msgid ""
"Type of *section* is not checked which lets users create non-string named "
"sections. This behaviour is unsupported and may cause internal errors."
msgstr ""
#: ../Doc/library/configparser.rst:1227
#: ../Doc/library/configparser.rst:1223
msgid ""
"If the given section exists, set the given option to the specified value; "
"otherwise raise :exc:`NoSectionError`. While it is possible to use :class:"
@ -1033,7 +1026,7 @@ msgid ""
"string values."
msgstr ""
#: ../Doc/library/configparser.rst:1234
#: ../Doc/library/configparser.rst:1230
msgid ""
"This method lets users assign non-string values to keys internally. This "
"behaviour is unsupported and will cause errors when attempting to write to a "
@ -1041,32 +1034,32 @@ msgid ""
"not allow such assignments to take place."
msgstr ""
#: ../Doc/library/configparser.rst:1241
#: ../Doc/library/configparser.rst:1237
msgid "Exceptions"
msgstr "Les exceptions"
#: ../Doc/library/configparser.rst:1245
#: ../Doc/library/configparser.rst:1241
msgid "Base class for all other :mod:`configparser` exceptions."
msgstr ""
#: ../Doc/library/configparser.rst:1250
#: ../Doc/library/configparser.rst:1246
msgid "Exception raised when a specified section is not found."
msgstr ""
#: ../Doc/library/configparser.rst:1255
#: ../Doc/library/configparser.rst:1251
msgid ""
"Exception raised if :meth:`add_section` is called with the name of a section "
"that is already present or in strict parsers when a section if found more "
"than once in a single input file, string or dictionary."
msgstr ""
#: ../Doc/library/configparser.rst:1259
#: ../Doc/library/configparser.rst:1255
msgid ""
"Optional ``source`` and ``lineno`` attributes and arguments to :meth:"
"`__init__` were added."
msgstr ""
#: ../Doc/library/configparser.rst:1266
#: ../Doc/library/configparser.rst:1262
msgid ""
"Exception raised by strict parsers if a single option appears twice during "
"reading from a single file, string or dictionary. This catches misspellings "
@ -1074,58 +1067,58 @@ msgid ""
"representing the same case-insensitive configuration key."
msgstr ""
#: ../Doc/library/configparser.rst:1274
#: ../Doc/library/configparser.rst:1270
msgid ""
"Exception raised when a specified option is not found in the specified "
"section."
msgstr ""
#: ../Doc/library/configparser.rst:1280
#: ../Doc/library/configparser.rst:1276
msgid ""
"Base class for exceptions raised when problems occur performing string "
"interpolation."
msgstr ""
#: ../Doc/library/configparser.rst:1286
#: ../Doc/library/configparser.rst:1282
msgid ""
"Exception raised when string interpolation cannot be completed because the "
"number of iterations exceeds :const:`MAX_INTERPOLATION_DEPTH`. Subclass of :"
"exc:`InterpolationError`."
msgstr ""
#: ../Doc/library/configparser.rst:1293
#: ../Doc/library/configparser.rst:1289
msgid ""
"Exception raised when an option referenced from a value does not exist. "
"Subclass of :exc:`InterpolationError`."
msgstr ""
#: ../Doc/library/configparser.rst:1299
#: ../Doc/library/configparser.rst:1295
msgid ""
"Exception raised when the source text into which substitutions are made does "
"not conform to the required syntax. Subclass of :exc:`InterpolationError`."
msgstr ""
#: ../Doc/library/configparser.rst:1305
#: ../Doc/library/configparser.rst:1301
msgid ""
"Exception raised when attempting to parse a file which has no section "
"headers."
msgstr ""
#: ../Doc/library/configparser.rst:1311
#: ../Doc/library/configparser.rst:1307
msgid "Exception raised when errors occur attempting to parse a file."
msgstr ""
#: ../Doc/library/configparser.rst:1313
#: ../Doc/library/configparser.rst:1309
msgid ""
"The ``filename`` attribute and :meth:`__init__` argument were renamed to "
"``source`` for consistency."
msgstr ""
#: ../Doc/library/configparser.rst:1319
#: ../Doc/library/configparser.rst:1315
msgid "Footnotes"
msgstr "Notes"
#: ../Doc/library/configparser.rst:1320
#: ../Doc/library/configparser.rst:1316
msgid ""
"Config parsers allow for heavy customization. If you are interested in "
"changing the behaviour outlined by the footnote reference, consult the "

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-27 19:40+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -207,7 +207,7 @@ msgid ""
"bytes with the high bit set as needed using an ASCII-compatible :mailheader:"
"`Content-Transfer-Encoding`. That is, transform parts with non-ASCII :"
"mailheader:`Cotnent-Transfer-Encoding` (:mailheader:`Content-Transfer-"
"Encoding: 8bit`) to an ASCII compatibile :mailheader:`Content-Transfer-"
"Encoding: 8bit`) to an ASCII compatible :mailheader:`Content-Transfer-"
"Encoding`, and encode RFC-invalid non-ASCII bytes in headers using the MIME "
"``unknown-8bit`` character set, thus rendering them RFC-compliant."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -209,8 +209,8 @@ msgstr ""
msgid "Example"
msgstr "Exemple"
#: ../Doc/library/faulthandler.rst:157
#: ../Doc/library/faulthandler.rst:155
msgid ""
"Example of a segmentation fault on Linux with and without enabling the fault "
"handler::"
"handler:"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2017-08-10 01:00+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -987,7 +987,7 @@ msgstr ""
#: ../Doc/library/importlib.rst:801
msgid ""
":term:`Finder` for modules declared in the Windows registry. This class "
"implements the :class:`importlib.abc.Finder` ABC."
"implements the :class:`importlib.abc.MetaPathFinder` ABC."
msgstr ""
#: ../Doc/library/importlib.rst:809

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-08 09:58+0100\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2017-12-02 11:08+0100\n"
"Last-Translator: Raphaël Gomès <alphare33@gmail.com>\n"
"Language-Team: \n"
@ -433,8 +433,8 @@ msgstr ""
"sortie sera aussi vide."
#: ../Doc/library/itertools.rst:101 ../Doc/library/itertools.rst:193
#: ../Doc/library/itertools.rst:242 ../Doc/library/itertools.rst:468
#: ../Doc/library/itertools.rst:547 ../Doc/library/itertools.rst:600
#: ../Doc/library/itertools.rst:242 ../Doc/library/itertools.rst:477
#: ../Doc/library/itertools.rst:556 ../Doc/library/itertools.rst:609
msgid "Roughly equivalent to::"
msgstr "Sensiblement équivalent à : ::"
@ -722,7 +722,7 @@ msgstr ""
"multi-ligne pourrait lister un nom de champ toutes les trois lignes). "
"Sensiblement similaire à : ::"
#: ../Doc/library/itertools.rst:448
#: ../Doc/library/itertools.rst:457
msgid ""
"If *start* is ``None``, then iteration starts at zero. If *step* is "
"``None``, then the step defaults to one."
@ -730,14 +730,14 @@ msgstr ""
"Si *start* vaut ``None``, alors l'itération commence à zéro. Si *step* vaut "
"``None``, alors le pas est à 1 par défaut."
#: ../Doc/library/itertools.rst:454
#: ../Doc/library/itertools.rst:463
msgid ""
"Return successive *r* length permutations of elements in the *iterable*."
msgstr ""
"Renvoyer les permutations successives de longueur *r* des éléments de "
"*iterable*."
#: ../Doc/library/itertools.rst:456
#: ../Doc/library/itertools.rst:465
msgid ""
"If *r* is not specified or is ``None``, then *r* defaults to the length of "
"the *iterable* and all possible full-length permutations are generated."
@ -746,7 +746,7 @@ msgstr ""
"longueur de *iterable* et toutes les permutations de longueur *r* possibles "
"sont générées."
#: ../Doc/library/itertools.rst:460
#: ../Doc/library/itertools.rst:469
msgid ""
"Permutations are emitted in lexicographic sort order. So, if the input "
"*iterable* is sorted, the permutation tuples will be produced in sorted "
@ -756,7 +756,7 @@ msgstr ""
"l'itérable d'entrée *iterable* est trié, les *tuples* de permutation seront "
"produits dans l'ordre."
#: ../Doc/library/itertools.rst:464
#: ../Doc/library/itertools.rst:473
msgid ""
"Elements are treated as unique based on their position, not on their value. "
"So if the input elements are unique, there will be no repeat values in each "
@ -766,7 +766,7 @@ msgstr ""
"non pas de leur valeur. Ainsi, si l'élément est unique, il n'y aura pas de "
"valeurs répétées dans chaque permutation."
#: ../Doc/library/itertools.rst:495
#: ../Doc/library/itertools.rst:504
msgid ""
"The code for :func:`permutations` can be also expressed as a subsequence of :"
"func:`product`, filtered to exclude entries with repeated elements (those "
@ -776,7 +776,7 @@ msgstr ""
"séquence de :func:`product`, filtré pour exclure les entrées avec des "
"éléments répétés (celles de la même position dans la *pool* d'entrée) : ::"
#: ../Doc/library/itertools.rst:507
#: ../Doc/library/itertools.rst:516
msgid ""
"The number of items returned is ``n! / (n-r)!`` when ``0 <= r <= n`` or zero "
"when ``r > n``."
@ -784,11 +784,11 @@ msgstr ""
"Le nombre d'éléments renvoyés est ``n! / (n-r)!`` quand ``0 <= r <= n`` ou "
"zéro quand ``r > n``."
#: ../Doc/library/itertools.rst:512
#: ../Doc/library/itertools.rst:521
msgid "Cartesian product of input iterables."
msgstr "Produit cartésien des itérables d'entrée."
#: ../Doc/library/itertools.rst:514
#: ../Doc/library/itertools.rst:523
msgid ""
"Roughly equivalent to nested for-loops in a generator expression. For "
"example, ``product(A, B)`` returns the same as ``((x,y) for x in A for y in "
@ -798,7 +798,7 @@ msgstr ""
"de générateur. Par exemple ``product(A, B)`` renvoie la même chose que "
"``((x, y) for x in A for y in B)``."
#: ../Doc/library/itertools.rst:517
#: ../Doc/library/itertools.rst:526
msgid ""
"The nested loops cycle like an odometer with the rightmost element advancing "
"on every iteration. This pattern creates a lexicographic ordering so that "
@ -810,7 +810,7 @@ msgstr ""
"lexicographique afin que si les itérables de l'entrée sont triés, les "
"*tuples* de produit sont émis dans l'ordre."
#: ../Doc/library/itertools.rst:522
#: ../Doc/library/itertools.rst:531
msgid ""
"To compute the product of an iterable with itself, specify the number of "
"repetitions with the optional *repeat* keyword argument. For example, "
@ -820,7 +820,7 @@ msgstr ""
"répétitions avec le paramètre nommé optionnel *repeat*. Par exemple, "
"``product(A, repeat=4)`` veut dire la même chose que ``product(A, A, A, A)``."
#: ../Doc/library/itertools.rst:526
#: ../Doc/library/itertools.rst:535
msgid ""
"This function is roughly equivalent to the following code, except that the "
"actual implementation does not build up intermediate results in memory::"
@ -828,7 +828,7 @@ msgstr ""
"Cette fonction est sensiblement équivalente au code suivant, saut que la "
"vraie implémentation ne créé pas les résultats intermédiaires en mémoire : ::"
#: ../Doc/library/itertools.rst:542
#: ../Doc/library/itertools.rst:551
msgid ""
"Make an iterator that returns *object* over and over again. Runs "
"indefinitely unless the *times* argument is specified. Used as argument to :"
@ -840,7 +840,7 @@ msgstr ""
"`map` pour les paramètres invariants de la fonction appelée. Aussi utilisée "
"avec :func:`zip` pour créer une partie invariante d'un *tuple*."
#: ../Doc/library/itertools.rst:558
#: ../Doc/library/itertools.rst:567
msgid ""
"A common use for *repeat* is to supply a stream of constant values to *map* "
"or *zip*::"
@ -848,7 +848,7 @@ msgstr ""
"Une utilisation commune de *repeat* est de fournir un flux constant de "
"valeurs à *map* ou *zip* : ::"
#: ../Doc/library/itertools.rst:566
#: ../Doc/library/itertools.rst:575
msgid ""
"Make an iterator that computes the function using arguments obtained from "
"the iterable. Used instead of :func:`map` when argument parameters are "
@ -864,7 +864,7 @@ msgstr ""
"à la différence entre ``fonction(a,b)`` et ``fonction(*c)``. Sensiblement "
"équivalent à : ::"
#: ../Doc/library/itertools.rst:580
#: ../Doc/library/itertools.rst:589
msgid ""
"Make an iterator that returns elements from the iterable as long as the "
"predicate is true. Roughly equivalent to::"
@ -872,11 +872,11 @@ msgstr ""
"Créer un itérateur qui renvoie les éléments d'un itérable tant que le "
"prédicat est vrai. Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:594
#: ../Doc/library/itertools.rst:603
msgid "Return *n* independent iterators from a single iterable."
msgstr "Renvoyer *n* itérateurs indépendant depuis un unique itérable."
#: ../Doc/library/itertools.rst:596
#: ../Doc/library/itertools.rst:605
msgid ""
"The following Python code helps explain what *tee* does (although the actual "
"implementation is more complex and uses only a single underlying :abbr:`FIFO "
@ -886,7 +886,7 @@ msgstr ""
"vraie implémentation est plus complexe et n'utilise qu'une file :abbr:`FIFO "
"(first-in, first-out)`)."
#: ../Doc/library/itertools.rst:617
#: ../Doc/library/itertools.rst:626
msgid ""
"Once :func:`tee` has made a split, the original *iterable* should not be "
"used anywhere else; otherwise, the *iterable* could get advanced without the "
@ -896,7 +896,7 @@ msgstr ""
"devrait être utilisé nulle part ailleurs ; sinon, *iterable* pourrait être "
"avancé sans que les objets tee soient informés."
#: ../Doc/library/itertools.rst:621
#: ../Doc/library/itertools.rst:630
msgid ""
"This itertool may require significant auxiliary storage (depending on how "
"much temporary data needs to be stored). In general, if one iterator uses "
@ -909,7 +909,7 @@ msgstr ""
"itérateur ne commence, il est plus rapide d'utiliser :func:`list` à la place "
"de :func:`tee`."
#: ../Doc/library/itertools.rst:629
#: ../Doc/library/itertools.rst:638
msgid ""
"Make an iterator that aggregates elements from each of the iterables. If the "
"iterables are of uneven length, missing values are filled-in with "
@ -921,7 +921,7 @@ msgstr ""
"remplacées par *fillvalue*. L'itération continue jusqu'à ce que l'itérable "
"le plus long soit épuisé. Sensiblement équivalent à : ::"
#: ../Doc/library/itertools.rst:654
#: ../Doc/library/itertools.rst:663
msgid ""
"If one of the iterables is potentially infinite, then the :func:"
"`zip_longest` function should be wrapped with something that limits the "
@ -933,11 +933,11 @@ msgstr ""
"d'appels (par exemple, :func:`islice` ou :func:`takewhile`). Si *fillvalue* "
"n'est pas spécifié, il vaut ``None`` par défaut."
#: ../Doc/library/itertools.rst:663
#: ../Doc/library/itertools.rst:672
msgid "Itertools Recipes"
msgstr "Recettes *itertools*"
#: ../Doc/library/itertools.rst:665
#: ../Doc/library/itertools.rst:674
msgid ""
"This section shows recipes for creating an extended toolset using the "
"existing itertools as building blocks."
@ -945,7 +945,7 @@ msgstr ""
"Cette section montre des recettes pour créer une boîte à outil étendue en se "
"servant des *itertools* existants comme de briques."
#: ../Doc/library/itertools.rst:668
#: ../Doc/library/itertools.rst:677
msgid ""
"The extended tools offer the same high performance as the underlying "
"toolset. The superior memory performance is kept by processing elements one "
@ -963,7 +963,7 @@ msgstr ""
"est gardée en préférant les briques \"vectorisées\" plutôt que les boucles "
"*for* et les :term:`générateur`\\s qui engendrent du sur-coût de traitement."
#: ../Doc/library/itertools.rst:885
#: ../Doc/library/itertools.rst:899
msgid ""
"Note, many of the above recipes can be optimized by replacing global lookups "
"with local variables defined as default values. For example, the "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -74,8 +74,9 @@ msgstr "Spécialisation du décodage JSON pour un objet : ::"
msgid "Extending :class:`JSONEncoder`::"
msgstr "Étendre la classe :class:`JSONEncoder` : ::"
#: ../Doc/library/json.rst:105
msgid "Using :mod:`json.tool` from the shell to validate and pretty-print::"
#: ../Doc/library/json.rst:103
#, fuzzy
msgid "Using :mod:`json.tool` from the shell to validate and pretty-print:"
msgstr ""
"Utiliser :mod:`json.tool` depuis le *shell* pour valider et afficher "
"élégamment : ::"
@ -84,7 +85,7 @@ msgstr ""
msgid "See :ref:`json-commandline` for detailed documentation."
msgstr "Voir :ref:`json-commandline` pour une documentation détaillée."
#: ../Doc/library/json.rst:120
#: ../Doc/library/json.rst:118
msgid ""
"JSON is a subset of `YAML <http://yaml.org/>`_ 1.2. The JSON produced by "
"this module's default settings (in particular, the default *separators* "
@ -96,11 +97,11 @@ msgstr ""
"valeur par défaut de *separators*) est aussi un sous ensemble de YAML 1.0 et "
"1.1. Ce module peut alors aussi être utilisé comme sérialiseur YAML."
#: ../Doc/library/json.rst:127
#: ../Doc/library/json.rst:125
msgid "Basic Usage"
msgstr "Utilisation basique"
#: ../Doc/library/json.rst:134
#: ../Doc/library/json.rst:132
msgid ""
"Serialize *obj* as a JSON formatted stream to *fp* (a ``.write()``-"
"supporting :term:`file-like object`) using this :ref:`conversion table <py-"
@ -110,7 +111,7 @@ msgstr ""
"object` supportant ``.write()``) utilisant cette :ref:`table de conversion "
"<py-to-json-table>`."
#: ../Doc/library/json.rst:138
#: ../Doc/library/json.rst:136
msgid ""
"If *skipkeys* is true (default: ``False``), then dict keys that are not of a "
"basic type (:class:`str`, :class:`int`, :class:`float`, :class:`bool`, "
@ -121,7 +122,7 @@ msgstr ""
"`float`, :class:`bool`, ``None``) seront ignorées, elles provoquent "
"normalement la levée d'une :exc:`TypeError`."
#: ../Doc/library/json.rst:142
#: ../Doc/library/json.rst:140
msgid ""
"The :mod:`json` module always produces :class:`str` objects, not :class:"
"`bytes` objects. Therefore, ``fp.write()`` must support :class:`str` input."
@ -130,7 +131,7 @@ msgstr ""
"objets :class:`bytes`. ``fp.write()`` doit ainsi supporter un objet :class:"
"`str` en entrée."
#: ../Doc/library/json.rst:146 ../Doc/library/json.rst:419
#: ../Doc/library/json.rst:144 ../Doc/library/json.rst:417
msgid ""
"If *ensure_ascii* is true (the default), the output is guaranteed to have "
"all incoming non-ASCII characters escaped. If *ensure_ascii* is false, "
@ -140,7 +141,7 @@ msgstr ""
"non-ASCII soient tous échappés sur la sortie. Si *ensure_ascii* est faux, "
"ces caractères seront écrits comme tels."
#: ../Doc/library/json.rst:150
#: ../Doc/library/json.rst:148
msgid ""
"If *check_circular* is false (default: ``True``), then the circular "
"reference check for container types will be skipped and a circular reference "
@ -150,7 +151,7 @@ msgstr ""
"références circulaires pour les conteneurs sera ignorée, et une référence "
"circulaire résultera en une :exc:`OverflowError` (ou pire)."
#: ../Doc/library/json.rst:154
#: ../Doc/library/json.rst:152
msgid ""
"If *allow_nan* is false (default: ``True``), then it will be a :exc:"
"`ValueError` to serialize out of range :class:`float` values (``nan``, "
@ -164,7 +165,7 @@ msgstr ""
"*allow_nan* est vrai, leurs équivalents JavaScript (``NaN``, ``Infinity``, "
"``-Infinity``) seront utilisés."
#: ../Doc/library/json.rst:160 ../Doc/library/json.rst:438
#: ../Doc/library/json.rst:158 ../Doc/library/json.rst:436
msgid ""
"If *indent* is a non-negative integer or string, then JSON array elements "
"and object members will be pretty-printed with that indent level. An indent "
@ -182,11 +183,11 @@ msgstr ""
"*indent* est une chaîne (telle que ``\"\\t\"``), cette chaîne est utilisée "
"pour indenter à chaque niveau."
#: ../Doc/library/json.rst:167 ../Doc/library/json.rst:445
#: ../Doc/library/json.rst:165 ../Doc/library/json.rst:443
msgid "Allow strings for *indent* in addition to integers."
msgstr "Autorise les chaînes en plus des nombres entiers pour *indent*."
#: ../Doc/library/json.rst:170 ../Doc/library/json.rst:448
#: ../Doc/library/json.rst:168 ../Doc/library/json.rst:446
msgid ""
"If specified, *separators* should be an ``(item_separator, key_separator)`` "
"tuple. The default is ``(', ', ': ')`` if *indent* is ``None`` and ``(',', "
@ -199,11 +200,11 @@ msgstr ""
"la plus compacte possible, vous devriez spécifier ``(',', ':')`` pour "
"éliminer les espacements."
#: ../Doc/library/json.rst:175 ../Doc/library/json.rst:453
#: ../Doc/library/json.rst:173 ../Doc/library/json.rst:451
msgid "Use ``(',', ': ')`` as default if *indent* is not ``None``."
msgstr "Utilise ``(',', ': ')`` par défaut si *indent* n'est pas ``None``."
#: ../Doc/library/json.rst:178 ../Doc/library/json.rst:456
#: ../Doc/library/json.rst:176 ../Doc/library/json.rst:454
msgid ""
"If specified, *default* should be a function that gets called for objects "
"that can't otherwise be serialized. It should return a JSON encodable "
@ -216,7 +217,7 @@ msgstr ""
"Si non spécifié, une :exc:`TypeError` sera levée pour les types non-"
"sérialisables."
#: ../Doc/library/json.rst:183
#: ../Doc/library/json.rst:181
msgid ""
"If *sort_keys* is true (default: ``False``), then the output of dictionaries "
"will be sorted by key."
@ -224,7 +225,7 @@ msgstr ""
"Si *sort_keys* est vrai (faux par défaut), les dictionnaires seront "
"retranscrits triés selon leurs clés."
#: ../Doc/library/json.rst:186
#: ../Doc/library/json.rst:184
msgid ""
"To use a custom :class:`JSONEncoder` subclass (e.g. one that overrides the :"
"meth:`default` method to serialize additional types), specify it with the "
@ -235,14 +236,14 @@ msgstr ""
"additionnels), spécifiez-la avec le paramètre nommé *cls* ; autrement, :"
"class:`JSONEncoder` est utilisée."
#: ../Doc/library/json.rst:190 ../Doc/library/json.rst:266
#: ../Doc/library/json.rst:188 ../Doc/library/json.rst:264
msgid ""
"All optional parameters are now :ref:`keyword-only <keyword-only_parameter>`."
msgstr ""
"Tous les paramètres optionnels sont maintenant des :ref:`keyword-only "
"<keyword-only_parameter>`."
#: ../Doc/library/json.rst:199
#: ../Doc/library/json.rst:197
msgid ""
"Serialize *obj* to a JSON formatted :class:`str` using this :ref:`conversion "
"table <py-to-json-table>`. The arguments have the same meaning as in :func:"
@ -252,7 +253,7 @@ msgstr ""
"`table de conversion <py-to-json-table>`. Les arguments ont la même "
"signification que ceux de :func:`dump`."
#: ../Doc/library/json.rst:205
#: ../Doc/library/json.rst:203
msgid ""
"Unlike :mod:`pickle` and :mod:`marshal`, JSON is not a framed protocol, so "
"trying to serialize multiple objects with repeated calls to :func:`dump` "
@ -263,7 +264,7 @@ msgstr ""
"répétés à :func:`dump` en utilisant le même *fp* résultera en un fichier "
"JSON invalide."
#: ../Doc/library/json.rst:211
#: ../Doc/library/json.rst:209
msgid ""
"Keys in key/value pairs of JSON are always of the type :class:`str`. When a "
"dictionary is converted into JSON, all the keys of the dictionary are "
@ -278,7 +279,7 @@ msgstr ""
"résultat peut ne pas être égal à l'original. Ainsi, ``loads(dumps(x)) != x`` "
"si x contient des clés qui ne sont pas des chaînes."
#: ../Doc/library/json.rst:220
#: ../Doc/library/json.rst:218
msgid ""
"Deserialize *fp* (a ``.read()``-supporting :term:`file-like object` "
"containing a JSON document) to a Python object using this :ref:`conversion "
@ -288,7 +289,7 @@ msgstr ""
"contenant un document JSON) vers un objet Python en utilisant cette :ref:"
"`table de conversion <json-to-py-table>`."
#: ../Doc/library/json.rst:224
#: ../Doc/library/json.rst:222
msgid ""
"*object_hook* is an optional function that will be called with the result of "
"any object literal decoded (a :class:`dict`). The return value of "
@ -303,7 +304,7 @@ msgstr ""
"personnalisés (p. ex. les *class hinting* de `JSON-RPC <http://www.jsonrpc."
"org>`_)."
#: ../Doc/library/json.rst:230
#: ../Doc/library/json.rst:228
msgid ""
"*object_pairs_hook* is an optional function that will be called with the "
"result of any object literal decoded with an ordered list of pairs. The "
@ -322,11 +323,11 @@ msgstr ""
"l'ordre d'insertion). *object_pairs_hook* prend la priorité sur "
"*object_hook*, si cette dernière est aussi définie."
#: ../Doc/library/json.rst:238 ../Doc/library/json.rst:333
#: ../Doc/library/json.rst:236 ../Doc/library/json.rst:331
msgid "Added support for *object_pairs_hook*."
msgstr "Ajout du support de *object_pairs_hook*."
#: ../Doc/library/json.rst:241 ../Doc/library/json.rst:336
#: ../Doc/library/json.rst:239 ../Doc/library/json.rst:334
msgid ""
"*parse_float*, if specified, will be called with the string of every JSON "
"float to be decoded. By default, this is equivalent to ``float(num_str)``. "
@ -339,7 +340,7 @@ msgstr ""
"de données ou un autre analyseur pour les nombres réels JSON (p. ex. :class:"
"`decimal.Decimal`)."
#: ../Doc/library/json.rst:246 ../Doc/library/json.rst:341
#: ../Doc/library/json.rst:244 ../Doc/library/json.rst:339
msgid ""
"*parse_int*, if specified, will be called with the string of every JSON int "
"to be decoded. By default, this is equivalent to ``int(num_str)``. This "
@ -352,7 +353,7 @@ msgstr ""
"données ou un autre analyseur pour les nombres entiers JSON (p. ex. :class:"
"`float`)."
#: ../Doc/library/json.rst:251 ../Doc/library/json.rst:346
#: ../Doc/library/json.rst:249 ../Doc/library/json.rst:344
msgid ""
"*parse_constant*, if specified, will be called with one of the following "
"strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. This can be used to "
@ -363,11 +364,11 @@ msgstr ""
"peut servir à lever une exception si des nombres JSON invalides sont "
"rencontrés."
#: ../Doc/library/json.rst:256
#: ../Doc/library/json.rst:254
msgid "*parse_constant* doesn't get called on 'null', 'true', 'false' anymore."
msgstr "*parse_constant* n'est plus appelée pour 'null', 'true' ou 'false'."
#: ../Doc/library/json.rst:259
#: ../Doc/library/json.rst:257
msgid ""
"To use a custom :class:`JSONDecoder` subclass, specify it with the ``cls`` "
"kwarg; otherwise :class:`JSONDecoder` is used. Additional keyword arguments "
@ -378,8 +379,8 @@ msgstr ""
"utilisée. Les arguments nommés additionnels seront passés au constructeur "
"de cette classe."
#: ../Doc/library/json.rst:263 ../Doc/library/json.rst:278
#: ../Doc/library/json.rst:356
#: ../Doc/library/json.rst:261 ../Doc/library/json.rst:276
#: ../Doc/library/json.rst:354
msgid ""
"If the data being deserialized is not a valid JSON document, a :exc:"
"`JSONDecodeError` will be raised."
@ -387,7 +388,7 @@ msgstr ""
"Si les données à désérialiser ne sont pas un document JSON valide, une :exc:"
"`JSONDecodeError` sera levée."
#: ../Doc/library/json.rst:271
#: ../Doc/library/json.rst:269
msgid ""
"Deserialize *s* (a :class:`str`, :class:`bytes` or :class:`bytearray` "
"instance containing a JSON document) to a Python object using this :ref:"
@ -397,7 +398,7 @@ msgstr ""
"`bytearray` contenant un document JSON) vers un objet Python en utilisant "
"cette :ref:`table de conversion <json-to-py-table>`."
#: ../Doc/library/json.rst:275
#: ../Doc/library/json.rst:273
msgid ""
"The other arguments have the same meaning as in :func:`load`, except "
"*encoding* which is ignored and deprecated."
@ -405,7 +406,7 @@ msgstr ""
"Les autres arguments ont la même signification que pour :func:`load`, à "
"l'exception d'*encoding* qui est ignoré et déprécié."
#: ../Doc/library/json.rst:281
#: ../Doc/library/json.rst:279
msgid ""
"*s* can now be of type :class:`bytes` or :class:`bytearray`. The input "
"encoding should be UTF-8, UTF-16 or UTF-32."
@ -413,91 +414,91 @@ msgstr ""
"*s* peut maintenant être de type :class:`bytes` ou :class:`bytearray`."
"L'encodage d'entrée doit être UTF-8, UTF-16 ou UTF-32."
#: ../Doc/library/json.rst:287
#: ../Doc/library/json.rst:285
msgid "Encoders and Decoders"
msgstr "Encodeurs et décodeurs"
#: ../Doc/library/json.rst:291
#: ../Doc/library/json.rst:289
msgid "Simple JSON decoder."
msgstr "Décodeur simple JSON."
#: ../Doc/library/json.rst:293
#: ../Doc/library/json.rst:291
msgid "Performs the following translations in decoding by default:"
msgstr "Applique par défaut les conversions suivantes en décodant :"
#: ../Doc/library/json.rst:298 ../Doc/library/json.rst:389
#: ../Doc/library/json.rst:296 ../Doc/library/json.rst:387
msgid "JSON"
msgstr "JSON"
#: ../Doc/library/json.rst:298 ../Doc/library/json.rst:389
#: ../Doc/library/json.rst:296 ../Doc/library/json.rst:387
msgid "Python"
msgstr "Python"
#: ../Doc/library/json.rst:300 ../Doc/library/json.rst:391
#: ../Doc/library/json.rst:298 ../Doc/library/json.rst:389
msgid "object"
msgstr "objet"
#: ../Doc/library/json.rst:300 ../Doc/library/json.rst:391
#: ../Doc/library/json.rst:298 ../Doc/library/json.rst:389
msgid "dict"
msgstr "*dict*"
#: ../Doc/library/json.rst:302 ../Doc/library/json.rst:393
#: ../Doc/library/json.rst:300 ../Doc/library/json.rst:391
msgid "array"
msgstr "*array*"
#: ../Doc/library/json.rst:302
#: ../Doc/library/json.rst:300
msgid "list"
msgstr "*list*"
#: ../Doc/library/json.rst:304 ../Doc/library/json.rst:395
#: ../Doc/library/json.rst:302 ../Doc/library/json.rst:393
msgid "string"
msgstr "*string*"
#: ../Doc/library/json.rst:304 ../Doc/library/json.rst:395
#: ../Doc/library/json.rst:302 ../Doc/library/json.rst:393
msgid "str"
msgstr "*str*"
#: ../Doc/library/json.rst:306
#: ../Doc/library/json.rst:304
msgid "number (int)"
msgstr "*number* (nombre entier)"
#: ../Doc/library/json.rst:306
#: ../Doc/library/json.rst:304
msgid "int"
msgstr "*int*"
#: ../Doc/library/json.rst:308
#: ../Doc/library/json.rst:306
msgid "number (real)"
msgstr "*number* (nombre réel)"
#: ../Doc/library/json.rst:308
#: ../Doc/library/json.rst:306
msgid "float"
msgstr "*float*"
#: ../Doc/library/json.rst:310 ../Doc/library/json.rst:399
#: ../Doc/library/json.rst:308 ../Doc/library/json.rst:397
msgid "true"
msgstr "*true*"
#: ../Doc/library/json.rst:310 ../Doc/library/json.rst:399
#: ../Doc/library/json.rst:308 ../Doc/library/json.rst:397
msgid "True"
msgstr "*True*"
#: ../Doc/library/json.rst:312 ../Doc/library/json.rst:401
#: ../Doc/library/json.rst:310 ../Doc/library/json.rst:399
msgid "false"
msgstr "*false*"
#: ../Doc/library/json.rst:312 ../Doc/library/json.rst:401
#: ../Doc/library/json.rst:310 ../Doc/library/json.rst:399
msgid "False"
msgstr "*False*"
#: ../Doc/library/json.rst:314 ../Doc/library/json.rst:403
#: ../Doc/library/json.rst:312 ../Doc/library/json.rst:401
msgid "null"
msgstr "*null*"
#: ../Doc/library/json.rst:314 ../Doc/library/json.rst:403
#: ../Doc/library/json.rst:312 ../Doc/library/json.rst:401
msgid "None"
msgstr "*None*"
#: ../Doc/library/json.rst:317
#: ../Doc/library/json.rst:315
msgid ""
"It also understands ``NaN``, ``Infinity``, and ``-Infinity`` as their "
"corresponding ``float`` values, which is outside the JSON spec."
@ -506,7 +507,7 @@ msgstr ""
"comme leurs valeurs ``float`` correspondantes, bien que ne faisant pas "
"partie de la spécification JSON."
#: ../Doc/library/json.rst:320
#: ../Doc/library/json.rst:318
msgid ""
"*object_hook*, if specified, will be called with the result of every JSON "
"object decoded and its return value will be used in place of the given :"
@ -518,7 +519,7 @@ msgstr ""
"donné. Cela peut être utilisé pour apporter des désérialisations "
"personnalisées (p. ex. pour supporter les *class hinting* de JSON-RPC)."
#: ../Doc/library/json.rst:325
#: ../Doc/library/json.rst:323
msgid ""
"*object_pairs_hook*, if specified will be called with the result of every "
"JSON object decoded with an ordered list of pairs. The return value of "
@ -537,7 +538,7 @@ msgstr ""
"*object_pairs_hook* prend la priorité sur *object_hook*, si cette dernière "
"est aussi définie."
#: ../Doc/library/json.rst:351
#: ../Doc/library/json.rst:349
msgid ""
"If *strict* is false (``True`` is the default), then control characters will "
"be allowed inside strings. Control characters in this context are those "
@ -549,13 +550,13 @@ msgstr ""
"ce contexte sont ceux dont les codes sont dans l'intervalle 0--31, incluant "
"``'\\t'`` (tab), ``'\\n'``, ``'\\r'`` et ``'\\0'``."
#: ../Doc/library/json.rst:359 ../Doc/library/json.rst:461
#: ../Doc/library/json.rst:357 ../Doc/library/json.rst:459
msgid "All parameters are now :ref:`keyword-only <keyword-only_parameter>`."
msgstr ""
"Tous les paramètres sont maintenant des :ref:`keyword-only <keyword-"
"only_parameter>`."
#: ../Doc/library/json.rst:364
#: ../Doc/library/json.rst:362
msgid ""
"Return the Python representation of *s* (a :class:`str` instance containing "
"a JSON document)."
@ -563,7 +564,7 @@ msgstr ""
"Renvoie la représentation Python de *s* (une instance :class:`str` contenant "
"un document JSON)."
#: ../Doc/library/json.rst:367
#: ../Doc/library/json.rst:365
msgid ""
":exc:`JSONDecodeError` will be raised if the given JSON document is not "
"valid."
@ -571,7 +572,7 @@ msgstr ""
"Une :exc:`JSONDecodeError` sera levée si le document JSON donné n'est pas "
"valide."
#: ../Doc/library/json.rst:372
#: ../Doc/library/json.rst:370
msgid ""
"Decode a JSON document from *s* (a :class:`str` beginning with a JSON "
"document) and return a 2-tuple of the Python representation and the index in "
@ -582,7 +583,7 @@ msgstr ""
"représentation Python de l'objet et l'index dans *s* où le document se "
"terminait."
#: ../Doc/library/json.rst:376
#: ../Doc/library/json.rst:374
msgid ""
"This can be used to decode a JSON document from a string that may have "
"extraneous data at the end."
@ -590,31 +591,31 @@ msgstr ""
"Elle peut être utilisée pour décoder un document JSON depuis une chaîne qui "
"peut contenir des données supplémentaires à la fin."
#: ../Doc/library/json.rst:382
#: ../Doc/library/json.rst:380
msgid "Extensible JSON encoder for Python data structures."
msgstr "Encodeur JSON extensible pour les structures de données Python."
#: ../Doc/library/json.rst:384
#: ../Doc/library/json.rst:382
msgid "Supports the following objects and types by default:"
msgstr "Supporte par défaut les objets et types suivants :"
#: ../Doc/library/json.rst:393
#: ../Doc/library/json.rst:391
msgid "list, tuple"
msgstr "*list*, *tuple*"
#: ../Doc/library/json.rst:397
#: ../Doc/library/json.rst:395
msgid "int, float, int- & float-derived Enums"
msgstr "*int*, *float*, et *Enums* dérivées d'*int* ou de *float*"
#: ../Doc/library/json.rst:397
#: ../Doc/library/json.rst:395
msgid "number"
msgstr "*number*"
#: ../Doc/library/json.rst:406
#: ../Doc/library/json.rst:404
msgid "Added support for int- and float-derived Enum classes."
msgstr "Ajout du support des classes *Enum* dérivées d'*int* ou de *float*."
#: ../Doc/library/json.rst:409
#: ../Doc/library/json.rst:407
msgid ""
"To extend this to recognize other objects, subclass and implement a :meth:"
"`default` method with another method that returns a serializable object for "
@ -626,7 +627,7 @@ msgstr ""
"qui renverrait si possible un objet sérialisable pour ``o``, ou ferait appel "
"à l'implémentation de la classe mère (qui lèverait une :exc:`TypeError`)."
#: ../Doc/library/json.rst:414
#: ../Doc/library/json.rst:412
msgid ""
"If *skipkeys* is false (the default), then it is a :exc:`TypeError` to "
"attempt encoding of keys that are not :class:`str`, :class:`int`, :class:"
@ -637,7 +638,7 @@ msgstr ""
"`float` ou ``None``. Si *skipkeys* est vrai, ces éléments sont simplement "
"ignorés."
#: ../Doc/library/json.rst:423
#: ../Doc/library/json.rst:421
msgid ""
"If *check_circular* is true (the default), then lists, dicts, and custom "
"encoded objects will be checked for circular references during encoding to "
@ -649,7 +650,7 @@ msgstr ""
"références circulaires et éviter les récursions infinies (qui causeraient "
"une :exc:`OverflowError`). Autrement, la vérification n'a pas lieu."
#: ../Doc/library/json.rst:428
#: ../Doc/library/json.rst:426
msgid ""
"If *allow_nan* is true (the default), then ``NaN``, ``Infinity``, and ``-"
"Infinity`` will be encoded as such. This behavior is not JSON specification "
@ -662,7 +663,7 @@ msgstr ""
"décodeurs JavaScript. Autrement, une :exc:`ValueError` sera levée pour de "
"telles valeurs."
#: ../Doc/library/json.rst:434
#: ../Doc/library/json.rst:432
msgid ""
"If *sort_keys* is true (default: ``False``), then the output of dictionaries "
"will be sorted by key; this is useful for regression tests to ensure that "
@ -672,7 +673,7 @@ msgstr ""
"seront triés par clés en sortie ; cela est utile lors de tests de régression "
"pour pouvoir comparer les sérialisations JSON au jour le jour."
#: ../Doc/library/json.rst:467
#: ../Doc/library/json.rst:465
msgid ""
"Implement this method in a subclass such that it returns a serializable "
"object for *o*, or calls the base implementation (to raise a :exc:"
@ -682,7 +683,7 @@ msgstr ""
"sérialisable pour *o*, ou appelle l'implémentation de base (qui lèvera une :"
"exc:`TypeError`)."
#: ../Doc/library/json.rst:471
#: ../Doc/library/json.rst:469
msgid ""
"For example, to support arbitrary iterators, you could implement default "
"like this::"
@ -690,7 +691,7 @@ msgstr ""
"Par exemple, pour supporter des itérateurs arbitraires, vous pourriez "
"implémenter *default* comme cela : ::"
#: ../Doc/library/json.rst:487
#: ../Doc/library/json.rst:485
msgid ""
"Return a JSON string representation of a Python data structure, *o*. For "
"example::"
@ -698,7 +699,7 @@ msgstr ""
"Renvoie une chaîne JSON représentant la structure de données Python *o*. "
"Par exemple : ::"
#: ../Doc/library/json.rst:496
#: ../Doc/library/json.rst:494
msgid ""
"Encode the given object, *o*, and yield each string representation as "
"available. For example::"
@ -706,40 +707,40 @@ msgstr ""
"Encode l'objet *o* donné, et produit chaque chaîne représentant l'objet "
"selon disponibilité. Par exemple : ::"
#: ../Doc/library/json.rst:504
#: ../Doc/library/json.rst:502
msgid "Exceptions"
msgstr "Les exceptions"
#: ../Doc/library/json.rst:508
#: ../Doc/library/json.rst:506
msgid "Subclass of :exc:`ValueError` with the following additional attributes:"
msgstr ""
"Sous-classe de :exc:`ValueError` avec les attributs additionnels suivants :"
#: ../Doc/library/json.rst:512
#: ../Doc/library/json.rst:510
msgid "The unformatted error message."
msgstr "Le message d'erreur non formaté."
#: ../Doc/library/json.rst:516
#: ../Doc/library/json.rst:514
msgid "The JSON document being parsed."
msgstr "Le document JSON actuellement traité."
#: ../Doc/library/json.rst:520
#: ../Doc/library/json.rst:518
msgid "The start index of *doc* where parsing failed."
msgstr "L'index de *doc* à partir duquel l'analyse a échoué."
#: ../Doc/library/json.rst:524
#: ../Doc/library/json.rst:522
msgid "The line corresponding to *pos*."
msgstr "La ligne correspondant à *pos*."
#: ../Doc/library/json.rst:528
#: ../Doc/library/json.rst:526
msgid "The column corresponding to *pos*."
msgstr "La colonne correspondant à *pos*."
#: ../Doc/library/json.rst:534
#: ../Doc/library/json.rst:532
msgid "Standard Compliance and Interoperability"
msgstr "Conformité au standard et Interopérabilité"
#: ../Doc/library/json.rst:536
#: ../Doc/library/json.rst:534
msgid ""
"The JSON format is specified by :rfc:`7159` and by `ECMA-404 <http://www."
"ecma-international.org/publications/standards/Ecma-404.htm>`_. This section "
@ -754,7 +755,7 @@ msgstr ""
"`JSONDecoder`, et les paramètres autres que ceux explicitement mentionnés ne "
"sont pas considérés."
#: ../Doc/library/json.rst:542
#: ../Doc/library/json.rst:540
msgid ""
"This module does not comply with the RFC in a strict fashion, implementing "
"some extensions that are valid JavaScript but not valid JSON. In particular:"
@ -762,11 +763,11 @@ msgstr ""
"Ce module ne se conforme pas strictement à la RFC, implémentant quelques "
"extensions qui sont valides en JavaScript mais pas en JSON. En particulier :"
#: ../Doc/library/json.rst:545
#: ../Doc/library/json.rst:543
msgid "Infinite and NaN number values are accepted and output;"
msgstr "Les nombres infinis et *NaN* sont acceptés et retranscrits ;"
#: ../Doc/library/json.rst:546
#: ../Doc/library/json.rst:544
msgid ""
"Repeated names within an object are accepted, and only the value of the last "
"name-value pair is used."
@ -774,7 +775,7 @@ msgstr ""
"Les noms répétés au sein d'un objet sont acceptés, seule la valeur du "
"dernier couple nom/valeur sera utilisée."
#: ../Doc/library/json.rst:549
#: ../Doc/library/json.rst:547
msgid ""
"Since the RFC permits RFC-compliant parsers to accept input texts that are "
"not RFC-compliant, this module's deserializer is technically RFC-compliant "
@ -784,11 +785,11 @@ msgstr ""
"non conformes, le désérialiseur de ce module avec ses paramètres par défaut "
"est techniquement conforme à la RFC."
#: ../Doc/library/json.rst:554
#: ../Doc/library/json.rst:552
msgid "Character Encodings"
msgstr "Encodage des caractères"
#: ../Doc/library/json.rst:556
#: ../Doc/library/json.rst:554
msgid ""
"The RFC requires that JSON be represented using either UTF-8, UTF-16, or "
"UTF-32, with UTF-8 being the recommended default for maximum "
@ -798,7 +799,7 @@ msgstr ""
"UTF-16 ou UTF-32, avec UTF-8 recommandé par défaut pour une interopérabilité "
"maximale."
#: ../Doc/library/json.rst:559
#: ../Doc/library/json.rst:557
msgid ""
"As permitted, though not required, by the RFC, this module's serializer sets "
"*ensure_ascii=True* by default, thus escaping the output so that the "
@ -809,7 +810,7 @@ msgstr ""
"façon à ce que les chaînes résultants ne contiennent que des caractères "
"ASCII."
#: ../Doc/library/json.rst:563
#: ../Doc/library/json.rst:561
msgid ""
"Other than the *ensure_ascii* parameter, this module is defined strictly in "
"terms of conversion between Python objects and :class:`Unicode strings "
@ -820,7 +821,7 @@ msgstr ""
"class:`chaînes Unicode <str>` de ce module sont strictement définies, et ne "
"rencontrent donc pas directement le problème de l'encodage des caractères."
#: ../Doc/library/json.rst:568
#: ../Doc/library/json.rst:566
msgid ""
"The RFC prohibits adding a byte order mark (BOM) to the start of a JSON "
"text, and this module's serializer does not add a BOM to its output. The RFC "
@ -834,7 +835,7 @@ msgstr ""
"désérialiseur de ce module lève une :exc:`ValueError` quand un BOM est "
"présent au début du fichier."
#: ../Doc/library/json.rst:574
#: ../Doc/library/json.rst:572
msgid ""
"The RFC does not explicitly forbid JSON strings which contain byte sequences "
"that don't correspond to valid Unicode characters (e.g. unpaired UTF-16 "
@ -849,11 +850,11 @@ msgstr ""
"retranscrit (quand présents dans la :class:`str` originale) les *code "
"points* de telles séquences."
#: ../Doc/library/json.rst:582
#: ../Doc/library/json.rst:580
msgid "Infinite and NaN Number Values"
msgstr "Valeurs numériques infinies et NaN"
#: ../Doc/library/json.rst:584
#: ../Doc/library/json.rst:582
msgid ""
"The RFC does not permit the representation of infinite or NaN number values. "
"Despite that, by default, this module accepts and outputs ``Infinity``, ``-"
@ -864,7 +865,7 @@ msgstr ""
"Infinity`` et ``NaN`` comme s'ils étaient des valeurs numériques littérales "
"JSON valides ::"
#: ../Doc/library/json.rst:599
#: ../Doc/library/json.rst:597
msgid ""
"In the serializer, the *allow_nan* parameter can be used to alter this "
"behavior. In the deserializer, the *parse_constant* parameter can be used "
@ -874,11 +875,11 @@ msgstr ""
"ce comportement. Dans le désérialiseur, le paramètre *parse_constant* peut "
"être utilisé pour altérer ce comportement."
#: ../Doc/library/json.rst:605
#: ../Doc/library/json.rst:603
msgid "Repeated Names Within an Object"
msgstr "Noms répétés au sein d'un objet"
#: ../Doc/library/json.rst:607
#: ../Doc/library/json.rst:605
msgid ""
"The RFC specifies that the names within a JSON object should be unique, but "
"does not mandate how repeated names in JSON objects should be handled. By "
@ -890,17 +891,17 @@ msgstr ""
"ce module ne lève pas d'exception ; à la place, il ignore tous les couples "
"nom/valeur sauf le dernier pour un nom donné : ::"
#: ../Doc/library/json.rst:616
#: ../Doc/library/json.rst:614
msgid "The *object_pairs_hook* parameter can be used to alter this behavior."
msgstr ""
"Le paramètre *object_pairs_hook* peut être utilisé pour altérer ce "
"comportement."
#: ../Doc/library/json.rst:620
#: ../Doc/library/json.rst:618
msgid "Top-level Non-Object, Non-Array Values"
msgstr "Valeurs de plus haut niveau autres qu'objets ou tableaux"
#: ../Doc/library/json.rst:622
#: ../Doc/library/json.rst:620
msgid ""
"The old version of JSON specified by the obsolete :rfc:`4627` required that "
"the top-level value of a JSON text must be either a JSON object or array "
@ -916,7 +917,7 @@ msgstr ""
"restriction, jamais implémentée par ce module, que ce soit dans le "
"sérialiseur ou le désérialiseur."
#: ../Doc/library/json.rst:629
#: ../Doc/library/json.rst:627
msgid ""
"Regardless, for maximum interoperability, you may wish to voluntarily adhere "
"to the restriction yourself."
@ -924,33 +925,33 @@ msgstr ""
"Cependant, pour une interopérabilité maximale, vous pourriez volontairement "
"souhaiter adhérer à cette restriction par vous-même."
#: ../Doc/library/json.rst:634
#: ../Doc/library/json.rst:632
msgid "Implementation Limitations"
msgstr "Limitations de l'implémentation"
#: ../Doc/library/json.rst:636
#: ../Doc/library/json.rst:634
msgid "Some JSON deserializer implementations may set limits on:"
msgstr ""
"Certaines implémentations de désérialiseurs JSON peuvent avoir des limites "
"sur :"
#: ../Doc/library/json.rst:638
#: ../Doc/library/json.rst:636
msgid "the size of accepted JSON texts"
msgstr "la taille des textes JSON acceptés ;"
#: ../Doc/library/json.rst:639
#: ../Doc/library/json.rst:637
msgid "the maximum level of nesting of JSON objects and arrays"
msgstr "le niveau maximum d'objets et tableaux JSON imbriqués ;"
#: ../Doc/library/json.rst:640
#: ../Doc/library/json.rst:638
msgid "the range and precision of JSON numbers"
msgstr "l'intervalle et la précision des nombres JSON ;"
#: ../Doc/library/json.rst:641
#: ../Doc/library/json.rst:639
msgid "the content and maximum length of JSON strings"
msgstr "le contenu et la longueur maximale des chaînes JSON."
#: ../Doc/library/json.rst:643
#: ../Doc/library/json.rst:641
msgid ""
"This module does not impose any such limits beyond those of the relevant "
"Python datatypes themselves or the Python interpreter itself."
@ -958,7 +959,7 @@ msgstr ""
"Ce module n'impose pas de telles limites si ce n'est celles inhérentes aux "
"types de données Python ou à l'interpréteur."
#: ../Doc/library/json.rst:646
#: ../Doc/library/json.rst:644
msgid ""
"When serializing to JSON, beware any such limitations in applications that "
"may consume your JSON. In particular, it is common for JSON numbers to be "
@ -976,15 +977,15 @@ msgstr ""
"la sérialisation de valeurs :class:`int` Python de forte magnitude, ou "
"d'instances de types numériques « exotiques » comme :class:`decimal.Decimal`."
#: ../Doc/library/json.rst:659
#: ../Doc/library/json.rst:655
msgid "Command Line Interface"
msgstr "Interface en ligne de commande"
#: ../Doc/library/json.rst:664
#: ../Doc/library/json.rst:660
msgid "**Source code:** :source:`Lib/json/tool.py`"
msgstr "**Code source :** :source:`Lib/json/tool.py`"
#: ../Doc/library/json.rst:668
#: ../Doc/library/json.rst:664
msgid ""
"The :mod:`json.tool` module provides a simple command line interface to "
"validate and pretty-print JSON objects."
@ -992,16 +993,17 @@ msgstr ""
"Le module :mod:`json.tool` fournit une simple interface en ligne de commande "
"pour valider et réécrire élégamment des objets JSON."
#: ../Doc/library/json.rst:671
#: ../Doc/library/json.rst:667
#, fuzzy
msgid ""
"If the optional ``infile`` and ``outfile`` arguments are not specified, :"
"attr:`sys.stdin` and :attr:`sys.stdout` will be used respectively::"
"attr:`sys.stdin` and :attr:`sys.stdout` will be used respectively:"
msgstr ""
"Si les arguments optionnels ``infile`` et ``outfile`` ne sont pas "
"spécifiés, :attr:`sys.stdin` et :attr:`sys.stdout` seront utilisés "
"respectivement : ::"
#: ../Doc/library/json.rst:681
#: ../Doc/library/json.rst:679
msgid ""
"The output is now in the same order as the input. Use the :option:`--sort-"
"keys` option to sort the output of dictionaries alphabetically by key."
@ -1010,12 +1012,13 @@ msgstr ""
"l'option :option:`--sort-keys` pour sortir des dictionnaires triés "
"alphabétiquement par clés."
#: ../Doc/library/json.rst:687
#: ../Doc/library/json.rst:685
msgid "Command line options"
msgstr "Options de la ligne de commande"
#: ../Doc/library/json.rst:691
msgid "The JSON file to be validated or pretty-printed::"
#: ../Doc/library/json.rst:689
#, fuzzy
msgid "The JSON file to be validated or pretty-printed:"
msgstr "Le fichier JSON à valider ou réécrire élégamment : ::"
#: ../Doc/library/json.rst:705

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -644,19 +644,19 @@ msgid ""
"handler from the id. If, however, a user defines a ``my.package.MyHandler`` "
"which has an ``alternate`` handler, the configuration system would not know "
"that the ``alternate`` referred to a handler. To cater for this, a generic "
"resolution system allows the user to specify::"
"resolution system allows the user to specify:"
msgstr ""
#: ../Doc/library/logging.config.rst:551
#: ../Doc/library/logging.config.rst:553
msgid ""
"The literal string ``'cfg://handlers.file'`` will be resolved in an "
"analogous way to strings with the ``ext://`` prefix, but looking in the "
"configuration itself rather than the import namespace. The mechanism allows "
"access by dot or by index, in a similar way to that provided by ``str."
"format``. Thus, given the following snippet::"
"format``. Thus, given the following snippet:"
msgstr ""
#: ../Doc/library/logging.config.rst:567
#: ../Doc/library/logging.config.rst:571
msgid ""
"in the configuration, the string ``'cfg://handlers'`` would resolve to the "
"dict with key ``handlers``, the string ``'cfg://handlers.email`` would "
@ -672,7 +672,7 @@ msgid ""
"needed."
msgstr ""
#: ../Doc/library/logging.config.rst:581
#: ../Doc/library/logging.config.rst:585
msgid ""
"Given a string ``cfg://handlers.myhandler.mykey.123``, this will resolve to "
"``config_dict['handlers']['myhandler']['mykey']['123']``. If the string is "
@ -682,11 +682,11 @@ msgid ""
"['mykey']['123']`` if that fails."
msgstr ""
#: ../Doc/library/logging.config.rst:593
#: ../Doc/library/logging.config.rst:597
msgid "Import resolution and custom importers"
msgstr ""
#: ../Doc/library/logging.config.rst:595
#: ../Doc/library/logging.config.rst:599
msgid ""
"Import resolution, by default, uses the builtin :func:`__import__` function "
"to do its importing. You may want to replace this with your own importing "
@ -698,17 +698,17 @@ msgid ""
"instance level, you need to wrap it with :func:`staticmethod`. For example::"
msgstr ""
#: ../Doc/library/logging.config.rst:610
#: ../Doc/library/logging.config.rst:614
msgid ""
"You don't need to wrap with :func:`staticmethod` if you're setting the "
"import callable on a configurator *instance*."
msgstr ""
#: ../Doc/library/logging.config.rst:617
#: ../Doc/library/logging.config.rst:621
msgid "Configuration file format"
msgstr ""
#: ../Doc/library/logging.config.rst:619
#: ../Doc/library/logging.config.rst:623
msgid ""
"The configuration file format understood by :func:`fileConfig` is based on :"
"mod:`configparser` functionality. The file must contain sections called "
@ -725,7 +725,7 @@ msgid ""
"specified in a section called ``[logger_root]``."
msgstr ""
#: ../Doc/library/logging.config.rst:634
#: ../Doc/library/logging.config.rst:638
msgid ""
"The :func:`fileConfig` API is older than the :func:`dictConfig` API and does "
"not provide functionality to cover certain aspects of logging. For example, "
@ -738,17 +738,17 @@ msgid ""
"when it's convenient to do so."
msgstr ""
#: ../Doc/library/logging.config.rst:644
#: ../Doc/library/logging.config.rst:648
msgid "Examples of these sections in the file are given below."
msgstr ""
#: ../Doc/library/logging.config.rst:657
#: ../Doc/library/logging.config.rst:661
msgid ""
"The root logger must specify a level and a list of handlers. An example of a "
"root logger section is given below."
msgstr ""
#: ../Doc/library/logging.config.rst:666
#: ../Doc/library/logging.config.rst:670
msgid ""
"The ``level`` entry can be one of ``DEBUG, INFO, WARNING, ERROR, CRITICAL`` "
"or ``NOTSET``. For the root logger only, ``NOTSET`` means that all messages "
@ -756,7 +756,7 @@ msgid ""
"``logging`` package's namespace."
msgstr ""
#: ../Doc/library/logging.config.rst:671
#: ../Doc/library/logging.config.rst:675
msgid ""
"The ``handlers`` entry is a comma-separated list of handler names, which "
"must appear in the ``[handlers]`` section. These names must appear in the "
@ -764,13 +764,13 @@ msgid ""
"file."
msgstr ""
#: ../Doc/library/logging.config.rst:676
#: ../Doc/library/logging.config.rst:680
msgid ""
"For loggers other than the root logger, some additional information is "
"required. This is illustrated by the following example."
msgstr ""
#: ../Doc/library/logging.config.rst:687
#: ../Doc/library/logging.config.rst:691
msgid ""
"The ``level`` and ``handlers`` entries are interpreted as for the root "
"logger, except that if a non-root logger's level is specified as ``NOTSET``, "
@ -783,20 +783,20 @@ msgid ""
"application to get the logger."
msgstr ""
#: ../Doc/library/logging.config.rst:696
#: ../Doc/library/logging.config.rst:700
msgid ""
"Sections which specify handler configuration are exemplified by the "
"following."
msgstr ""
#: ../Doc/library/logging.config.rst:706
#: ../Doc/library/logging.config.rst:710
msgid ""
"The ``class`` entry indicates the handler's class (as determined by :func:"
"`eval` in the ``logging`` package's namespace). The ``level`` is interpreted "
"as for loggers, and ``NOTSET`` is taken to mean 'log everything'."
msgstr ""
#: ../Doc/library/logging.config.rst:710
#: ../Doc/library/logging.config.rst:714
msgid ""
"The ``formatter`` entry indicates the key name of the formatter for this "
"handler. If blank, a default formatter (``logging._defaultFormatter``) is "
@ -804,7 +804,7 @@ msgid ""
"and have a corresponding section in the configuration file."
msgstr ""
#: ../Doc/library/logging.config.rst:715
#: ../Doc/library/logging.config.rst:719
msgid ""
"The ``args`` entry, when :func:`eval`\\ uated in the context of the "
"``logging`` package's namespace, is the list of arguments to the constructor "
@ -812,12 +812,12 @@ msgid ""
"or to the examples below, to see how typical entries are constructed."
msgstr ""
#: ../Doc/library/logging.config.rst:771
#: ../Doc/library/logging.config.rst:775
msgid ""
"Sections which specify formatter configuration are typified by the following."
msgstr ""
#: ../Doc/library/logging.config.rst:780
#: ../Doc/library/logging.config.rst:784
msgid ""
"The ``format`` entry is the overall format string, and the ``datefmt`` entry "
"is the :func:`strftime`\\ -compatible date/time format string. If empty, "
@ -828,7 +828,7 @@ msgid ""
"time in ISO8601 format is ``2003-01-23 00:29:50,411``."
msgstr ""
#: ../Doc/library/logging.config.rst:788
#: ../Doc/library/logging.config.rst:792
msgid ""
"The ``class`` entry is optional. It indicates the name of the formatter's "
"class (as a dotted module and class name.) This option is useful for "
@ -837,7 +837,7 @@ msgid ""
"condensed format."
msgstr ""
#: ../Doc/library/logging.config.rst:796
#: ../Doc/library/logging.config.rst:800
msgid ""
"Due to the use of :func:`eval` as described above, there are potential "
"security risks which result from using the :func:`listen` to send and "
@ -846,18 +846,18 @@ msgid ""
"`listen` documentation for more information."
msgstr ""
#: ../Doc/library/logging.config.rst:805
#: ../Doc/library/logging.config.rst:809
msgid "Module :mod:`logging`"
msgstr ""
#: ../Doc/library/logging.config.rst:805
#: ../Doc/library/logging.config.rst:809
msgid "API reference for the logging module."
msgstr ""
#: ../Doc/library/logging.config.rst:807
#: ../Doc/library/logging.config.rst:811
msgid "Module :mod:`logging.handlers`"
msgstr ""
#: ../Doc/library/logging.config.rst:808
#: ../Doc/library/logging.config.rst:812
msgid "Useful handlers included with the logging module."
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-13 22:28+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -562,7 +562,6 @@ msgid ""
msgstr ""
#: ../Doc/library/logging.handlers.rst:424
#: ../Doc/library/logging.handlers.rst:512
msgid ""
"If ``port`` is specified as ``None``, a Unix domain socket is created using "
"the value in ``host`` - otherwise, a TCP socket is created."
@ -669,6 +668,12 @@ msgid ""
"*port*."
msgstr ""
#: ../Doc/library/logging.handlers.rst:512
msgid ""
"If ``port`` is specified as ``None``, a Unix domain socket is created using "
"the value in ``host`` - otherwise, a UDP socket is created."
msgstr ""
#: ../Doc/library/logging.handlers.rst:518
msgid ""
"Pickles the record's attribute dictionary and writes it to the socket in "

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-08 09:58+0100\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-02-15 00:46+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -3992,8 +3992,9 @@ msgstr ""
"générés avant que *dirpath* ne soit lui-même généré."
#: ../Doc/library/os.rst:2728
#, fuzzy
msgid ""
"By default, errors from the :func:`listdir` call are ignored. If optional "
"By default, errors from the :func:`scandir` call are ignored. If optional "
"argument *onerror* is specified, it should be a function; it will be called "
"with one argument, an :exc:`OSError` instance. It can report the error to "
"continue with the walk, or raise the exception to abort the walk. Note that "

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -769,11 +769,10 @@ msgstr ""
#: ../Doc/reference/import.rst:620
msgid ""
"By definition, if a module has a ``__path__`` attribute, it is a package, "
"regardless of its value."
"By definition, if a module has a ``__path__`` attribute, it is a package."
msgstr ""
#: ../Doc/reference/import.rst:623
#: ../Doc/reference/import.rst:622
msgid ""
"A package's ``__path__`` attribute is used during imports of its "
"subpackages. Within the import machinery, it functions much the same as :"
@ -782,7 +781,7 @@ msgid ""
"than :data:`sys.path`."
msgstr ""
#: ../Doc/reference/import.rst:629
#: ../Doc/reference/import.rst:628
msgid ""
"``__path__`` must be an iterable of strings, but it may be empty. The same "
"rules used for :data:`sys.path` also apply to a package's ``__path__``, and :"
@ -790,7 +789,7 @@ msgid ""
"package's ``__path__``."
msgstr ""
#: ../Doc/reference/import.rst:634
#: ../Doc/reference/import.rst:633
msgid ""
"A package's ``__init__.py`` file may set or alter the package's ``__path__`` "
"attribute, and this was typically the way namespace packages were "
@ -800,18 +799,18 @@ msgid ""
"``__path__`` correctly for the namespace package."
msgstr ""
#: ../Doc/reference/import.rst:642
#: ../Doc/reference/import.rst:641
msgid "Module reprs"
msgstr ""
#: ../Doc/reference/import.rst:644
#: ../Doc/reference/import.rst:643
msgid ""
"By default, all modules have a usable repr, however depending on the "
"attributes set above, and in the module's spec, you can more explicitly "
"control the repr of module objects."
msgstr ""
#: ../Doc/reference/import.rst:648
#: ../Doc/reference/import.rst:647
msgid ""
"If the module has a spec (``__spec__``), the import machinery will try to "
"generate a repr from it. If that fails or there is no spec, the import "
@ -821,41 +820,41 @@ msgid ""
"for whatever information is missing."
msgstr ""
#: ../Doc/reference/import.rst:655
#: ../Doc/reference/import.rst:654
msgid "Here are the exact rules used:"
msgstr ""
#: ../Doc/reference/import.rst:657
#: ../Doc/reference/import.rst:656
msgid ""
"If the module has a ``__spec__`` attribute, the information in the spec is "
"used to generate the repr. The \"name\", \"loader\", \"origin\", and "
"\"has_location\" attributes are consulted."
msgstr ""
#: ../Doc/reference/import.rst:661
#: ../Doc/reference/import.rst:660
msgid ""
"If the module has a ``__file__`` attribute, this is used as part of the "
"module's repr."
msgstr ""
#: ../Doc/reference/import.rst:664
#: ../Doc/reference/import.rst:663
msgid ""
"If the module has no ``__file__`` but does have a ``__loader__`` that is not "
"``None``, then the loader's repr is used as part of the module's repr."
msgstr ""
#: ../Doc/reference/import.rst:667
#: ../Doc/reference/import.rst:666
msgid "Otherwise, just use the module's ``__name__`` in the repr."
msgstr ""
#: ../Doc/reference/import.rst:669
#: ../Doc/reference/import.rst:668
msgid ""
"Use of :meth:`loader.module_repr() <importlib.abc.Loader.module_repr>` has "
"been deprecated and the module spec is now used by the import machinery to "
"generate a module repr."
msgstr ""
#: ../Doc/reference/import.rst:674
#: ../Doc/reference/import.rst:673
msgid ""
"For backward compatibility with Python 3.3, the module repr will be "
"generated by calling the loader's :meth:`~importlib.abc.Loader.module_repr` "
@ -863,11 +862,11 @@ msgid ""
"the method is deprecated."
msgstr ""
#: ../Doc/reference/import.rst:681
#: ../Doc/reference/import.rst:680
msgid "The Path Based Finder"
msgstr ""
#: ../Doc/reference/import.rst:686
#: ../Doc/reference/import.rst:685
msgid ""
"As mentioned previously, Python comes with several default meta path "
"finders. One of these, called the :term:`path based finder` (:class:"
@ -876,14 +875,14 @@ msgid ""
"a location to search for modules."
msgstr ""
#: ../Doc/reference/import.rst:692
#: ../Doc/reference/import.rst:691
msgid ""
"The path based finder itself doesn't know how to import anything. Instead, "
"it traverses the individual path entries, associating each of them with a "
"path entry finder that knows how to handle that particular kind of path."
msgstr ""
#: ../Doc/reference/import.rst:696
#: ../Doc/reference/import.rst:695
msgid ""
"The default set of path entry finders implement all the semantics for "
"finding modules on the file system, handling special file types such as "
@ -894,14 +893,14 @@ msgid ""
"from zipfiles."
msgstr ""
#: ../Doc/reference/import.rst:703
#: ../Doc/reference/import.rst:702
msgid ""
"Path entries need not be limited to file system locations. They can refer "
"to URLs, database queries, or any other location that can be specified as a "
"string."
msgstr ""
#: ../Doc/reference/import.rst:707
#: ../Doc/reference/import.rst:706
msgid ""
"The path based finder provides additional hooks and protocols so that you "
"can extend and customize the types of searchable path entries. For example, "
@ -912,7 +911,7 @@ msgid ""
"from the web."
msgstr ""
#: ../Doc/reference/import.rst:715
#: ../Doc/reference/import.rst:714
msgid ""
"A word of warning: this section and the previous both use the term *finder*, "
"distinguishing between them by using the terms :term:`meta path finder` and :"
@ -923,7 +922,7 @@ msgid ""
"process, as keyed off the :data:`sys.meta_path` traversal."
msgstr ""
#: ../Doc/reference/import.rst:723
#: ../Doc/reference/import.rst:722
msgid ""
"By contrast, path entry finders are in a sense an implementation detail of "
"the path based finder, and in fact, if the path based finder were to be "
@ -931,11 +930,11 @@ msgid ""
"would be invoked."
msgstr ""
#: ../Doc/reference/import.rst:730
#: ../Doc/reference/import.rst:729
msgid "Path entry finders"
msgstr ""
#: ../Doc/reference/import.rst:738
#: ../Doc/reference/import.rst:737
msgid ""
"The :term:`path based finder` is responsible for finding and loading Python "
"modules and packages whose location is specified with a string :term:`path "
@ -943,7 +942,7 @@ msgid ""
"not be limited to this."
msgstr ""
#: ../Doc/reference/import.rst:743
#: ../Doc/reference/import.rst:742
msgid ""
"As a meta path finder, the :term:`path based finder` implements the :meth:"
"`~importlib.abc.MetaPathFinder.find_spec` protocol previously described, "
@ -951,7 +950,7 @@ msgid ""
"modules are found and loaded from the :term:`import path`."
msgstr ""
#: ../Doc/reference/import.rst:748
#: ../Doc/reference/import.rst:747
msgid ""
"Three variables are used by the :term:`path based finder`, :data:`sys."
"path`, :data:`sys.path_hooks` and :data:`sys.path_importer_cache`. The "
@ -959,7 +958,7 @@ msgid ""
"additional ways that the import machinery can be customized."
msgstr ""
#: ../Doc/reference/import.rst:753
#: ../Doc/reference/import.rst:752
msgid ""
":data:`sys.path` contains a list of strings providing search locations for "
"modules and packages. It is initialized from the :data:`PYTHONPATH` "
@ -972,7 +971,7 @@ msgid ""
"determined by the individual :term:`path entry finders <path entry finder>`."
msgstr ""
#: ../Doc/reference/import.rst:764
#: ../Doc/reference/import.rst:763
msgid ""
"The :term:`path based finder` is a :term:`meta path finder`, so the import "
"machinery begins the :term:`import path` search by calling the path based "
@ -984,7 +983,7 @@ msgid ""
"top level import and :data:`sys.path` is used."
msgstr ""
#: ../Doc/reference/import.rst:773
#: ../Doc/reference/import.rst:772
msgid ""
"The path based finder iterates over every entry in the search path, and for "
"each of these, looks for an appropriate :term:`path entry finder` (:class:"
@ -1000,7 +999,7 @@ msgid ""
"finder to perform the path entry search again [#fnpic]_."
msgstr ""
#: ../Doc/reference/import.rst:786
#: ../Doc/reference/import.rst:785
msgid ""
"If the path entry is not present in the cache, the path based finder "
"iterates over every callable in :data:`sys.path_hooks`. Each of the :term:"
@ -1016,7 +1015,7 @@ msgid ""
"decode the argument, it should raise :exc:`ImportError`."
msgstr ""
#: ../Doc/reference/import.rst:800
#: ../Doc/reference/import.rst:799
msgid ""
"If :data:`sys.path_hooks` iteration ends with no :term:`path entry finder` "
"being returned, then the path based finder's :meth:`~importlib.machinery."
@ -1026,7 +1025,7 @@ msgid ""
"could not find the module."
msgstr ""
#: ../Doc/reference/import.rst:807
#: ../Doc/reference/import.rst:806
msgid ""
"If a :term:`path entry finder` *is* returned by one of the :term:`path entry "
"hook` callables on :data:`sys.path_hooks`, then the following protocol is "
@ -1034,7 +1033,7 @@ msgid ""
"the module."
msgstr ""
#: ../Doc/reference/import.rst:812
#: ../Doc/reference/import.rst:811
msgid ""
"The current working directory -- denoted by an empty string -- is handled "
"slightly differently from other entries on :data:`sys.path`. First, if the "
@ -1046,18 +1045,18 @@ msgid ""
"and not the empty string."
msgstr ""
#: ../Doc/reference/import.rst:822
#: ../Doc/reference/import.rst:821
msgid "Path entry finder protocol"
msgstr ""
#: ../Doc/reference/import.rst:824
#: ../Doc/reference/import.rst:823
msgid ""
"In order to support imports of modules and initialized packages and also to "
"contribute portions to namespace packages, path entry finders must implement "
"the :meth:`~importlib.abc.PathEntryFinder.find_spec` method."
msgstr ""
#: ../Doc/reference/import.rst:828
#: ../Doc/reference/import.rst:827
msgid ""
":meth:`~importlib.abc.PathEntryFinder.find_spec` takes two argument, the "
"fully qualified name of the module being imported, and the (optional) target "
@ -1065,14 +1064,14 @@ msgid ""
"spec will always have \"loader\" set (with one exception)."
msgstr ""
#: ../Doc/reference/import.rst:833
#: ../Doc/reference/import.rst:832
msgid ""
"To indicate to the import machinery that the spec represents a namespace :"
"term:`portion`. the path entry finder sets \"loader\" on the spec to "
"``None`` and \"submodule_search_locations\" to a list containing the portion."
msgstr ""
#: ../Doc/reference/import.rst:838
#: ../Doc/reference/import.rst:837
msgid ""
":meth:`~importlib.abc.PathEntryFinder.find_spec` replaced :meth:`~importlib."
"abc.PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder."
@ -1080,7 +1079,7 @@ msgid ""
"``find_spec()`` is not defined."
msgstr ""
#: ../Doc/reference/import.rst:844
#: ../Doc/reference/import.rst:843
msgid ""
"Older path entry finders may implement one of these two deprecated methods "
"instead of ``find_spec()``. The methods are still respected for the sake of "
@ -1088,7 +1087,7 @@ msgid ""
"path entry finder, the legacy methods are ignored."
msgstr ""
#: ../Doc/reference/import.rst:849
#: ../Doc/reference/import.rst:848
msgid ""
":meth:`~importlib.abc.PathEntryFinder.find_loader` takes one argument, the "
"fully qualified name of the module being imported. ``find_loader()`` "
@ -1103,14 +1102,14 @@ msgid ""
"although it can be empty."
msgstr ""
#: ../Doc/reference/import.rst:861
#: ../Doc/reference/import.rst:860
msgid ""
"If ``find_loader()`` returns a non-``None`` loader value, the portion is "
"ignored and the loader is returned from the path based finder, terminating "
"the search through the path entries."
msgstr ""
#: ../Doc/reference/import.rst:865
#: ../Doc/reference/import.rst:864
msgid ""
"For backwards compatibility with other implementations of the import "
"protocol, many path entry finders also support the same, traditional "
@ -1120,7 +1119,7 @@ msgid ""
"initial call to the path hook)."
msgstr ""
#: ../Doc/reference/import.rst:872
#: ../Doc/reference/import.rst:871
msgid ""
"The ``find_module()`` method on path entry finders is deprecated, as it does "
"not allow the path entry finder to contribute portions to namespace "
@ -1129,18 +1128,18 @@ msgid ""
"preference to ``find_module()``."
msgstr ""
#: ../Doc/reference/import.rst:880
#: ../Doc/reference/import.rst:879
msgid "Replacing the standard import system"
msgstr ""
#: ../Doc/reference/import.rst:882
#: ../Doc/reference/import.rst:881
msgid ""
"The most reliable mechanism for replacing the entire import system is to "
"delete the default contents of :data:`sys.meta_path`, replacing them "
"entirely with a custom meta path hook."
msgstr ""
#: ../Doc/reference/import.rst:886
#: ../Doc/reference/import.rst:885
msgid ""
"If it is acceptable to only alter the behaviour of import statements without "
"affecting other APIs that access the import system, then replacing the "
@ -1149,7 +1148,7 @@ msgid ""
"statements within that module."
msgstr ""
#: ../Doc/reference/import.rst:892
#: ../Doc/reference/import.rst:891
msgid ""
"To selectively prevent import of some modules from a hook early on the meta "
"path (rather than disabling the standard import system entirely), it is "
@ -1159,11 +1158,11 @@ msgid ""
"exception terminates it immediately."
msgstr ""
#: ../Doc/reference/import.rst:901
#: ../Doc/reference/import.rst:900
msgid "Special considerations for __main__"
msgstr ""
#: ../Doc/reference/import.rst:903
#: ../Doc/reference/import.rst:902
msgid ""
"The :mod:`__main__` module is a special case relative to Python's import "
"system. As noted :ref:`elsewhere <programs>`, the ``__main__`` module is "
@ -1174,17 +1173,17 @@ msgid ""
"interpreter is invoked."
msgstr ""
#: ../Doc/reference/import.rst:914
#: ../Doc/reference/import.rst:913
msgid "__main__.__spec__"
msgstr ""
#: ../Doc/reference/import.rst:916
#: ../Doc/reference/import.rst:915
msgid ""
"Depending on how :mod:`__main__` is initialized, ``__main__.__spec__`` gets "
"set appropriately or to ``None``."
msgstr ""
#: ../Doc/reference/import.rst:919
#: ../Doc/reference/import.rst:918
msgid ""
"When Python is started with the :option:`-m` option, ``__spec__`` is set to "
"the module spec of the corresponding module or package. ``__spec__`` is also "
@ -1192,30 +1191,30 @@ msgid ""
"directory, zipfile or other :data:`sys.path` entry."
msgstr ""
#: ../Doc/reference/import.rst:924
#: ../Doc/reference/import.rst:923
msgid ""
"In :ref:`the remaining cases <using-on-interface-options>` ``__main__."
"__spec__`` is set to ``None``, as the code used to populate the :mod:"
"`__main__` does not correspond directly with an importable module:"
msgstr ""
#: ../Doc/reference/import.rst:928
#: ../Doc/reference/import.rst:927
msgid "interactive prompt"
msgstr ""
#: ../Doc/reference/import.rst:929
#: ../Doc/reference/import.rst:928
msgid "-c switch"
msgstr ""
#: ../Doc/reference/import.rst:930
#: ../Doc/reference/import.rst:929
msgid "running from stdin"
msgstr ""
#: ../Doc/reference/import.rst:931
#: ../Doc/reference/import.rst:930
msgid "running directly from a source or bytecode file"
msgstr ""
#: ../Doc/reference/import.rst:933
#: ../Doc/reference/import.rst:932
msgid ""
"Note that ``__main__.__spec__`` is always ``None`` in the last case, *even "
"if* the file could technically be imported directly as a module instead. Use "
@ -1223,7 +1222,7 @@ msgid ""
"`__main__`."
msgstr ""
#: ../Doc/reference/import.rst:938
#: ../Doc/reference/import.rst:937
msgid ""
"Note also that even when ``__main__`` corresponds with an importable module "
"and ``__main__.__spec__`` is set accordingly, they're still considered "
@ -1232,44 +1231,44 @@ msgid ""
"populate the ``__main__`` namespace, and not during normal import."
msgstr ""
#: ../Doc/reference/import.rst:946
#: ../Doc/reference/import.rst:945
msgid "Open issues"
msgstr ""
#: ../Doc/reference/import.rst:948
#: ../Doc/reference/import.rst:947
msgid "XXX It would be really nice to have a diagram."
msgstr ""
#: ../Doc/reference/import.rst:950
#: ../Doc/reference/import.rst:949
msgid ""
"XXX * (import_machinery.rst) how about a section devoted just to the "
"attributes of modules and packages, perhaps expanding upon or supplanting "
"the related entries in the data model reference page?"
msgstr ""
#: ../Doc/reference/import.rst:954
#: ../Doc/reference/import.rst:953
msgid ""
"XXX runpy, pkgutil, et al in the library manual should all get \"See Also\" "
"links at the top pointing to the new import system section."
msgstr ""
#: ../Doc/reference/import.rst:957
#: ../Doc/reference/import.rst:956
msgid ""
"XXX Add more explanation regarding the different ways in which ``__main__`` "
"is initialized?"
msgstr ""
#: ../Doc/reference/import.rst:960
#: ../Doc/reference/import.rst:959
msgid ""
"XXX Add more info on ``__main__`` quirks/pitfalls (i.e. copy from :pep:"
"`395`)."
msgstr ""
#: ../Doc/reference/import.rst:965
#: ../Doc/reference/import.rst:964
msgid "References"
msgstr ""
#: ../Doc/reference/import.rst:967
#: ../Doc/reference/import.rst:966
msgid ""
"The import machinery has evolved considerably since Python's early days. "
"The original `specification for packages <https://www.python.org/doc/essays/"
@ -1277,37 +1276,37 @@ msgid ""
"since the writing of that document."
msgstr ""
#: ../Doc/reference/import.rst:972
#: ../Doc/reference/import.rst:971
msgid ""
"The original specification for :data:`sys.meta_path` was :pep:`302`, with "
"subsequent extension in :pep:`420`."
msgstr ""
#: ../Doc/reference/import.rst:975
#: ../Doc/reference/import.rst:974
msgid ""
":pep:`420` introduced :term:`namespace packages <namespace package>` for "
"Python 3.3. :pep:`420` also introduced the :meth:`find_loader` protocol as "
"an alternative to :meth:`find_module`."
msgstr ""
#: ../Doc/reference/import.rst:979
#: ../Doc/reference/import.rst:978
msgid ""
":pep:`366` describes the addition of the ``__package__`` attribute for "
"explicit relative imports in main modules."
msgstr ""
#: ../Doc/reference/import.rst:982
#: ../Doc/reference/import.rst:981
msgid ""
":pep:`328` introduced absolute and explicit relative imports and initially "
"proposed ``__name__`` for semantics :pep:`366` would eventually specify for "
"``__package__``."
msgstr ""
#: ../Doc/reference/import.rst:986
#: ../Doc/reference/import.rst:985
msgid ":pep:`338` defines executing modules as scripts."
msgstr ""
#: ../Doc/reference/import.rst:988
#: ../Doc/reference/import.rst:987
msgid ""
":pep:`451` adds the encapsulation of per-module import state in spec "
"objects. It also off-loads most of the boilerplate responsibilities of "
@ -1316,15 +1315,15 @@ msgid ""
"finders and loaders."
msgstr ""
#: ../Doc/reference/import.rst:995
#: ../Doc/reference/import.rst:994
msgid "Footnotes"
msgstr "Notes"
#: ../Doc/reference/import.rst:996
#: ../Doc/reference/import.rst:995
msgid "See :class:`types.ModuleType`."
msgstr ""
#: ../Doc/reference/import.rst:998
#: ../Doc/reference/import.rst:997
msgid ""
"The importlib implementation avoids using the return value directly. "
"Instead, it gets the module object by looking the module name up in :data:"
@ -1333,7 +1332,7 @@ msgid ""
"behavior that is not guaranteed to work in other Python implementations."
msgstr ""
#: ../Doc/reference/import.rst:1005
#: ../Doc/reference/import.rst:1004
msgid ""
"In legacy code, it is possible to find instances of :class:`imp."
"NullImporter` in the :data:`sys.path_importer_cache`. It is recommended "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-16 23:43+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-02-15 00:58+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -26,46 +26,6 @@ msgid ""
"Deprecated since version {deprecated}, will be removed in version {removed}"
msgstr ""
#: ../Doc/tools/templates/layout.html:10
msgid "Documentation "
msgstr "Documentation"
#: ../Doc/tools/templates/layout.html:21
msgid "Quick search"
msgstr "Recherche rapide"
#: ../Doc/tools/templates/layout.html:22
msgid "Go"
msgstr "Go"
#: ../Doc/tools/templates/layout.html:108
#: ../Doc/tools/templates/indexcontent.html:63
msgid "Copyright"
msgstr "Copyright"
#: ../Doc/tools/templates/layout.html:110
msgid "The Python Software Foundation is a non-profit corporation."
msgstr "La Python Software Foundation est une organisation à but non lucratif."
#: ../Doc/tools/templates/layout.html:111
msgid "Please donate."
msgstr "Les dons sont bienvenus."
#: ../Doc/tools/templates/layout.html:113
msgid "Last updated on %(last_updated)s."
msgstr "Dernière mise-à-jour le %(last_updated)s."
#: ../Doc/tools/templates/layout.html:114
msgid "<a href=\"%(pathto_bugs)s\">Found a bug</a>?"
msgstr "<a href=\"%(pathto_bugs)s\">Vous avez trouvé un bug</a> ?"
#: ../Doc/tools/templates/layout.html:116
msgid ""
"Created using <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
"%(sphinx_version)s."
msgstr ""
"Créé via <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> %(sphinx_version)s."
#: ../Doc/tools/templates/indexcontent.html:8
msgid "Welcome! This is the documentation for Python %(release)s."
msgstr "Bienvenue sur la documentation de Python %(release)s."
@ -224,6 +184,11 @@ msgstr "À propos de la documentation"
msgid "History and License of Python"
msgstr "Histoire et licence de Python"
#: ../Doc/tools/templates/indexcontent.html:63
#: ../Doc/tools/templates/layout.html:108
msgid "Copyright"
msgstr "Copyright"
#: ../Doc/tools/templates/customsourcelink.html:3
msgid "This Page"
msgstr "Cette page"
@ -289,3 +254,38 @@ msgstr "Liste de livres"
#: ../Doc/tools/templates/indexsidebar.html:18
msgid "Audio/Visual Talks"
msgstr "Documents multimédia"
#: ../Doc/tools/templates/layout.html:10
msgid "Documentation "
msgstr "Documentation"
#: ../Doc/tools/templates/layout.html:21
msgid "Quick search"
msgstr "Recherche rapide"
#: ../Doc/tools/templates/layout.html:22
msgid "Go"
msgstr "Go"
#: ../Doc/tools/templates/layout.html:110
msgid "The Python Software Foundation is a non-profit corporation."
msgstr "La Python Software Foundation est une organisation à but non lucratif."
#: ../Doc/tools/templates/layout.html:111
msgid "Please donate."
msgstr "Les dons sont bienvenus."
#: ../Doc/tools/templates/layout.html:113
msgid "Last updated on %(last_updated)s."
msgstr "Dernière mise-à-jour le %(last_updated)s."
#: ../Doc/tools/templates/layout.html:114
msgid "<a href=\"%(pathto_bugs)s\">Found a bug</a>?"
msgstr "<a href=\"%(pathto_bugs)s\">Vous avez trouvé un bug</a> ?"
#: ../Doc/tools/templates/layout.html:116
msgid ""
"Created using <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
"%(sphinx_version)s."
msgstr ""
"Créé via <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> %(sphinx_version)s."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-02-01 23:24+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -783,10 +783,11 @@ msgid "Function Annotations"
msgstr "Annotations de fonctions"
#: ../Doc/tutorial/controlflow.rst:680
#, fuzzy
msgid ""
":ref:`Function annotations <function>` are completely optional metadata "
"information about the types used by user-defined functions (see :pep:`484` "
"for more information)."
"information about the types used by user-defined functions (see :pep:`3107` "
"and :pep:`484` for more information)."
msgstr ""
":ref:`Function annotations <function>` sont des métadonnées optionnelles "
"décrivant les types utilisés par une fonction définie par l'utilisateur "

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-02-07 13:42+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -519,14 +519,15 @@ msgid "Packages"
msgstr "Les paquets"
#: ../Doc/tutorial/modules.rst:380
#, fuzzy
msgid ""
"Packages are a way of structuring Python's module namespace by using "
"\"dotted module names\". For example, the module name :mod:`A.B` designates "
"a submodule named ``B`` in a package named ``A``. Just like the use of "
"modules saves the authors of different modules from having to worry about "
"each other's global variable names, the use of dotted module names saves the "
"authors of multi-module packages like NumPy or the Python Imaging Library "
"from having to worry about each other's module names."
"authors of multi-module packages like NumPy or Pillow from having to worry "
"about each other's module names."
msgstr ""
"Les paquets sont un moyen de structurer les espaces de noms des modules "
"Python en utilisant une notation \"pointée\". Par exemple, le nom de module :"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: 2018-03-16 21:46+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: \n"
@ -339,24 +339,26 @@ msgstr ""
"Affiche une brève description de toutes les options de la ligne de commande."
#: ../Doc/using/cmdline.rst:181
msgid "Print the Python version number and exit. Example output could be::"
#, fuzzy
msgid "Print the Python version number and exit. Example output could be:"
msgstr "Affiche la version de Python et termine. Par exemple : ::"
#: ../Doc/using/cmdline.rst:185
msgid "When given twice, print more information about the build, like::"
#: ../Doc/using/cmdline.rst:187
#, fuzzy
msgid "When given twice, print more information about the build, like:"
msgstr ""
"Lorsque l'option est doublée, affiche davantage d'informations sur la "
"manière dont Python a été compilé, comme ::"
#: ../Doc/using/cmdline.rst:190
#: ../Doc/using/cmdline.rst:194
msgid "The ``-VV`` option."
msgstr "option ``-VV``."
#: ../Doc/using/cmdline.rst:196
#: ../Doc/using/cmdline.rst:200
msgid "Miscellaneous options"
msgstr "Options diverses"
#: ../Doc/using/cmdline.rst:200
#: ../Doc/using/cmdline.rst:204
msgid ""
"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with :"
"class:`str` or :class:`bytes` with :class:`int`. Issue an error when the "
@ -367,11 +369,11 @@ msgstr ""
"class:`str` ou un objet de type :class:`bytes` avec un objet de type :class:"
"`int`. Lève une erreur si cette option est doublée (:option:`!-bb`)."
#: ../Doc/using/cmdline.rst:204
#: ../Doc/using/cmdline.rst:208
msgid "Affects comparisons of :class:`bytes` with :class:`int`."
msgstr "Concerne les comparaisons de :class:`bytes` avec :class:`int`."
#: ../Doc/using/cmdline.rst:209
#: ../Doc/using/cmdline.rst:213
msgid ""
"If given, Python won't try to write ``.pyc`` files on the import of source "
"modules. See also :envvar:`PYTHONDONTWRITEBYTECODE`."
@ -380,7 +382,7 @@ msgstr ""
"pyo`` à l'importation des modules source. Voir aussi :envvar:"
"`PYTHONDONTWRITEBYTECODE`."
#: ../Doc/using/cmdline.rst:215
#: ../Doc/using/cmdline.rst:219
msgid ""
"Turn on parser debugging output (for wizards only, depending on compilation "
"options). See also :envvar:`PYTHONDEBUG`."
@ -389,7 +391,7 @@ msgstr ""
"uniquement, en fonction des options de compilation). Voir aussi :envvar:"
"`PYTHONDEBUG`."
#: ../Doc/using/cmdline.rst:221
#: ../Doc/using/cmdline.rst:225
msgid ""
"Ignore all :envvar:`PYTHON*` environment variables, e.g. :envvar:"
"`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set."
@ -397,7 +399,7 @@ msgstr ""
"Ignore toutes les variables d'environnement :envvar:`PYTHON*` qui pourraient "
"être définies. Par exemple, :envvar:`PYTHONPATH` et :envvar:`PYTHONHOME`."
#: ../Doc/using/cmdline.rst:227
#: ../Doc/using/cmdline.rst:231
msgid ""
"When a script is passed as first argument or the :option:`-c` option is "
"used, enter interactive mode after executing the script or the command, even "
@ -409,7 +411,7 @@ msgstr ""
"la commande, même lorsque :data:`sys.stdin` ne semble pas être un terminal. "
"Le fichier :envvar:`PYTHONSTARTUP` n'est pas lu."
#: ../Doc/using/cmdline.rst:232
#: ../Doc/using/cmdline.rst:236
msgid ""
"This can be useful to inspect global variables or a stack trace when a "
"script raises an exception. See also :envvar:`PYTHONINSPECT`."
@ -418,7 +420,7 @@ msgstr ""
"pile lorsque le script lève une exception. Voir aussi :envvar:"
"`PYTHONINSPECT`."
#: ../Doc/using/cmdline.rst:238
#: ../Doc/using/cmdline.rst:242
msgid ""
"Run Python in isolated mode. This also implies -E and -s. In isolated mode :"
"data:`sys.path` contains neither the script's directory nor the user's site-"
@ -432,7 +434,7 @@ msgstr ""
"envvar:`PYTHON*` sont aussi ignorées. Davantage de restrictions peuvent être "
"imposées pour éviter que l'utilisateur n'injecte du code malicieux."
#: ../Doc/using/cmdline.rst:249
#: ../Doc/using/cmdline.rst:253
msgid ""
"Remove assert statements and any code conditional on the value of :const:"
"`__debug__`. Augment the filename for compiled (:term:`bytecode`) files by "
@ -440,23 +442,23 @@ msgid ""
"envvar:`PYTHONOPTIMIZE`."
msgstr ""
#: ../Doc/using/cmdline.rst:254 ../Doc/using/cmdline.rst:264
#: ../Doc/using/cmdline.rst:258 ../Doc/using/cmdline.rst:268
msgid "Modify ``.pyc`` filenames according to :pep:`488`."
msgstr ""
#: ../Doc/using/cmdline.rst:260
#: ../Doc/using/cmdline.rst:264
msgid ""
"Do :option:`-O` and also discard docstrings. Augment the filename for "
"compiled (:term:`bytecode`) files by adding ``.opt-2`` before the ``.pyc`` "
"extension (see :pep:`488`)."
msgstr ""
#: ../Doc/using/cmdline.rst:270
#: ../Doc/using/cmdline.rst:274
msgid ""
"Don't display the copyright and version messages even in interactive mode."
msgstr "N'affiche pas le copyright et la version, même en mode interactif."
#: ../Doc/using/cmdline.rst:277
#: ../Doc/using/cmdline.rst:281
msgid ""
"Kept for compatibility. On Python 3.3 and greater, hash randomization is "
"turned on by default."
@ -464,7 +466,7 @@ msgstr ""
"Conservé pour compatibilité ascendante. Sur Python 3.3 ou supérieur, la "
"randomisation des empreintes (*hash* en anglais) est activée par défaut."
#: ../Doc/using/cmdline.rst:280
#: ../Doc/using/cmdline.rst:284
msgid ""
"On previous versions of Python, this option turns on hash randomization, so "
"that the :meth:`__hash__` values of str, bytes and datetime are \"salted\" "
@ -479,7 +481,7 @@ msgstr ""
"processus Python, il n'est pas prévisible pour des invocations répétées de "
"code Python."
#: ../Doc/using/cmdline.rst:286
#: ../Doc/using/cmdline.rst:290
msgid ""
"Hash randomization is intended to provide protection against a denial-of-"
"service caused by carefully-chosen inputs that exploit the worst case "
@ -492,7 +494,7 @@ msgstr ""
"c'est-à-dire avec une complexité en O(n^2). Voir http://www.ocert.org/"
"advisories/ocert-2011-003.html pour obtenir les détails."
#: ../Doc/using/cmdline.rst:291
#: ../Doc/using/cmdline.rst:295
msgid ""
":envvar:`PYTHONHASHSEED` allows you to set a fixed value for the hash seed "
"secret."
@ -500,7 +502,7 @@ msgstr ""
":envvar:`PYTHONHASHSEED` vous permet de définir vous-même la valeur du sel "
"pour l'algorithme de calcul des empreintes."
#: ../Doc/using/cmdline.rst:299
#: ../Doc/using/cmdline.rst:303
msgid ""
"Don't add the :data:`user site-packages directory <site.USER_SITE>` to :data:"
"`sys.path`."
@ -508,12 +510,12 @@ msgstr ""
"N'ajoute pas le répertoire utilisateur :data:`site-packages <site."
"USER_SITE>` à :data:`sys.path`."
#: ../Doc/using/cmdline.rst:304 ../Doc/using/cmdline.rst:593
#: ../Doc/using/cmdline.rst:605
#: ../Doc/using/cmdline.rst:308 ../Doc/using/cmdline.rst:599
#: ../Doc/using/cmdline.rst:611
msgid ":pep:`370` -- Per user site-packages directory"
msgstr ":pep:`370` -- Répertoire site-packages propre à l'utilisateur."
#: ../Doc/using/cmdline.rst:309
#: ../Doc/using/cmdline.rst:313
msgid ""
"Disable the import of the module :mod:`site` and the site-dependent "
"manipulations of :data:`sys.path` that it entails. Also disable these "
@ -525,7 +527,7 @@ msgstr ""
"mod:`site` est importé explicitement plus tard (appelez :func:`site.main` si "
"vous voulez les déclencher)."
#: ../Doc/using/cmdline.rst:317
#: ../Doc/using/cmdline.rst:321
msgid ""
"Force the binary layer of the stdout and stderr streams (which is available "
"as their ``buffer`` attribute) to be unbuffered. The text I/O layer will "
@ -538,11 +540,11 @@ msgstr ""
"mise en tampon ligne par ligne lors de l'écriture sur la console, ou par "
"blocs si elle est redirigée sur un fichier non-interactif."
#: ../Doc/using/cmdline.rst:322
#: ../Doc/using/cmdline.rst:326
msgid "See also :envvar:`PYTHONUNBUFFERED`."
msgstr "Voir aussi :envvar:`PYTHONUNBUFFERED`."
#: ../Doc/using/cmdline.rst:327
#: ../Doc/using/cmdline.rst:331
msgid ""
"Print a message each time a module is initialized, showing the place "
"(filename or built-in module) from which it is loaded. When given twice (:"
@ -557,17 +559,18 @@ msgstr ""
"des informations sur le nettoyage du module à la fin. Voir aussi :envvar:"
"`PYTHONVERBOSE`."
#: ../Doc/using/cmdline.rst:337
#: ../Doc/using/cmdline.rst:341
#, fuzzy
msgid ""
"Warning control. Python's warning machinery by default prints warning "
"messages to :data:`sys.stderr`. A typical warning message has the following "
"form::"
"form:"
msgstr ""
"Contrôle des avertissements. Le mécanisme d'avertissement de Python, par "
"défaut, affiche les messages d'avertissement sur :data:`sys.stderr`. Un "
"message d'avertissement type est de la forme suivante : ::"
#: ../Doc/using/cmdline.rst:343
#: ../Doc/using/cmdline.rst:349
msgid ""
"By default, each warning is printed once for each source line where it "
"occurs. This option controls how often warnings are printed."
@ -576,7 +579,7 @@ msgstr ""
"ligne de source où il se trouve. Cette option définit à quelle fréquence "
"afficher ces avertissements."
#: ../Doc/using/cmdline.rst:346
#: ../Doc/using/cmdline.rst:352
msgid ""
"Multiple :option:`-W` options may be given; when a warning matches more than "
"one option, the action for the last matching option is performed. Invalid :"
@ -589,7 +592,7 @@ msgstr ""
"message d'avertissement est affiché sur les options invalides au moment où "
"le premier avertissement est généré)."
#: ../Doc/using/cmdline.rst:351
#: ../Doc/using/cmdline.rst:357
msgid ""
"Warnings can also be controlled from within a Python program using the :mod:"
"`warnings` module."
@ -597,7 +600,7 @@ msgstr ""
"Les avertissements peuvent aussi être contrôlés dans le programme Python en "
"utilisant le module :mod:`warnings`."
#: ../Doc/using/cmdline.rst:354
#: ../Doc/using/cmdline.rst:360
msgid ""
"The simplest form of argument is one of the following action strings (or a "
"unique abbreviation):"
@ -605,19 +608,19 @@ msgstr ""
"La forme la plus simple de l'argument est l'une des chaînes d'actions "
"suivantes (ou une abréviation unique) :"
#: ../Doc/using/cmdline.rst:357
#: ../Doc/using/cmdline.rst:363
msgid "``ignore``"
msgstr ""
#: ../Doc/using/cmdline.rst:358
#: ../Doc/using/cmdline.rst:364
msgid "Ignore all warnings."
msgstr "Ignore tous les avertissements."
#: ../Doc/using/cmdline.rst:360
#: ../Doc/using/cmdline.rst:366
msgid "``default``"
msgstr ""
#: ../Doc/using/cmdline.rst:360
#: ../Doc/using/cmdline.rst:366
msgid ""
"Explicitly request the default behavior (printing each warning once per "
"source line)."
@ -625,11 +628,11 @@ msgstr ""
"Demande explicitement le comportement par défaut (affiche chaque "
"avertissement une fois par ligne de code source)."
#: ../Doc/using/cmdline.rst:364
#: ../Doc/using/cmdline.rst:370
msgid "``all``"
msgstr "``all``"
#: ../Doc/using/cmdline.rst:363
#: ../Doc/using/cmdline.rst:369
msgid ""
"Print a warning each time it occurs (this may generate many messages if a "
"warning is triggered repeatedly for the same source line, such as inside a "
@ -639,39 +642,39 @@ msgstr ""
"beaucoup de messages si l'avertissement est déclenché à plusieurs reprises, "
"comme à l'intérieur d'une boucle)."
#: ../Doc/using/cmdline.rst:366
#: ../Doc/using/cmdline.rst:372
msgid "``module``"
msgstr "``module``"
#: ../Doc/using/cmdline.rst:367
#: ../Doc/using/cmdline.rst:373
msgid "Print each warning only the first time it occurs in each module."
msgstr ""
"Affiche chaque avertissement uniquement la première fois qu'il apparaît dans "
"chaque module."
#: ../Doc/using/cmdline.rst:368
#: ../Doc/using/cmdline.rst:374
msgid "``once``"
msgstr ""
#: ../Doc/using/cmdline.rst:369
#: ../Doc/using/cmdline.rst:375
msgid "Print each warning only the first time it occurs in the program."
msgstr ""
"Affiche chaque avertissement uniquement la première fois qu'il apparaît dans "
"le programme."
#: ../Doc/using/cmdline.rst:371
#: ../Doc/using/cmdline.rst:377
msgid "``error``"
msgstr ""
#: ../Doc/using/cmdline.rst:371
#: ../Doc/using/cmdline.rst:377
msgid "Raise an exception instead of printing a warning message."
msgstr "Déclenche une exception au lieu d'afficher un message d'avertissement."
#: ../Doc/using/cmdline.rst:373
#: ../Doc/using/cmdline.rst:379
msgid "The full form of argument is::"
msgstr "La forme complète de l'argument est : ::"
#: ../Doc/using/cmdline.rst:377
#: ../Doc/using/cmdline.rst:383
msgid ""
"Here, *action* is as explained above but only applies to messages that match "
"the remaining fields. Empty fields match all values; trailing empty fields "
@ -697,19 +700,19 @@ msgstr ""
"correspond au numéro de ligne, où zéro correspond à n'importe quel numéro de "
"ligne et correspond donc à l'option par défaut."
#: ../Doc/using/cmdline.rst:389
#: ../Doc/using/cmdline.rst:395
msgid ":mod:`warnings` -- the warnings module"
msgstr ":mod:`warnings` -- le module qui gère les avertissements."
#: ../Doc/using/cmdline.rst:391
#: ../Doc/using/cmdline.rst:397
msgid ":pep:`230` -- Warning framework"
msgstr ":pep:`230` -- Gestion des alertes"
#: ../Doc/using/cmdline.rst:393
#: ../Doc/using/cmdline.rst:399
msgid ":envvar:`PYTHONWARNINGS`"
msgstr ""
#: ../Doc/using/cmdline.rst:398
#: ../Doc/using/cmdline.rst:404
msgid ""
"Skip the first line of the source, allowing use of non-Unix forms of ``#!"
"cmd``. This is intended for a DOS specific hack only."
@ -718,7 +721,7 @@ msgstr ""
"type ``#!cmd`` non conformes au standard Unix. L'objectif est de proposer "
"une astuce spécifique pour le DOS."
#: ../Doc/using/cmdline.rst:404
#: ../Doc/using/cmdline.rst:410
msgid ""
"Reserved for various implementation-specific options. CPython currently "
"defines the following possible values:"
@ -726,11 +729,11 @@ msgstr ""
"Réservée pour les options spécifiques aux différentes implémentations. "
"CPython reconnaît actuellement les valeurs suivantes :"
#: ../Doc/using/cmdline.rst:407
#: ../Doc/using/cmdline.rst:413
msgid "``-X faulthandler`` to enable :mod:`faulthandler`;"
msgstr "``-X faulthandler`` pour activer :mod:`faulthandler` ;"
#: ../Doc/using/cmdline.rst:408
#: ../Doc/using/cmdline.rst:414
msgid ""
"``-X showrefcount`` to output the total reference count and number of used "
"memory blocks when the program finishes or after each statement in the "
@ -741,7 +744,7 @@ msgstr ""
"entrée de l'interpréteur interactif. Ceci ne fonctionne que sur les versions "
"compilées en mode débogage."
#: ../Doc/using/cmdline.rst:411
#: ../Doc/using/cmdline.rst:417
msgid ""
"``-X tracemalloc`` to start tracing Python memory allocations using the :mod:"
"`tracemalloc` module. By default, only the most recent frame is stored in a "
@ -756,7 +759,7 @@ msgstr ""
"limite des traces à *NFRAME* appels. Voir :func:`tracemalloc.start` pour "
"plus d'informations."
#: ../Doc/using/cmdline.rst:416
#: ../Doc/using/cmdline.rst:422
msgid ""
"``-X showalloccount`` to output the total count of allocated objects for "
"each type when the program finishes. This only works when Python was built "
@ -766,7 +769,7 @@ msgstr ""
"total des objets alloués pour chaque type. Ceci ne fonctionne que si Python "
"a été compilé avec l'option ``COUNT_ALLOCS``."
#: ../Doc/using/cmdline.rst:420
#: ../Doc/using/cmdline.rst:426
msgid ""
"It also allows passing arbitrary values and retrieving them through the :"
"data:`sys._xoptions` dictionary."
@ -774,35 +777,35 @@ msgstr ""
"Il est aussi possible de passer des valeurs arbitraires et de les récupérer "
"par le dictionnaire :data:`sys._xoptions`."
#: ../Doc/using/cmdline.rst:423
#: ../Doc/using/cmdline.rst:429
msgid "The :option:`-X` option was added."
msgstr "L'option :option:`-X` a été ajoutée."
#: ../Doc/using/cmdline.rst:426
#: ../Doc/using/cmdline.rst:432
msgid "The ``-X faulthandler`` option."
msgstr "option ``-X faulthandler``."
#: ../Doc/using/cmdline.rst:429
#: ../Doc/using/cmdline.rst:435
msgid "The ``-X showrefcount`` and ``-X tracemalloc`` options."
msgstr "options ``-X showrefcount`` et ``-X tracemalloc`` ."
#: ../Doc/using/cmdline.rst:432
#: ../Doc/using/cmdline.rst:438
msgid "The ``-X showalloccount`` option."
msgstr "option ``-X showalloccount``."
#: ../Doc/using/cmdline.rst:437
#: ../Doc/using/cmdline.rst:443
msgid "Options you shouldn't use"
msgstr "Options à ne pas utiliser"
#: ../Doc/using/cmdline.rst:441
#: ../Doc/using/cmdline.rst:447
msgid "Reserved for use by Jython_."
msgstr "Utilisation réservée à Jython_."
#: ../Doc/using/cmdline.rst:449
#: ../Doc/using/cmdline.rst:455
msgid "Environment variables"
msgstr "Variables d'environnement"
#: ../Doc/using/cmdline.rst:451
#: ../Doc/using/cmdline.rst:457
msgid ""
"These environment variables influence Python's behavior, they are processed "
"before the command-line switches other than -E or -I. It is customary that "
@ -814,7 +817,7 @@ msgstr ""
"I. Il est d'usage que les options de la ligne de commande prennent le pas "
"sur les variables d'environnement en cas de conflit."
#: ../Doc/using/cmdline.rst:458
#: ../Doc/using/cmdline.rst:464
msgid ""
"Change the location of the standard Python libraries. By default, the "
"libraries are searched in :file:`{prefix}/lib/python{version}` and :file:"
@ -828,7 +831,7 @@ msgstr ""
"`{préfixe_exec}` sont des répertoires qui dépendent de l'installation (leur "
"valeur par défaut étant :file:`/usr/local`)."
#: ../Doc/using/cmdline.rst:464
#: ../Doc/using/cmdline.rst:470
msgid ""
"When :envvar:`PYTHONHOME` is set to a single directory, its value replaces "
"both :file:`{prefix}` and :file:`{exec_prefix}`. To specify different "
@ -839,7 +842,7 @@ msgstr ""
"spécifier des valeurs différentes à ces variables, définissez :envvar:"
"`PYTHONHOME` à :file:`{prefix}:{exec_prefix}`."
#: ../Doc/using/cmdline.rst:471
#: ../Doc/using/cmdline.rst:477
msgid ""
"Augment the default search path for module files. The format is the same as "
"the shell's :envvar:`PATH`: one or more directory pathnames separated by :"
@ -852,7 +855,7 @@ msgstr ""
"points sous Unix et point-virgule sous Windows). Les répertoires qui "
"n'existent pas sont ignorés silencieusement."
#: ../Doc/using/cmdline.rst:476
#: ../Doc/using/cmdline.rst:482
msgid ""
"In addition to normal directories, individual :envvar:`PYTHONPATH` entries "
"may refer to zipfiles containing pure Python modules (in either source or "
@ -864,7 +867,7 @@ msgstr ""
"compilée). Les modules d'extensions ne peuvent pas être importés à partir de "
"fichiers zip."
#: ../Doc/using/cmdline.rst:480
#: ../Doc/using/cmdline.rst:486
msgid ""
"The default search path is installation dependent, but generally begins "
"with :file:`{prefix}/lib/python{version}` (see :envvar:`PYTHONHOME` above). "
@ -874,7 +877,7 @@ msgstr ""
"généralement par :file:`{préfixe}/lib/python{version}` (voir :envvar:"
"`PYTHONHOME` ci-dessus). Il est *toujours* ajouté à :envvar:`PYTHONPATH`."
#: ../Doc/using/cmdline.rst:484
#: ../Doc/using/cmdline.rst:490
msgid ""
"An additional directory will be inserted in the search path in front of :"
"envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-"
@ -886,7 +889,7 @@ msgstr ""
"envvar:`PYTHONPATH`. Le chemin de recherche peut être manipulé depuis un "
"programme Python avec la variable :data:`sys.path`."
#: ../Doc/using/cmdline.rst:492
#: ../Doc/using/cmdline.rst:498
msgid ""
"If this is the name of a readable file, the Python commands in that file are "
"executed before the first prompt is displayed in interactive mode. The file "
@ -905,7 +908,7 @@ msgstr ""
"`sys.ps2` ainsi que la fonction automatique (*hook* en anglais) :data:`sys."
"__interactivehook__` dans ce fichier."
#: ../Doc/using/cmdline.rst:502
#: ../Doc/using/cmdline.rst:508
msgid ""
"If this is set to a non-empty string it is equivalent to specifying the :"
"option:`-O` option. If set to an integer, it is equivalent to specifying :"
@ -915,7 +918,7 @@ msgstr ""
"l'option :option:`-O`. Si elle est définie à un entier, c'est équivalent à "
"spécifier l'option :option:`-O` plusieurs fois."
#: ../Doc/using/cmdline.rst:509
#: ../Doc/using/cmdline.rst:515
msgid ""
"If this is set to a non-empty string it is equivalent to specifying the :"
"option:`-d` option. If set to an integer, it is equivalent to specifying :"
@ -925,7 +928,7 @@ msgstr ""
"l'option :option:`-d`. Si elle est définie à un entier, c'est équivalent à "
"spécifier l'option :option:`-d` plusieurs fois."
#: ../Doc/using/cmdline.rst:516
#: ../Doc/using/cmdline.rst:522
msgid ""
"If this is set to a non-empty string it is equivalent to specifying the :"
"option:`-i` option."
@ -933,7 +936,7 @@ msgstr ""
"Si elle est définie à une chaîne non vide, C'est équivalent à spécifier "
"l'option :option:`-i`."
#: ../Doc/using/cmdline.rst:519
#: ../Doc/using/cmdline.rst:525
msgid ""
"This variable can also be modified by Python code using :data:`os.environ` "
"to force inspect mode on program termination."
@ -941,7 +944,7 @@ msgstr ""
"Cette variable peut aussi être modifiée par du code Python en utilisant :"
"data:`os.environ` pour forcer le mode introspectif à la fin du programme."
#: ../Doc/using/cmdline.rst:525
#: ../Doc/using/cmdline.rst:531
msgid ""
"If this is set to a non-empty string it is equivalent to specifying the :"
"option:`-u` option."
@ -949,7 +952,7 @@ msgstr ""
"Si elle est définie à une chaîne non vide, c'est équivalent à spécifier "
"l'option :option:`-u`."
#: ../Doc/using/cmdline.rst:531
#: ../Doc/using/cmdline.rst:537
msgid ""
"If this is set to a non-empty string it is equivalent to specifying the :"
"option:`-v` option. If set to an integer, it is equivalent to specifying :"
@ -959,7 +962,7 @@ msgstr ""
"l'option :option:`-v`. Si elle est définie à un entier, c'est équivalent à "
"spécifier l'option :option:`-v` plusieurs fois."
#: ../Doc/using/cmdline.rst:538
#: ../Doc/using/cmdline.rst:544
msgid ""
"If this is set, Python ignores case in :keyword:`import` statements. This "
"only works on Windows and OS X."
@ -967,7 +970,7 @@ msgstr ""
"Si elle est définie, Python ignore la casse dans les instructions :keyword:"
"`import`. Ceci ne fonctionne que sous Windows et OS X."
#: ../Doc/using/cmdline.rst:544
#: ../Doc/using/cmdline.rst:550
msgid ""
"If this is set to a non-empty string, Python won't try to write ``.pyc`` "
"files on the import of source modules. This is equivalent to specifying "
@ -977,7 +980,7 @@ msgstr ""
"fichier ``.pyc`` à l'importation des modules sources. C'est équivalent à "
"spécifier l'option :option:`-B`."
#: ../Doc/using/cmdline.rst:551
#: ../Doc/using/cmdline.rst:557
msgid ""
"If this variable is not set or set to ``random``, a random value is used to "
"seed the hashes of str, bytes and datetime objects."
@ -986,7 +989,7 @@ msgstr ""
"aléatoire est utilisée pour saler les empreintes des objets chaines, bytes "
"et datetime."
#: ../Doc/using/cmdline.rst:554
#: ../Doc/using/cmdline.rst:560
msgid ""
"If :envvar:`PYTHONHASHSEED` is set to an integer value, it is used as a "
"fixed seed for generating the hash() of the types covered by the hash "
@ -996,7 +999,7 @@ msgstr ""
"utilisée comme valeur de salage pour générer les empreintes des types "
"utilisant la randomisation du hachage."
#: ../Doc/using/cmdline.rst:558
#: ../Doc/using/cmdline.rst:564
msgid ""
"Its purpose is to allow repeatable hashing, such as for selftests for the "
"interpreter itself, or to allow a cluster of python processes to share hash "
@ -1006,7 +1009,7 @@ msgstr ""
"l'interpréteur lui-même ou pour qu'un groupe de processus Python puisse "
"partager des empreintes."
#: ../Doc/using/cmdline.rst:562
#: ../Doc/using/cmdline.rst:568
msgid ""
"The integer must be a decimal number in the range [0,4294967295]. "
"Specifying the value 0 will disable hash randomization."
@ -1015,7 +1018,7 @@ msgstr ""
"4 294 967 295. Spécifier la valeur 0 désactive la randomisation des "
"empreintes."
#: ../Doc/using/cmdline.rst:570
#: ../Doc/using/cmdline.rst:576
msgid ""
"If this is set before running the interpreter, it overrides the encoding "
"used for stdin/stdout/stderr, in the syntax ``encodingname:errorhandler``. "
@ -1029,7 +1032,7 @@ msgstr ""
"facultatifs tous les deux et possèdent la même signification que dans :func:"
"`str.encode`."
#: ../Doc/using/cmdline.rst:575
#: ../Doc/using/cmdline.rst:581
msgid ""
"For stderr, the ``:errorhandler`` part is ignored; the handler will always "
"be ``'backslashreplace'``."
@ -1037,11 +1040,11 @@ msgstr ""
"Pour la sortie d'erreur, la partie ``:gestionnaire_erreur`` est ignorée : le "
"gestionnaire est toujours ``'backslashreplace'``."
#: ../Doc/using/cmdline.rst:578
#: ../Doc/using/cmdline.rst:584
msgid "The ``encodingname`` part is now optional."
msgstr "la partie ``nom_encodage`` est maintenant optionnelle."
#: ../Doc/using/cmdline.rst:581
#: ../Doc/using/cmdline.rst:587
msgid ""
"On Windows, the encoding specified by this variable is ignored for "
"interactive console buffers unless :envvar:`PYTHONLEGACYWINDOWSSTDIO` is "
@ -1053,7 +1056,7 @@ msgstr ""
"`PYTHONLEGACYWINDOWSSTDIO` ne soit aussi spécifié. Les fichiers et tubes "
"(*pipes* en anglais) redirigés vers les flux standards ne sont pas concernés."
#: ../Doc/using/cmdline.rst:588
#: ../Doc/using/cmdline.rst:594
msgid ""
"If this is set, Python won't add the :data:`user site-packages directory "
"<site.USER_SITE>` to :data:`sys.path`."
@ -1061,7 +1064,7 @@ msgstr ""
"Si elle est définie, Python n'ajoute pas le répertoire :data:`site-packages "
"utilisateur <site.USER_SITE>` à :data:`sys.path`."
#: ../Doc/using/cmdline.rst:598
#: ../Doc/using/cmdline.rst:604
msgid ""
"Defines the :data:`user base directory <site.USER_BASE>`, which is used to "
"compute the path of the :data:`user site-packages directory <site."
@ -1073,7 +1076,7 @@ msgstr ""
"packages <site.USER_SITE>` et :ref:`Installation alternative : le schéma "
"user <inst-alt-install-user>` pour ``python setup.py install --user``."
#: ../Doc/using/cmdline.rst:610
#: ../Doc/using/cmdline.rst:616
msgid ""
"If this environment variable is set, ``sys.argv[0]`` will be set to its "
"value instead of the value got through the C runtime. Only works on Mac OS "
@ -1083,7 +1086,7 @@ msgstr ""
"la même valeur au lieu de la valeur fournie par l'exécutable. Ne fonctionne "
"que sur Mac OS X."
#: ../Doc/using/cmdline.rst:616
#: ../Doc/using/cmdline.rst:622
msgid ""
"This is equivalent to the :option:`-W` option. If set to a comma separated "
"string, it is equivalent to specifying :option:`-W` multiple times."
@ -1092,7 +1095,7 @@ msgstr ""
"chaîne séparée par des virgules, c'est équivalent à spécifier l'option :"
"option:`-W` plusieurs fois."
#: ../Doc/using/cmdline.rst:622
#: ../Doc/using/cmdline.rst:628
msgid ""
"If this environment variable is set to a non-empty string, :func:"
"`faulthandler.enable` is called at startup: install a handler for :const:"
@ -1106,7 +1109,7 @@ msgstr ""
"`SIGILL` afin de générer une trace de la pile d'appels. C'est équivalent à "
"spécifier l'option :option:`-X` ``faulthandler``."
#: ../Doc/using/cmdline.rst:633
#: ../Doc/using/cmdline.rst:639
msgid ""
"If this environment variable is set to a non-empty string, start tracing "
"Python memory allocations using the :mod:`tracemalloc` module. The value of "
@ -1121,7 +1124,7 @@ msgstr ""
"ne stocke que l'appel le plus récent. Voir :func:`tracemalloc.start` pour "
"davantage d'informations."
#: ../Doc/using/cmdline.rst:644
#: ../Doc/using/cmdline.rst:650
msgid ""
"If this environment variable is set to a non-empty string, enable the :ref:"
"`debug mode <asyncio-debug-mode>` of the :mod:`asyncio` module."
@ -1129,17 +1132,17 @@ msgstr ""
"Si elle est définie à une chaîne non vide, active le :ref:`mode debogage "
"<asyncio-debug-mode>` du module :mod:`asyncio`."
#: ../Doc/using/cmdline.rst:652
#: ../Doc/using/cmdline.rst:658
msgid "Set the Python memory allocators and/or install debug hooks."
msgstr ""
"Définit l'allocateur mémoire de Python ou installe des fonctions "
"automatiques de débogage."
#: ../Doc/using/cmdline.rst:654
#: ../Doc/using/cmdline.rst:660
msgid "Set the family of memory allocators used by Python:"
msgstr "Définit la famille d'allocateurs mémoire utilisés par Python :"
#: ../Doc/using/cmdline.rst:656
#: ../Doc/using/cmdline.rst:662
msgid ""
"``malloc``: use the :c:func:`malloc` function of the C library for all "
"domains (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :c:data:"
@ -1149,7 +1152,7 @@ msgstr ""
"standard pour tous les domaines (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:"
"`PYMEM_DOMAIN_MEM`, :c:data:`PYMEM_DOMAIN_OBJ`)."
#: ../Doc/using/cmdline.rst:659
#: ../Doc/using/cmdline.rst:665
msgid ""
"``pymalloc``: use the :ref:`pymalloc allocator <pymalloc>` for :c:data:"
"`PYMEM_DOMAIN_MEM` and :c:data:`PYMEM_DOMAIN_OBJ` domains and use the :c:"
@ -1160,29 +1163,29 @@ msgstr ""
"utilise la fonction :c:func:`malloc` pour le domaine :c:data:"
"`PYMEM_DOMAIN_RAW`."
#: ../Doc/using/cmdline.rst:663
#: ../Doc/using/cmdline.rst:669
msgid "Install debug hooks:"
msgstr "Installe des fonctions automatiques de débogage :"
#: ../Doc/using/cmdline.rst:665
#: ../Doc/using/cmdline.rst:671
msgid "``debug``: install debug hooks on top of the default memory allocator"
msgstr ""
"``debug`` : installe des fonctions automatiques de débogage au-dessus de "
"l'allocateur mémoire par défaut."
#: ../Doc/using/cmdline.rst:666
#: ../Doc/using/cmdline.rst:672
msgid "``malloc_debug``: same as ``malloc`` but also install debug hooks"
msgstr ""
"``malloc_debug``: identique à ``malloc`` mais installe aussi des fonctions "
"automatiques de débogage."
#: ../Doc/using/cmdline.rst:667
#: ../Doc/using/cmdline.rst:673
msgid "``pymalloc_debug``: same as ``pymalloc`` but also install debug hooks"
msgstr ""
"``pymalloc_debug``: identique à ``pymalloc`` mais installe aussi des "
"fonctions automatiques de débogage."
#: ../Doc/using/cmdline.rst:669
#: ../Doc/using/cmdline.rst:675
msgid ""
"When Python is compiled in release mode, the default is ``pymalloc``. When "
"compiled in debug mode, the default is ``pymalloc_debug`` and the debug "
@ -1193,7 +1196,7 @@ msgstr ""
"est ``pymalloc_debug`` et les fonctions automatiques de débogage sont "
"utilisées automatiquement."
#: ../Doc/using/cmdline.rst:673
#: ../Doc/using/cmdline.rst:679
msgid ""
"If Python is configured without ``pymalloc`` support, ``pymalloc`` and "
"``pymalloc_debug`` are not available, the default is ``malloc`` in release "
@ -1203,7 +1206,7 @@ msgstr ""
"``pymalloc_debug`` ne sont pas disponibles. Les valeurs par défaut sont "
"``malloc`` en mode \"release\" et ``malloc_debug`` en mode débogage."
#: ../Doc/using/cmdline.rst:677
#: ../Doc/using/cmdline.rst:683
msgid ""
"See the :c:func:`PyMem_SetupDebugHooks` function for debug hooks on Python "
"memory allocators."
@ -1212,7 +1215,7 @@ msgstr ""
"concerne les fonctions automatiques de débogage de l'allocateur mémoire de "
"Python."
#: ../Doc/using/cmdline.rst:685
#: ../Doc/using/cmdline.rst:691
msgid ""
"If set to a non-empty string, Python will print statistics of the :ref:"
"`pymalloc memory allocator <pymalloc>` every time a new pymalloc object "
@ -1223,7 +1226,7 @@ msgstr ""
"qu'un objet est créé par ce gestionnaire, ainsi qu'à la fin de l'exécution "
"du programme."
#: ../Doc/using/cmdline.rst:689
#: ../Doc/using/cmdline.rst:695
msgid ""
"This variable is ignored if the :envvar:`PYTHONMALLOC` environment variable "
"is used to force the :c:func:`malloc` allocator of the C library, or if "
@ -1234,7 +1237,7 @@ msgstr ""
"bibliothèque C standard ou si Python est configuré sans le support de "
"``pymalloc``."
#: ../Doc/using/cmdline.rst:693
#: ../Doc/using/cmdline.rst:699
msgid ""
"This variable can now also be used on Python compiled in release mode. It "
"now has no effect if set to an empty string."
@ -1242,7 +1245,7 @@ msgstr ""
"Cette variable peut maintenant être utilisée avec Python compilé en mode "
"\"release\". Elle n'a pas d'effet si elle est définie à une chaine vide."
#: ../Doc/using/cmdline.rst:700
#: ../Doc/using/cmdline.rst:706
msgid ""
"If set to a non-empty string, the default filesystem encoding and errors "
"mode will revert to their pre-3.6 values of 'mbcs' and 'replace', "
@ -1254,7 +1257,7 @@ msgstr ""
"valeur pré-3.6, respectivement 'mbcs' et 'replace'. Sinon, les nouvelles "
"valeurs par défaut 'utf-8' et 'surrogatepass' sont utilisées."
#: ../Doc/using/cmdline.rst:704
#: ../Doc/using/cmdline.rst:710
msgid ""
"This may also be enabled at runtime with :func:`sys."
"_enablelegacywindowsfsencoding()`."
@ -1262,15 +1265,15 @@ msgstr ""
"Vous pouvez aussi activer ceci à l'exécution avec :func:`sys."
"_enablelegacywindowsfsencoding()`."
#: ../Doc/using/cmdline.rst:707 ../Doc/using/cmdline.rst:721
#: ../Doc/using/cmdline.rst:713 ../Doc/using/cmdline.rst:727
msgid "Availability: Windows"
msgstr "Disponibilité : Windows"
#: ../Doc/using/cmdline.rst:709
#: ../Doc/using/cmdline.rst:715
msgid "See :pep:`529` for more details."
msgstr "Voir la :pep:`529` pour plus d'informations."
#: ../Doc/using/cmdline.rst:714
#: ../Doc/using/cmdline.rst:720
msgid ""
"If set to a non-empty string, does not use the new console reader and "
"writer. This means that Unicode characters will be encoded according to the "
@ -1280,7 +1283,7 @@ msgstr ""
"et écrivain de la nouvelle console. Cela signifie que les caractères Unicode "
"sont encodés avec l'encodage de la console active plutôt qu'en utf-8."
#: ../Doc/using/cmdline.rst:718
#: ../Doc/using/cmdline.rst:724
msgid ""
"This variable is ignored if the standard streams are redirected (to files or "
"pipes) rather than referring to console buffers."
@ -1289,11 +1292,11 @@ msgstr ""
"fichiers ou des tubes) plutôt que pointant vers des mémoires tampons de "
"console."
#: ../Doc/using/cmdline.rst:726
#: ../Doc/using/cmdline.rst:732
msgid "Debug-mode variables"
msgstr "Variables en mode débogage"
#: ../Doc/using/cmdline.rst:728
#: ../Doc/using/cmdline.rst:734
msgid ""
"Setting these variables only has an effect in a debug build of Python, that "
"is, if Python was configured with the ``--with-pydebug`` build option."
@ -1302,13 +1305,13 @@ msgstr ""
"débogage, c'est-à-dire que l'option de compilation ``--with-pydebug`` a été "
"spécifiée."
#: ../Doc/using/cmdline.rst:733
#: ../Doc/using/cmdline.rst:739
msgid "If set, Python will print threading debug info."
msgstr ""
"Si elle est définie, Python affiche des informations de débogage relatives "
"aux différents fils d'exécution."
#: ../Doc/using/cmdline.rst:738
#: ../Doc/using/cmdline.rst:744
msgid ""
"If set, Python will dump objects and reference counts still alive after "
"shutting down the interpreter."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -199,40 +199,40 @@ msgstr ""
#: ../Doc/using/unix.rst:120
msgid ""
"To easily use Python scripts on Unix, you need to make them executable, e.g. "
"with ::"
"with"
msgstr ""
#: ../Doc/using/unix.rst:125
#: ../Doc/using/unix.rst:127
msgid ""
"and put an appropriate Shebang line at the top of the script. A good choice "
"is usually ::"
msgstr ""
#: ../Doc/using/unix.rst:130
#: ../Doc/using/unix.rst:132
msgid ""
"which searches for the Python interpreter in the whole :envvar:`PATH`. "
"However, some Unices may not have the :program:`env` command, so you may "
"need to hardcode ``/usr/bin/python3`` as the interpreter path."
msgstr ""
#: ../Doc/using/unix.rst:134
#: ../Doc/using/unix.rst:136
msgid ""
"To use shell commands in your Python scripts, look at the :mod:`subprocess` "
"module."
msgstr ""
#: ../Doc/using/unix.rst:138
#: ../Doc/using/unix.rst:140
msgid "Editors and IDEs"
msgstr ""
#: ../Doc/using/unix.rst:140
#: ../Doc/using/unix.rst:142
msgid ""
"There are a number of IDEs that support Python programming language. Many "
"editors and IDEs provide syntax highlighting, debugging tools, and PEP-8 "
"checks."
msgstr ""
#: ../Doc/using/unix.rst:143
#: ../Doc/using/unix.rst:145
msgid ""
"Please go to `Python Editors <https://wiki.python.org/moin/PythonEditors>`_ "
"and `Integrated Development Environments <https://wiki.python.org/moin/"

File diff suppressed because it is too large Load Diff