forked from AFPy/python-docs-fr
merge pot files. (#297)
* merge pot files. * FIX from travis. * FIX a/à.
This commit is contained in:
parent
e88147e63c
commit
46b1f959af
|
@ -5,14 +5,14 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-16 23:59+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: \n"
|
||||
"X-Generator: Poedit 2.0.2\n"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:11
|
||||
|
|
|
@ -6,9 +6,10 @@ msgstr ""
|
|||
"Project-Id-Version: Python 3.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"PO-Revision-Date: 2018-08-03 23:47+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
|
|
@ -5,7 +5,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-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -62,47 +62,40 @@ msgstr ""
|
|||
msgid "The following functions allow marshalled values to be read back in."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:43
|
||||
msgid ""
|
||||
"XXX What about error detection? It appears that reading past the end of the "
|
||||
"file will always result in a negative numeric value (where that's relevant), "
|
||||
"but it's not clear that negative values won't be handled properly when "
|
||||
"there's no error. What's the right way to tell? Should only non-negative "
|
||||
"values be written using these routines?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:52
|
||||
#: ../Doc/c-api/marshal.rst:46
|
||||
msgid ""
|
||||
"Return a C :c:type:`long` from the data stream in a :c:type:`FILE\\*` opened "
|
||||
"for reading. Only a 32-bit value can be read in using this function, "
|
||||
"regardless of the native size of :c:type:`long`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:56 ../Doc/c-api/marshal.rst:65
|
||||
msgid "On error, raise an exception and return ``-1``."
|
||||
#: ../Doc/c-api/marshal.rst:50 ../Doc/c-api/marshal.rst:60
|
||||
msgid ""
|
||||
"On error, sets the appropriate exception (:exc:`EOFError`) and returns "
|
||||
"``-1``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:61
|
||||
#: ../Doc/c-api/marshal.rst:56
|
||||
msgid ""
|
||||
"Return a C :c:type:`short` from the data stream in a :c:type:`FILE\\*` "
|
||||
"opened for reading. Only a 16-bit value can be read in using this function, "
|
||||
"regardless of the native size of :c:type:`short`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:70
|
||||
#: ../Doc/c-api/marshal.rst:66
|
||||
msgid ""
|
||||
"Return a Python object from the data stream in a :c:type:`FILE\\*` opened "
|
||||
"for reading."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:73 ../Doc/c-api/marshal.rst:87
|
||||
#: ../Doc/c-api/marshal.rst:96
|
||||
#: ../Doc/c-api/marshal.rst:69 ../Doc/c-api/marshal.rst:83
|
||||
#: ../Doc/c-api/marshal.rst:92
|
||||
msgid ""
|
||||
"On error, sets the appropriate exception (:exc:`EOFError` or :exc:"
|
||||
"`TypeError`) and returns *NULL*."
|
||||
"On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` "
|
||||
"or :exc:`TypeError`) and returns *NULL*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:79
|
||||
#: ../Doc/c-api/marshal.rst:75
|
||||
msgid ""
|
||||
"Return a Python object from the data stream in a :c:type:`FILE\\*` opened "
|
||||
"for reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function "
|
||||
|
@ -113,7 +106,7 @@ msgid ""
|
|||
"anything else from the file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/c-api/marshal.rst:93
|
||||
#: ../Doc/c-api/marshal.rst:89
|
||||
msgid ""
|
||||
"Return a Python object from the data stream in a byte buffer containing "
|
||||
"*len* bytes pointed to by *data*."
|
||||
|
|
324
faq/design.po
324
faq/design.po
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-30 00:24+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-13 15:01+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -407,52 +407,41 @@ msgstr ""
|
|||
"list.index()) mais des fonctions pour d'autres (ex : len(list)) ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:218
|
||||
msgid ""
|
||||
"The major reason is history. Functions were used for those operations that "
|
||||
"were generic for a group of types and which were intended to work even for "
|
||||
"objects that didn't have methods at all (e.g. tuples). It is also "
|
||||
"convenient to have a function that can readily be applied to an amorphous "
|
||||
"collection of objects when you use the functional features of Python "
|
||||
"(``map()``, ``zip()`` et al)."
|
||||
msgid "As Guido said:"
|
||||
msgstr ""
|
||||
"La raison principale est historique. Les fonctions étaient utilisées pour "
|
||||
"ces opérations qui étaient génériques pour un groupe de types et qui étaient "
|
||||
"censés fonctionner même pour les objets qui n'avaient pas de méthodes du "
|
||||
"tout (ex : tuples). C'est aussi pratique d'avoir une fonction qui s'apprête "
|
||||
"bien à une collection amorphe d'objets lorsque vous utiliser les outils "
|
||||
"fonctionnels de Python (``map()``, ``zip()`` et autres)."
|
||||
|
||||
#: ../Doc/faq/design.rst:224
|
||||
#: ../Doc/faq/design.rst:220
|
||||
msgid ""
|
||||
"In fact, implementing ``len()``, ``max()``, ``min()`` as a built-in function "
|
||||
"is actually less code than implementing them as methods for each type. One "
|
||||
"can quibble about individual cases but it's a part of Python, and it's too "
|
||||
"late to make such fundamental changes now. The functions have to remain to "
|
||||
"avoid massive code breakage."
|
||||
"(a) For some operations, prefix notation just reads better than postfix -- "
|
||||
"prefix (and infix!) operations have a long tradition in mathematics which "
|
||||
"likes notations where the visuals help the mathematician thinking about a "
|
||||
"problem. Compare the easy with which we rewrite a formula like x*(a+b) into "
|
||||
"x*a + x*b to the clumsiness of doing the same thing using a raw OO notation."
|
||||
msgstr ""
|
||||
"En fait, implémenter ``len()``, ``max()``, ``min()`` en tant que fonction "
|
||||
"intégrée produit moins de code que de les implémenter en tant que méthode "
|
||||
"pour chaque type. Certains peuvent rouspéter pour des cas individuels mais "
|
||||
"ça fait partie de Python et il est trop tard pour faire des changements si "
|
||||
"fondamentaux maintenant. Ces fonctions doivent rester pour éviter la casse "
|
||||
"massive de code."
|
||||
|
||||
#: ../Doc/faq/design.rst:234
|
||||
#: ../Doc/faq/design.rst:227
|
||||
msgid ""
|
||||
"For string operations, Python has moved from external functions (the "
|
||||
"``string`` module) to methods. However, ``len()`` is still a function."
|
||||
"(b) When I read code that says len(x) I *know* that it is asking for the "
|
||||
"length of something. This tells me two things: the result is an integer, and "
|
||||
"the argument is some kind of container. To the contrary, when I read x."
|
||||
"len(), I have to already know that x is some kind of container implementing "
|
||||
"an interface or inheriting from a class that has a standard len(). Witness "
|
||||
"the confusion we occasionally have when a class that is not implementing a "
|
||||
"mapping has a get() or keys() method, or something that isn't a file has a "
|
||||
"write() method."
|
||||
msgstr ""
|
||||
"Pour les opérations de chaînes, Python a déplacé les fonctions externes (le "
|
||||
"module ``string``) vers des méthodes. Cependant, ``len()`` est toujours une "
|
||||
"fonction."
|
||||
|
||||
#: ../Doc/faq/design.rst:239
|
||||
#: ../Doc/faq/design.rst:254
|
||||
msgid "https://mail.python.org/pipermail/python-3000/2006-November/004643.html"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:240
|
||||
msgid "Why is join() a string method instead of a list or tuple method?"
|
||||
msgstr ""
|
||||
"Pourquoi join() est une méthode de chaîne plutôt qu'une de liste ou de "
|
||||
"tuple ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:241
|
||||
#: ../Doc/faq/design.rst:242
|
||||
msgid ""
|
||||
"Strings became much more like other standard types starting in Python 1.6, "
|
||||
"when methods were added which give the same functionality that has always "
|
||||
|
@ -467,15 +456,15 @@ msgstr ""
|
|||
"largement acceptées, mais celle qui semble rendre certains programmeurs "
|
||||
"inconfortables est : ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:249
|
||||
#: ../Doc/faq/design.rst:250
|
||||
msgid "which gives the result::"
|
||||
msgstr "qui donne le résultat : ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:253
|
||||
#: ../Doc/faq/design.rst:254
|
||||
msgid "There are two common arguments against this usage."
|
||||
msgstr "Il y a deux arguments fréquents contre cet usage."
|
||||
|
||||
#: ../Doc/faq/design.rst:255
|
||||
#: ../Doc/faq/design.rst:256
|
||||
msgid ""
|
||||
"The first runs along the lines of: \"It looks really ugly using a method of "
|
||||
"a string literal (string constant)\", to which the answer is that it might, "
|
||||
|
@ -489,7 +478,7 @@ msgstr ""
|
|||
"fixe. Si la méthode est autorisée sur des noms liés à des chaînes, il n'y a "
|
||||
"pas de raison logique à les rendre indisponibles sur des chaînes littérales."
|
||||
|
||||
#: ../Doc/faq/design.rst:261
|
||||
#: ../Doc/faq/design.rst:262
|
||||
msgid ""
|
||||
"The second objection is typically cast as: \"I am really telling a sequence "
|
||||
"to join its members together with a string constant\". Sadly, you aren't. "
|
||||
|
@ -502,7 +491,7 @@ msgstr ""
|
|||
"semble être bien moins difficile d'avoir :meth:`~str.split` en tant que "
|
||||
"méthode de chaîne, puisque dans ce cas il est facile de voir que::"
|
||||
|
||||
#: ../Doc/faq/design.rst:268
|
||||
#: ../Doc/faq/design.rst:269
|
||||
msgid ""
|
||||
"is an instruction to a string literal to return the substrings delimited by "
|
||||
"the given separator (or, by default, arbitrary runs of white space)."
|
||||
|
@ -511,7 +500,7 @@ msgstr ""
|
|||
"délimitées par le séparateur fournit (ou, par défaut, les espaces, ou "
|
||||
"groupes d'espaces)."
|
||||
|
||||
#: ../Doc/faq/design.rst:271
|
||||
#: ../Doc/faq/design.rst:272
|
||||
msgid ""
|
||||
":meth:`~str.join` is a string method because in using it you are telling the "
|
||||
"separator string to iterate over a sequence of strings and insert itself "
|
||||
|
@ -526,11 +515,11 @@ msgstr ""
|
|||
"incluant n'importe quelles nouvelles classes que vous pourriez définir vous-"
|
||||
"même. Des méthodes similaires existent pour des objets bytes et bytearray."
|
||||
|
||||
#: ../Doc/faq/design.rst:279
|
||||
#: ../Doc/faq/design.rst:280
|
||||
msgid "How fast are exceptions?"
|
||||
msgstr "À quel point les exceptions sont-elles rapides ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:281
|
||||
#: ../Doc/faq/design.rst:282
|
||||
msgid ""
|
||||
"A try/except block is extremely efficient if no exceptions are raised. "
|
||||
"Actually catching an exception is expensive. In versions of Python prior to "
|
||||
|
@ -541,7 +530,7 @@ msgstr ""
|
|||
"versions de précédant Python 2.0, il était courant d'utiliser cette "
|
||||
"pratique ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:291
|
||||
#: ../Doc/faq/design.rst:292
|
||||
msgid ""
|
||||
"This only made sense when you expected the dict to have the key almost all "
|
||||
"the time. If that wasn't the case, you coded it like this::"
|
||||
|
@ -550,7 +539,7 @@ msgstr ""
|
|||
"clé presque tout le temps. Si ce n'était pas le cas, vous l'auriez codé "
|
||||
"comme suit : ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:299
|
||||
#: ../Doc/faq/design.rst:300
|
||||
msgid ""
|
||||
"For this specific case, you could also use ``value = dict.setdefault(key, "
|
||||
"getvalue(key))``, but only if the ``getvalue()`` call is cheap enough "
|
||||
|
@ -560,13 +549,13 @@ msgstr ""
|
|||
"getvalue(key))``, mais seulement si l'appel à ``getvalue()`` est "
|
||||
"suffisamment peu coûteux car il est évalué dans tous les cas."
|
||||
|
||||
#: ../Doc/faq/design.rst:305
|
||||
#: ../Doc/faq/design.rst:306
|
||||
msgid "Why isn't there a switch or case statement in Python?"
|
||||
msgstr ""
|
||||
"Pourquoi n'y a-t-il pas une instruction *switch* ou une structure similaire "
|
||||
"à *switch / case* en Python ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:307
|
||||
#: ../Doc/faq/design.rst:308
|
||||
msgid ""
|
||||
"You can do this easily enough with a sequence of ``if... elif... elif... "
|
||||
"else``. There have been some proposals for switch statement syntax, but "
|
||||
|
@ -578,7 +567,7 @@ msgstr ""
|
|||
"l'instruction switch, mais il n'y a pas (encore) de consensus sur le cas des "
|
||||
"intervalles. Voir la :pep:`275` pour tous les détails et l'état actuel."
|
||||
|
||||
#: ../Doc/faq/design.rst:312
|
||||
#: ../Doc/faq/design.rst:313
|
||||
msgid ""
|
||||
"For cases where you need to choose from a very large number of "
|
||||
"possibilities, you can create a dictionary mapping case values to functions "
|
||||
|
@ -588,7 +577,7 @@ msgstr ""
|
|||
"possibilités, vous pouvez créer un dictionnaire faisant correspondre des "
|
||||
"valeurs à des fonctions à appeler. Par exemple : ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:326
|
||||
#: ../Doc/faq/design.rst:327
|
||||
msgid ""
|
||||
"For calling methods on objects, you can simplify yet further by using the :"
|
||||
"func:`getattr` built-in to retrieve methods with a particular name::"
|
||||
|
@ -597,7 +586,7 @@ msgstr ""
|
|||
"en utilisant la fonction native :func:`getattr` pour récupérer les méthodes "
|
||||
"avec un nom donné : ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:338
|
||||
#: ../Doc/faq/design.rst:339
|
||||
msgid ""
|
||||
"It's suggested that you use a prefix for the method names, such as "
|
||||
"``visit_`` in this example. Without such a prefix, if values are coming "
|
||||
|
@ -609,7 +598,7 @@ msgstr ""
|
|||
"proviennent d'une source non fiable, un attaquant serait en mesure d'appeler "
|
||||
"n'importe quelle méthode sur votre objet."
|
||||
|
||||
#: ../Doc/faq/design.rst:344
|
||||
#: ../Doc/faq/design.rst:345
|
||||
msgid ""
|
||||
"Can't you emulate threads in the interpreter instead of relying on an OS-"
|
||||
"specific thread implementation?"
|
||||
|
@ -617,7 +606,7 @@ msgstr ""
|
|||
"Est-il possible d'émuler des fils d'exécution dans l'interpréteur plutôt que "
|
||||
"se baser sur les implémentations spécifique aux OS ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:346
|
||||
#: ../Doc/faq/design.rst:347
|
||||
msgid ""
|
||||
"Answer 1: Unfortunately, the interpreter pushes at least one C stack frame "
|
||||
"for each Python stack frame. Also, extensions can call back into Python at "
|
||||
|
@ -630,22 +619,22 @@ msgstr ""
|
|||
"conséquent, une implémentation complète des fils d'exécution nécessiterai un "
|
||||
"support complet en C."
|
||||
|
||||
#: ../Doc/faq/design.rst:351
|
||||
#: ../Doc/faq/design.rst:352
|
||||
msgid ""
|
||||
"Answer 2: Fortunately, there is `Stackless Python <https://bitbucket.org/"
|
||||
"stackless-dev/stackless/wiki/Home>`_, which has a completely redesigned "
|
||||
"Answer 2: Fortunately, there is `Stackless Python <https://github.com/"
|
||||
"stackless-dev/stackless/wiki>`_, which has a completely redesigned "
|
||||
"interpreter loop that avoids the C stack."
|
||||
msgstr ""
|
||||
"Réponse 2 : heureusement, il existe `Stackless Python <https://bitbucket.org/"
|
||||
"stackless-dev/stackless/wiki/Home>`_, qui à complètement ré-architecturé la "
|
||||
"Réponse 2 : heureusement, il existe `Stackless Python <https://github.com/"
|
||||
"stackless-dev/stackless/wiki>`_, qui a complètement ré-architecturé la "
|
||||
"boucle principale de l'interpréteur afin de ne pas utiliser la pile C."
|
||||
|
||||
#: ../Doc/faq/design.rst:356
|
||||
#: ../Doc/faq/design.rst:357
|
||||
msgid "Why can't lambda expressions contain statements?"
|
||||
msgstr ""
|
||||
"Pourquoi les expressions lambda ne peuvent pas contenir d'instructions ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:358
|
||||
#: ../Doc/faq/design.rst:359
|
||||
msgid ""
|
||||
"Python lambda expressions cannot contain statements because Python's "
|
||||
"syntactic framework can't handle statements nested inside expressions. "
|
||||
|
@ -661,7 +650,7 @@ msgstr ""
|
|||
"Python sont seulement une notation concise si vous êtes trop paresseux pour "
|
||||
"définir une fonction."
|
||||
|
||||
#: ../Doc/faq/design.rst:364
|
||||
#: ../Doc/faq/design.rst:365
|
||||
msgid ""
|
||||
"Functions are already first class objects in Python, and can be declared in "
|
||||
"a local scope. Therefore the only advantage of using a lambda instead of a "
|
||||
|
@ -677,12 +666,12 @@ msgstr ""
|
|||
"variable locale à laquelle est affecté l'objet fonction (qui est exactement "
|
||||
"le même type d'objet qui donne une expression lambda) !"
|
||||
|
||||
#: ../Doc/faq/design.rst:372
|
||||
#: ../Doc/faq/design.rst:373
|
||||
msgid "Can Python be compiled to machine code, C or some other language?"
|
||||
msgstr ""
|
||||
"Python peut-il être compilé en code machine, en C ou dans un autre langage ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:374
|
||||
#: ../Doc/faq/design.rst:375
|
||||
msgid ""
|
||||
"`Cython <http://cython.org/>`_ compiles a modified version of Python with "
|
||||
"optional annotations into C extensions. `Nuitka <http://www.nuitka.net/>`_ "
|
||||
|
@ -691,11 +680,11 @@ msgid ""
|
|||
"voc.readthedocs.io>`_."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:382
|
||||
#: ../Doc/faq/design.rst:383
|
||||
msgid "How does Python manage memory?"
|
||||
msgstr "Comment Python gère la mémoire ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:384
|
||||
#: ../Doc/faq/design.rst:385
|
||||
msgid ""
|
||||
"The details of Python memory management depend on the implementation. The "
|
||||
"standard implementation of Python, :term:`CPython`, uses reference counting "
|
||||
|
@ -714,7 +703,7 @@ msgstr ""
|
|||
"module :mod:`gc` fournit des fonctions pour lancer le ramasse-miettes, "
|
||||
"d'obtenir des statistiques de débogage et ajuster ses paramètres."
|
||||
|
||||
#: ../Doc/faq/design.rst:392
|
||||
#: ../Doc/faq/design.rst:393
|
||||
msgid ""
|
||||
"Other implementations (such as `Jython <http://www.jython.org>`_ or `PyPy "
|
||||
"<http://www.pypy.org>`_), however, can rely on a different mechanism such as "
|
||||
|
@ -728,7 +717,7 @@ msgstr ""
|
|||
"subtils problèmes de portabilité si votre code Python dépend du comportement "
|
||||
"de l'implémentation du compteur de références."
|
||||
|
||||
#: ../Doc/faq/design.rst:398
|
||||
#: ../Doc/faq/design.rst:399
|
||||
msgid ""
|
||||
"In some Python implementations, the following code (which is fine in "
|
||||
"CPython) will probably run out of file descriptors::"
|
||||
|
@ -737,7 +726,7 @@ msgstr ""
|
|||
"parfaitement avec *CPython*) aurait probablement manqué de descripteurs de "
|
||||
"fichiers ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:405
|
||||
#: ../Doc/faq/design.rst:406
|
||||
msgid ""
|
||||
"Indeed, using CPython's reference counting and destructor scheme, each new "
|
||||
"assignment to *f* closes the previous file. With a traditional GC, however, "
|
||||
|
@ -750,7 +739,7 @@ msgstr ""
|
|||
"(et fermés) à intervalles variables et possiblement avec de longs "
|
||||
"intervalles."
|
||||
|
||||
#: ../Doc/faq/design.rst:410
|
||||
#: ../Doc/faq/design.rst:411
|
||||
msgid ""
|
||||
"If you want to write code that will work with any Python implementation, you "
|
||||
"should explicitly close the file or use the :keyword:`with` statement; this "
|
||||
|
@ -761,12 +750,12 @@ msgstr ""
|
|||
"utiliser l'instruction :keyword:`with` ; ceci fonctionnera indépendamment du "
|
||||
"système de gestion de la mémoire ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:420
|
||||
#: ../Doc/faq/design.rst:421
|
||||
msgid "Why doesn't CPython use a more traditional garbage collection scheme?"
|
||||
msgstr ""
|
||||
"Pourquoi CPython n'utilise-il pas un ramasse-miette plus traditionnel ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:422
|
||||
#: ../Doc/faq/design.rst:423
|
||||
msgid ""
|
||||
"For one thing, this is not a C standard feature and hence it's not portable. "
|
||||
"(Yes, we know about the Boehm GC library. It has bits of assembler code for "
|
||||
|
@ -781,7 +770,7 @@ msgstr ""
|
|||
"transparent, c'est loin d'être le cas, des correctifs sont nécessaires afin "
|
||||
"que Python fonctionne correctement avec.)"
|
||||
|
||||
#: ../Doc/faq/design.rst:428
|
||||
#: ../Doc/faq/design.rst:429
|
||||
msgid ""
|
||||
"Traditional GC also becomes a problem when Python is embedded into other "
|
||||
"applications. While in a standalone Python it's fine to replace the "
|
||||
|
@ -798,12 +787,12 @@ msgstr ""
|
|||
"pas vouloir celles de Python. À l'heure actuelle, CPython fonctionne avec "
|
||||
"n'importe quelle implémentation correcte de malloc() et free()."
|
||||
|
||||
#: ../Doc/faq/design.rst:437
|
||||
#: ../Doc/faq/design.rst:438
|
||||
msgid "Why isn't all memory freed when CPython exits?"
|
||||
msgstr ""
|
||||
"Pourquoi toute la mémoire n'est pas libérée lorsque *CPython* s'arrête ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:439
|
||||
#: ../Doc/faq/design.rst:440
|
||||
msgid ""
|
||||
"Objects referenced from the global namespaces of Python modules are not "
|
||||
"always deallocated when Python exits. This may happen if there are circular "
|
||||
|
@ -820,7 +809,7 @@ msgstr ""
|
|||
"cependant, agressif sur le nettoyage de la mémoire en quittant et cherche à "
|
||||
"détruire chaque objet."
|
||||
|
||||
#: ../Doc/faq/design.rst:446
|
||||
#: ../Doc/faq/design.rst:447
|
||||
msgid ""
|
||||
"If you want to force Python to delete certain things on deallocation use "
|
||||
"the :mod:`atexit` module to run a function that will force those deletions."
|
||||
|
@ -829,12 +818,12 @@ msgstr ""
|
|||
"utilisez le module :mod:`texit` pour exécuter une fonction qui va forcer ces "
|
||||
"destructions."
|
||||
|
||||
#: ../Doc/faq/design.rst:451
|
||||
#: ../Doc/faq/design.rst:452
|
||||
msgid "Why are there separate tuple and list data types?"
|
||||
msgstr ""
|
||||
"Pourquoi les *tuples* et les *list* sont deux types de données séparés ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:453
|
||||
#: ../Doc/faq/design.rst:454
|
||||
msgid ""
|
||||
"Lists and tuples, while similar in many respects, are generally used in "
|
||||
"fundamentally different ways. Tuples can be thought of as being similar to "
|
||||
|
@ -851,7 +840,7 @@ msgstr ""
|
|||
"un repère cartésien est correctement représenté comme un *tuple* de deux ou "
|
||||
"trois nombres."
|
||||
|
||||
#: ../Doc/faq/design.rst:460
|
||||
#: ../Doc/faq/design.rst:461
|
||||
msgid ""
|
||||
"Lists, on the other hand, are more like arrays in other languages. They "
|
||||
"tend to hold a varying number of objects all of which have the same type and "
|
||||
|
@ -868,7 +857,7 @@ msgstr ""
|
|||
"problème que vous ajoutiez un ou deux fichiers supplémentaire dans le "
|
||||
"dossier."
|
||||
|
||||
#: ../Doc/faq/design.rst:467
|
||||
#: ../Doc/faq/design.rst:468
|
||||
msgid ""
|
||||
"Tuples are immutable, meaning that once a tuple has been created, you can't "
|
||||
"replace any of its elements with a new value. Lists are mutable, meaning "
|
||||
|
@ -883,24 +872,24 @@ msgstr ""
|
|||
"utilisés comme clés de dictionnaires, et donc de ``tuple`` et ``list`` seul "
|
||||
"des *tuples* peuvent être utilisés comme clés."
|
||||
|
||||
#: ../Doc/faq/design.rst:474
|
||||
msgid "How are lists implemented?"
|
||||
msgstr "Comment est-ce que les listes sont implémentées ?"
|
||||
#: ../Doc/faq/design.rst:475
|
||||
msgid "How are lists implemented in CPython?"
|
||||
msgstr "Comment les listes sont-elles implémentées dans CPython ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:476
|
||||
#: ../Doc/faq/design.rst:477
|
||||
msgid ""
|
||||
"Python's lists are really variable-length arrays, not Lisp-style linked "
|
||||
"CPython's lists are really variable-length arrays, not Lisp-style linked "
|
||||
"lists. The implementation uses a contiguous array of references to other "
|
||||
"objects, and keeps a pointer to this array and the array's length in a list "
|
||||
"head structure."
|
||||
msgstr ""
|
||||
"Les listes en Python sont de vrais tableaux de longueur variable "
|
||||
"Les listes en CPython sont de vrais tableaux de longueur variable "
|
||||
"contrairement à des listes orientées *Lisp* (i.e des listes chaînées). "
|
||||
"L'implémentation utilise un tableau contigu de références à d'autres objets. "
|
||||
"Elle conserve également un pointeur vers ce tableau et la longueur du "
|
||||
"tableau dans une structure de tête de liste."
|
||||
|
||||
#: ../Doc/faq/design.rst:480
|
||||
#: ../Doc/faq/design.rst:481
|
||||
msgid ""
|
||||
"This makes indexing a list ``a[i]`` an operation whose cost is independent "
|
||||
"of the size of the list or the value of the index."
|
||||
|
@ -908,7 +897,7 @@ msgstr ""
|
|||
"Cela rend l'indexation d'une liste ``a[i]`` une opération dont le coût est "
|
||||
"indépendant de la taille de la liste ou de la valeur de l'indice."
|
||||
|
||||
#: ../Doc/faq/design.rst:483
|
||||
#: ../Doc/faq/design.rst:484
|
||||
msgid ""
|
||||
"When items are appended or inserted, the array of references is resized. "
|
||||
"Some cleverness is applied to improve the performance of appending items "
|
||||
|
@ -921,22 +910,23 @@ msgstr ""
|
|||
"être étendu, un certain espace supplémentaire est alloué de sorte que pour "
|
||||
"la prochaine fois, ceci ne nécessite plus un redimensionnement effectif."
|
||||
|
||||
#: ../Doc/faq/design.rst:490
|
||||
msgid "How are dictionaries implemented?"
|
||||
msgstr "Comment les dictionnaires sont-ils implémentés ?"
|
||||
#: ../Doc/faq/design.rst:491
|
||||
msgid "How are dictionaries implemented in CPython?"
|
||||
msgstr "Comment les dictionnaires sont-ils implémentés dans CPython ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:492
|
||||
#: ../Doc/faq/design.rst:493
|
||||
msgid ""
|
||||
"Python's dictionaries are implemented as resizable hash tables. Compared to "
|
||||
"B-trees, this gives better performance for lookup (the most common operation "
|
||||
"by far) under most circumstances, and the implementation is simpler."
|
||||
"CPython's dictionaries are implemented as resizable hash tables. Compared "
|
||||
"to B-trees, this gives better performance for lookup (the most common "
|
||||
"operation by far) under most circumstances, and the implementation is "
|
||||
"simpler."
|
||||
msgstr ""
|
||||
"Les dictionnaires Python sont implémentés sous forme de tables de hachage "
|
||||
"Les dictionnaires CPython sont implémentés sous forme de tables de hachage "
|
||||
"redimensionnables. Par rapport aux *B-trees*, cela donne de meilleures "
|
||||
"performances pour la recherche (l'opération la plus courante de loin) dans "
|
||||
"la plupart des circonstances, et leur implémentation est plus simple."
|
||||
|
||||
#: ../Doc/faq/design.rst:496
|
||||
#: ../Doc/faq/design.rst:497
|
||||
msgid ""
|
||||
"Dictionaries work by computing a hash code for each key stored in the "
|
||||
"dictionary using the :func:`hash` built-in function. The hash code varies "
|
||||
|
@ -961,11 +951,11 @@ msgstr ""
|
|||
"temps pour récupérer une clé est constant -- O(1), en notation grand O de "
|
||||
"Landau."
|
||||
|
||||
#: ../Doc/faq/design.rst:507
|
||||
#: ../Doc/faq/design.rst:508
|
||||
msgid "Why must dictionary keys be immutable?"
|
||||
msgstr "Pourquoi les clés du dictionnaire sont immuables ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:509
|
||||
#: ../Doc/faq/design.rst:510
|
||||
msgid ""
|
||||
"The hash table implementation of dictionaries uses a hash value calculated "
|
||||
"from the key value to find the key. If the key were a mutable object, its "
|
||||
|
@ -988,7 +978,7 @@ msgstr ""
|
|||
"chercher l'ancienne valeur, elle serait également introuvable car la valeur "
|
||||
"de l'objet trouvé dans cet emplacement de hachage serait différente."
|
||||
|
||||
#: ../Doc/faq/design.rst:518
|
||||
#: ../Doc/faq/design.rst:519
|
||||
msgid ""
|
||||
"If you want a dictionary indexed with a list, simply convert the list to a "
|
||||
"tuple first; the function ``tuple(L)`` creates a tuple with the same entries "
|
||||
|
@ -1000,11 +990,11 @@ msgstr ""
|
|||
"*tuple* avec les mêmes entrées que la liste ``L``. Les *tuples* sont "
|
||||
"immuables et peuvent donc être utilisés comme clés du dictionnaire."
|
||||
|
||||
#: ../Doc/faq/design.rst:522
|
||||
#: ../Doc/faq/design.rst:523
|
||||
msgid "Some unacceptable solutions that have been proposed:"
|
||||
msgstr "Certaines solutions insatisfaisantes qui ont été proposées :"
|
||||
|
||||
#: ../Doc/faq/design.rst:524
|
||||
#: ../Doc/faq/design.rst:525
|
||||
msgid ""
|
||||
"Hash lists by their address (object ID). This doesn't work because if you "
|
||||
"construct a new list with the same value it won't be found; e.g.::"
|
||||
|
@ -1013,7 +1003,7 @@ msgstr ""
|
|||
"fonctionne pas parce que si vous créez une nouvelle liste avec la même "
|
||||
"valeur, elle ne sera pas retrouvée; par exemple ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:530
|
||||
#: ../Doc/faq/design.rst:531
|
||||
msgid ""
|
||||
"would raise a KeyError exception because the id of the ``[1, 2]`` used in "
|
||||
"the second line differs from that in the first line. In other words, "
|
||||
|
@ -1024,7 +1014,7 @@ msgstr ""
|
|||
"d'autres termes, les clés de dictionnaire doivent être comparées à l'aide du "
|
||||
"comparateur ``==`` et non à l'aide du :keyword:`is`."
|
||||
|
||||
#: ../Doc/faq/design.rst:534
|
||||
#: ../Doc/faq/design.rst:535
|
||||
msgid ""
|
||||
"Make a copy when using a list as a key. This doesn't work because the list, "
|
||||
"being a mutable object, could contain a reference to itself, and then the "
|
||||
|
@ -1035,7 +1025,7 @@ msgstr ""
|
|||
"une référence à elle-même ou avoir une boucle infinie au niveau du code "
|
||||
"copié."
|
||||
|
||||
#: ../Doc/faq/design.rst:538
|
||||
#: ../Doc/faq/design.rst:539
|
||||
msgid ""
|
||||
"Allow lists as keys but tell the user not to modify them. This would allow "
|
||||
"a class of hard-to-track bugs in programs when you forgot or modified a list "
|
||||
|
@ -1043,7 +1033,7 @@ msgid ""
|
|||
"every value in ``d.keys()`` is usable as a key of the dictionary."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:543
|
||||
#: ../Doc/faq/design.rst:544
|
||||
msgid ""
|
||||
"Mark lists as read-only once they are used as a dictionary key. The problem "
|
||||
"is that it's not just the top-level object that could change its value; you "
|
||||
|
@ -1053,7 +1043,7 @@ msgid ""
|
|||
"loop."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:549
|
||||
#: ../Doc/faq/design.rst:550
|
||||
msgid ""
|
||||
"There is a trick to get around this if you need to, but use it at your own "
|
||||
"risk: You can wrap a mutable structure inside a class instance which has "
|
||||
|
@ -1063,14 +1053,14 @@ msgid ""
|
|||
"in the dictionary (or other structure). ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:573
|
||||
#: ../Doc/faq/design.rst:574
|
||||
msgid ""
|
||||
"Note that the hash computation is complicated by the possibility that some "
|
||||
"members of the list may be unhashable and also by the possibility of "
|
||||
"arithmetic overflow."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:577
|
||||
#: ../Doc/faq/design.rst:578
|
||||
msgid ""
|
||||
"Furthermore it must always be the case that if ``o1 == o2`` (ie ``o1."
|
||||
"__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, ``o1.__hash__() == "
|
||||
|
@ -1079,7 +1069,7 @@ msgid ""
|
|||
"based structures will misbehave."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:582
|
||||
#: ../Doc/faq/design.rst:583
|
||||
msgid ""
|
||||
"In the case of ListWrapper, whenever the wrapper object is in a dictionary "
|
||||
"the wrapped list must not change to avoid anomalies. Don't do this unless "
|
||||
|
@ -1087,11 +1077,11 @@ msgid ""
|
|||
"of not meeting them correctly. Consider yourself warned."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:589
|
||||
#: ../Doc/faq/design.rst:590
|
||||
msgid "Why doesn't list.sort() return the sorted list?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:591
|
||||
#: ../Doc/faq/design.rst:592
|
||||
msgid ""
|
||||
"In situations where performance matters, making a copy of the list just to "
|
||||
"sort it would be wasteful. Therefore, :meth:`list.sort` sorts the list in "
|
||||
|
@ -1101,7 +1091,7 @@ msgid ""
|
|||
"around."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:597
|
||||
#: ../Doc/faq/design.rst:598
|
||||
msgid ""
|
||||
"If you want to return a new list, use the built-in :func:`sorted` function "
|
||||
"instead. This function creates a new list from a provided iterable, sorts "
|
||||
|
@ -1109,11 +1099,11 @@ msgid ""
|
|||
"dictionary in sorted order::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:607
|
||||
#: ../Doc/faq/design.rst:608
|
||||
msgid "How do you specify and enforce an interface spec in Python?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:609
|
||||
#: ../Doc/faq/design.rst:610
|
||||
msgid ""
|
||||
"An interface specification for a module as provided by languages such as C++ "
|
||||
"and Java describes the prototypes for the methods and functions of the "
|
||||
|
@ -1121,7 +1111,7 @@ msgid ""
|
|||
"helps in the construction of large programs."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:614
|
||||
#: ../Doc/faq/design.rst:615
|
||||
msgid ""
|
||||
"Python 2.6 adds an :mod:`abc` module that lets you define Abstract Base "
|
||||
"Classes (ABCs). You can then use :func:`isinstance` and :func:`issubclass` "
|
||||
|
@ -1131,14 +1121,14 @@ msgid ""
|
|||
"`~collections.abc.MutableMapping`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:621
|
||||
#: ../Doc/faq/design.rst:622
|
||||
msgid ""
|
||||
"For Python, many of the advantages of interface specifications can be "
|
||||
"obtained by an appropriate test discipline for components. There is also a "
|
||||
"tool, PyChecker, which can be used to find problems due to subclassing."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:625
|
||||
#: ../Doc/faq/design.rst:626
|
||||
msgid ""
|
||||
"A good test suite for a module can both provide a regression test and serve "
|
||||
"as a module interface specification and a set of examples. Many Python "
|
||||
|
@ -1150,7 +1140,7 @@ msgid ""
|
|||
"in a module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:633
|
||||
#: ../Doc/faq/design.rst:634
|
||||
msgid ""
|
||||
"An appropriate testing discipline can help build large complex applications "
|
||||
"in Python as well as having interface specifications would. In fact, it can "
|
||||
|
@ -1161,7 +1151,7 @@ msgid ""
|
|||
"correctly, but it's trivial to check this property in a test suite."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:641
|
||||
#: ../Doc/faq/design.rst:642
|
||||
msgid ""
|
||||
"Writing test suites is very helpful, and you might want to design your code "
|
||||
"with an eye to making it easily tested. One increasingly popular technique, "
|
||||
|
@ -1170,11 +1160,11 @@ msgid ""
|
|||
"sloppy and not write test cases at all."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:649
|
||||
#: ../Doc/faq/design.rst:650
|
||||
msgid "Why is there no goto?"
|
||||
msgstr "Pourquoi n'y a-t-il pas de goto en Python ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:651
|
||||
#: ../Doc/faq/design.rst:652
|
||||
msgid ""
|
||||
"You can use exceptions to provide a \"structured goto\" that even works "
|
||||
"across function calls. Many feel that exceptions can conveniently emulate "
|
||||
|
@ -1187,7 +1177,7 @@ msgstr ""
|
|||
"utilisation raisonnable des constructions \"go\" ou \"goto\" en C, en "
|
||||
"Fortran ou autres langages de programmation. Par exemple ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:666
|
||||
#: ../Doc/faq/design.rst:667
|
||||
msgid ""
|
||||
"This doesn't allow you to jump into the middle of a loop, but that's usually "
|
||||
"considered an abuse of goto anyway. Use sparingly."
|
||||
|
@ -1196,18 +1186,18 @@ msgstr ""
|
|||
"tous les cas cela est généralement considéré comme un abus de goto. À "
|
||||
"Utiliser avec parcimonie."
|
||||
|
||||
#: ../Doc/faq/design.rst:671
|
||||
#: ../Doc/faq/design.rst:672
|
||||
msgid "Why can't raw strings (r-strings) end with a backslash?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:673
|
||||
#: ../Doc/faq/design.rst:674
|
||||
msgid ""
|
||||
"More precisely, they can't end with an odd number of backslashes: the "
|
||||
"unpaired backslash at the end escapes the closing quote character, leaving "
|
||||
"an unterminated string."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:677
|
||||
#: ../Doc/faq/design.rst:678
|
||||
msgid ""
|
||||
"Raw strings were designed to ease creating input for processors (chiefly "
|
||||
"regular expression engines) that want to do their own backslash escape "
|
||||
|
@ -1217,24 +1207,24 @@ msgid ""
|
|||
"rules work well when r-strings are used for their intended purpose."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:684
|
||||
#: ../Doc/faq/design.rst:685
|
||||
msgid ""
|
||||
"If you're trying to build Windows pathnames, note that all Windows system "
|
||||
"calls accept forward slashes too::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:689
|
||||
#: ../Doc/faq/design.rst:690
|
||||
msgid ""
|
||||
"If you're trying to build a pathname for a DOS command, try e.g. one of ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:697
|
||||
#: ../Doc/faq/design.rst:698
|
||||
msgid "Why doesn't Python have a \"with\" statement for attribute assignments?"
|
||||
msgstr ""
|
||||
"Pourquoi la déclaration \"with\" pour les assignations d'attributs n'existe "
|
||||
"pas en Python ?"
|
||||
|
||||
#: ../Doc/faq/design.rst:699
|
||||
#: ../Doc/faq/design.rst:700
|
||||
msgid ""
|
||||
"Python has a 'with' statement that wraps the execution of a block, calling "
|
||||
"code on the entrance and exit from the block. Some language have a "
|
||||
|
@ -1244,11 +1234,11 @@ msgstr ""
|
|||
"appelant le code sur l'entrée et la sortie du bloc. Certains langages "
|
||||
"possèdent une construction qui ressemble à ceci ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:707
|
||||
#: ../Doc/faq/design.rst:708
|
||||
msgid "In Python, such a construct would be ambiguous."
|
||||
msgstr "En Python, une telle construction serait ambiguë."
|
||||
|
||||
#: ../Doc/faq/design.rst:709
|
||||
#: ../Doc/faq/design.rst:710
|
||||
msgid ""
|
||||
"Other languages, such as Object Pascal, Delphi, and C++, use static types, "
|
||||
"so it's possible to know, in an unambiguous way, what member is being "
|
||||
|
@ -1261,7 +1251,7 @@ msgstr ""
|
|||
"statique --le compilateur connaît *toujours* la portée de toutes les "
|
||||
"variables au moment de la compilation."
|
||||
|
||||
#: ../Doc/faq/design.rst:714
|
||||
#: ../Doc/faq/design.rst:715
|
||||
msgid ""
|
||||
"Python uses dynamic types. It is impossible to know in advance which "
|
||||
"attribute will be referenced at runtime. Member attributes may be added or "
|
||||
|
@ -1275,11 +1265,11 @@ msgstr ""
|
|||
"impossible de savoir, d'une simple lecture, quel attribut est référencé : "
|
||||
"s'il est local, global ou un attribut membre?"
|
||||
|
||||
#: ../Doc/faq/design.rst:720
|
||||
#: ../Doc/faq/design.rst:721
|
||||
msgid "For instance, take the following incomplete snippet::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:726
|
||||
#: ../Doc/faq/design.rst:727
|
||||
msgid ""
|
||||
"The snippet assumes that \"a\" must have a member attribute called \"x\". "
|
||||
"However, there is nothing in Python that tells the interpreter this. What "
|
||||
|
@ -1288,46 +1278,46 @@ msgid ""
|
|||
"the dynamic nature of Python makes such choices much harder."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:732
|
||||
#: ../Doc/faq/design.rst:733
|
||||
msgid ""
|
||||
"The primary benefit of \"with\" and similar language features (reduction of "
|
||||
"code volume) can, however, easily be achieved in Python by assignment. "
|
||||
"Instead of::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:739
|
||||
#: ../Doc/faq/design.rst:740
|
||||
msgid "write this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:746
|
||||
#: ../Doc/faq/design.rst:747
|
||||
msgid ""
|
||||
"This also has the side-effect of increasing execution speed because name "
|
||||
"bindings are resolved at run-time in Python, and the second version only "
|
||||
"needs to perform the resolution once."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:752
|
||||
#: ../Doc/faq/design.rst:753
|
||||
msgid "Why are colons required for the if/while/def/class statements?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:754
|
||||
#: ../Doc/faq/design.rst:755
|
||||
msgid ""
|
||||
"The colon is required primarily to enhance readability (one of the results "
|
||||
"of the experimental ABC language). Consider this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:760
|
||||
#: ../Doc/faq/design.rst:761
|
||||
msgid "versus ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:765
|
||||
#: ../Doc/faq/design.rst:766
|
||||
msgid ""
|
||||
"Notice how the second one is slightly easier to read. Notice further how a "
|
||||
"colon sets off the example in this FAQ answer; it's a standard usage in "
|
||||
"English."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:768
|
||||
#: ../Doc/faq/design.rst:769
|
||||
msgid ""
|
||||
"Another minor reason is that the colon makes it easier for editors with "
|
||||
"syntax highlighting; they can look for colons to decide when indentation "
|
||||
|
@ -1335,21 +1325,21 @@ msgid ""
|
|||
"the program text."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:774
|
||||
#: ../Doc/faq/design.rst:775
|
||||
msgid "Why does Python allow commas at the end of lists and tuples?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:776
|
||||
#: ../Doc/faq/design.rst:777
|
||||
msgid ""
|
||||
"Python lets you add a trailing comma at the end of lists, tuples, and "
|
||||
"dictionaries::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:787
|
||||
#: ../Doc/faq/design.rst:788
|
||||
msgid "There are several reasons to allow this."
|
||||
msgstr "Il y a plusieurs raisons d'accepter cela."
|
||||
|
||||
#: ../Doc/faq/design.rst:789
|
||||
#: ../Doc/faq/design.rst:790
|
||||
msgid ""
|
||||
"When you have a literal value for a list, tuple, or dictionary spread across "
|
||||
"multiple lines, it's easier to add more elements because you don't have to "
|
||||
|
@ -1357,25 +1347,63 @@ msgid ""
|
|||
"reordered without creating a syntax error."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:794
|
||||
#: ../Doc/faq/design.rst:795
|
||||
msgid ""
|
||||
"Accidentally omitting the comma can lead to errors that are hard to "
|
||||
"diagnose. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:804
|
||||
#: ../Doc/faq/design.rst:805
|
||||
msgid ""
|
||||
"This list looks like it has four elements, but it actually contains three: "
|
||||
"\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source "
|
||||
"of error."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/faq/design.rst:807
|
||||
#: ../Doc/faq/design.rst:808
|
||||
msgid ""
|
||||
"Allowing the trailing comma may also make programmatic code generation "
|
||||
"easier."
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The major reason is history. Functions were used for those operations "
|
||||
#~ "that were generic for a group of types and which were intended to work "
|
||||
#~ "even for objects that didn't have methods at all (e.g. tuples). It is "
|
||||
#~ "also convenient to have a function that can readily be applied to an "
|
||||
#~ "amorphous collection of objects when you use the functional features of "
|
||||
#~ "Python (``map()``, ``zip()`` et al)."
|
||||
#~ msgstr ""
|
||||
#~ "La raison principale est historique. Les fonctions étaient utilisées pour "
|
||||
#~ "ces opérations qui étaient génériques pour un groupe de types et qui "
|
||||
#~ "étaient censés fonctionner même pour les objets qui n'avaient pas de "
|
||||
#~ "méthodes du tout (ex : tuples). C'est aussi pratique d'avoir une fonction "
|
||||
#~ "qui s'apprête bien à une collection amorphe d'objets lorsque vous "
|
||||
#~ "utiliser les outils fonctionnels de Python (``map()``, ``zip()`` et "
|
||||
#~ "autres)."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "In fact, implementing ``len()``, ``max()``, ``min()`` as a built-in "
|
||||
#~ "function is actually less code than implementing them as methods for each "
|
||||
#~ "type. One can quibble about individual cases but it's a part of Python, "
|
||||
#~ "and it's too late to make such fundamental changes now. The functions "
|
||||
#~ "have to remain to avoid massive code breakage."
|
||||
#~ msgstr ""
|
||||
#~ "En fait, implémenter ``len()``, ``max()``, ``min()`` en tant que fonction "
|
||||
#~ "intégrée produit moins de code que de les implémenter en tant que méthode "
|
||||
#~ "pour chaque type. Certains peuvent rouspéter pour des cas individuels "
|
||||
#~ "mais ça fait partie de Python et il est trop tard pour faire des "
|
||||
#~ "changements si fondamentaux maintenant. Ces fonctions doivent rester pour "
|
||||
#~ "éviter la casse massive de code."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "For string operations, Python has moved from external functions (the "
|
||||
#~ "``string`` module) to methods. However, ``len()`` is still a function."
|
||||
#~ msgstr ""
|
||||
#~ "Pour les opérations de chaînes, Python a déplacé les fonctions externes "
|
||||
#~ "(le module ``string``) vers des méthodes. Cependant, ``len()`` est "
|
||||
#~ "toujours une fonction."
|
||||
|
||||
#~ msgid "Practical answer:"
|
||||
#~ msgstr "Réponse concrète :"
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 00:28+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 18:39+0200\n"
|
||||
"Last-Translator: Léa Klein <contact@leakle.in>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -669,8 +669,9 @@ msgid "Handles the move of :func:`reduce` to :func:`functools.reduce`."
|
|||
msgstr "Gère le déplacement de :func:`reduce` à :func:`functools.reduce`."
|
||||
|
||||
#: ../Doc/library/2to3.rst:388
|
||||
msgid "Converts :func:`reload` to :func:`imp.reload`."
|
||||
msgstr "Convertit les appels à :func:`reload` en appels à :func:`imp.reload`."
|
||||
msgid "Converts :func:`reload` to :func:`importlib.reload`."
|
||||
msgstr ""
|
||||
"Convertit les appels à :func:`reload` en appels à :func:`importlib.reload`."
|
||||
|
||||
#: ../Doc/library/2to3.rst:392
|
||||
msgid "Changes :data:`sys.maxint` to :data:`sys.maxsize`."
|
||||
|
|
|
@ -5,14 +5,14 @@ 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-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-27 23:17+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: \n"
|
||||
"X-Generator: Poedit 2.0.9\n"
|
||||
|
||||
#: ../Doc/library/asyncio.rst:2
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-07-04 11:33+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -65,18 +65,26 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/contextlib.rst:50
|
||||
msgid ""
|
||||
"A simple example (this is not recommended as a real way of generating "
|
||||
"HTML!)::"
|
||||
"While many objects natively support use in with statements, sometimes a "
|
||||
"resource needs to be managed that isn't a context manager in its own right, "
|
||||
"and doesn't implement a ``close()`` method for use with ``contextlib."
|
||||
"closing``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:67
|
||||
#: ../Doc/library/contextlib.rst:54
|
||||
msgid ""
|
||||
"An abstract example would be the following to ensure correct resource "
|
||||
"management::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:73
|
||||
msgid ""
|
||||
"The function being decorated must return a :term:`generator`-iterator when "
|
||||
"called. This iterator must yield exactly one value, which will be bound to "
|
||||
"the targets in the :keyword:`with` statement's :keyword:`as` clause, if any."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:71
|
||||
#: ../Doc/library/contextlib.rst:77
|
||||
msgid ""
|
||||
"At the point where the generator yields, the block nested in the :keyword:"
|
||||
"`with` statement is executed. The generator is then resumed after the block "
|
||||
|
@ -92,7 +100,7 @@ msgid ""
|
|||
"the :keyword:`with` statement."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:83
|
||||
#: ../Doc/library/contextlib.rst:89
|
||||
msgid ""
|
||||
":func:`contextmanager` uses :class:`ContextDecorator` so the context "
|
||||
"managers it creates can be used as decorators as well as in :keyword:`with` "
|
||||
|
@ -103,17 +111,17 @@ msgid ""
|
|||
"decorators)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:90
|
||||
#: ../Doc/library/contextlib.rst:96
|
||||
msgid "Use of :class:`ContextDecorator`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:96
|
||||
#: ../Doc/library/contextlib.rst:102
|
||||
msgid ""
|
||||
"Similar to :func:`~contextlib.contextmanager`, but creates an :ref:"
|
||||
"`asynchronous context manager <async-context-managers>`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:99
|
||||
#: ../Doc/library/contextlib.rst:105
|
||||
msgid ""
|
||||
"This function is a :term:`decorator` that can be used to define a factory "
|
||||
"function for :keyword:`async with` statement asynchronous context managers, "
|
||||
|
@ -122,41 +130,45 @@ msgid ""
|
|||
"function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:105
|
||||
#: ../Doc/library/contextlib.rst:111
|
||||
msgid "A simple example::"
|
||||
msgstr "Un exemple simple ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:126
|
||||
#: ../Doc/library/contextlib.rst:132
|
||||
msgid ""
|
||||
"Return a context manager that closes *thing* upon completion of the block. "
|
||||
"This is basically equivalent to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:138
|
||||
#: ../Doc/library/contextlib.rst:144
|
||||
msgid "And lets you write code like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:147
|
||||
#: ../Doc/library/contextlib.rst:153
|
||||
msgid ""
|
||||
"without needing to explicitly close ``page``. Even if an error occurs, "
|
||||
"``page.close()`` will be called when the :keyword:`with` block is exited."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:155
|
||||
#: ../Doc/library/contextlib.rst:161
|
||||
msgid ""
|
||||
"Return a context manager that returns enter_result from ``__enter__``, but "
|
||||
"Return a context manager that returns *enter_result* from ``__enter__``, but "
|
||||
"otherwise does nothing. It is intended to be used as a stand-in for an "
|
||||
"optional context manager, for example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:175
|
||||
msgid "An example using *enter_result*::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:193
|
||||
msgid ""
|
||||
"Return a context manager that suppresses any of the specified exceptions if "
|
||||
"they occur in the body of a with statement and then resumes execution with "
|
||||
"the first statement following the end of the with statement."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:179
|
||||
#: ../Doc/library/contextlib.rst:197
|
||||
msgid ""
|
||||
"As with any other mechanism that completely suppresses exceptions, this "
|
||||
"context manager should be used only to cover very specific errors where "
|
||||
|
@ -164,49 +176,49 @@ msgid ""
|
|||
"do."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:184
|
||||
#: ../Doc/library/contextlib.rst:202
|
||||
msgid "For example::"
|
||||
msgstr "Par exemple ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:194
|
||||
#: ../Doc/library/contextlib.rst:212
|
||||
msgid "This code is equivalent to::"
|
||||
msgstr "Ce code est équivalent à ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:206 ../Doc/library/contextlib.rst:245
|
||||
#: ../Doc/library/contextlib.rst:255
|
||||
#: ../Doc/library/contextlib.rst:224 ../Doc/library/contextlib.rst:263
|
||||
#: ../Doc/library/contextlib.rst:273
|
||||
msgid "This context manager is :ref:`reentrant <reentrant-cms>`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:213
|
||||
#: ../Doc/library/contextlib.rst:231
|
||||
msgid ""
|
||||
"Context manager for temporarily redirecting :data:`sys.stdout` to another "
|
||||
"file or file-like object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:216
|
||||
#: ../Doc/library/contextlib.rst:234
|
||||
msgid ""
|
||||
"This tool adds flexibility to existing functions or classes whose output is "
|
||||
"hardwired to stdout."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:219
|
||||
#: ../Doc/library/contextlib.rst:237
|
||||
msgid ""
|
||||
"For example, the output of :func:`help` normally is sent to *sys.stdout*. "
|
||||
"You can capture that output in a string by redirecting the output to an :"
|
||||
"class:`io.StringIO` object::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:228
|
||||
#: ../Doc/library/contextlib.rst:246
|
||||
msgid ""
|
||||
"To send the output of :func:`help` to a file on disk, redirect the output to "
|
||||
"a regular file::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:235
|
||||
#: ../Doc/library/contextlib.rst:253
|
||||
msgid "To send the output of :func:`help` to *sys.stderr*::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:240
|
||||
#: ../Doc/library/contextlib.rst:258
|
||||
msgid ""
|
||||
"Note that the global side effect on :data:`sys.stdout` means that this "
|
||||
"context manager is not suitable for use in library code and most threaded "
|
||||
|
@ -214,56 +226,56 @@ msgid ""
|
|||
"it is still a useful approach for many utility scripts."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:252
|
||||
#: ../Doc/library/contextlib.rst:270
|
||||
msgid ""
|
||||
"Similar to :func:`~contextlib.redirect_stdout` but redirecting :data:`sys."
|
||||
"stderr` to another file or file-like object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:262
|
||||
#: ../Doc/library/contextlib.rst:280
|
||||
msgid ""
|
||||
"A base class that enables a context manager to also be used as a decorator."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:264
|
||||
#: ../Doc/library/contextlib.rst:282
|
||||
msgid ""
|
||||
"Context managers inheriting from ``ContextDecorator`` have to implement "
|
||||
"``__enter__`` and ``__exit__`` as normal. ``__exit__`` retains its optional "
|
||||
"exception handling even when used as a decorator."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:268
|
||||
#: ../Doc/library/contextlib.rst:286
|
||||
msgid ""
|
||||
"``ContextDecorator`` is used by :func:`contextmanager`, so you get this "
|
||||
"functionality automatically."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:271
|
||||
#: ../Doc/library/contextlib.rst:289
|
||||
msgid "Example of ``ContextDecorator``::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:300
|
||||
#: ../Doc/library/contextlib.rst:318
|
||||
msgid ""
|
||||
"This change is just syntactic sugar for any construct of the following form::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:306
|
||||
#: ../Doc/library/contextlib.rst:324
|
||||
msgid "``ContextDecorator`` lets you instead write::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:312
|
||||
#: ../Doc/library/contextlib.rst:330
|
||||
msgid ""
|
||||
"It makes it clear that the ``cm`` applies to the whole function, rather than "
|
||||
"just a piece of it (and saving an indentation level is nice, too)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:315
|
||||
#: ../Doc/library/contextlib.rst:333
|
||||
msgid ""
|
||||
"Existing context managers that already have a base class can be extended by "
|
||||
"using ``ContextDecorator`` as a mixin class::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:328
|
||||
#: ../Doc/library/contextlib.rst:346
|
||||
msgid ""
|
||||
"As the decorated function must be able to be called multiple times, the "
|
||||
"underlying context manager must support use in multiple :keyword:`with` "
|
||||
|
@ -271,20 +283,20 @@ msgid ""
|
|||
"explicit :keyword:`with` statement inside the function should be used."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:338
|
||||
#: ../Doc/library/contextlib.rst:356
|
||||
msgid ""
|
||||
"A context manager that is designed to make it easy to programmatically "
|
||||
"combine other context managers and cleanup functions, especially those that "
|
||||
"are optional or otherwise driven by input data."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:342
|
||||
#: ../Doc/library/contextlib.rst:360
|
||||
msgid ""
|
||||
"For example, a set of files may easily be handled in a single with statement "
|
||||
"as follows::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:351
|
||||
#: ../Doc/library/contextlib.rst:369
|
||||
msgid ""
|
||||
"Each instance maintains a stack of registered callbacks that are called in "
|
||||
"reverse order when the instance is closed (either explicitly or implicitly "
|
||||
|
@ -292,14 +304,14 @@ msgid ""
|
|||
"invoked implicitly when the context stack instance is garbage collected."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:356
|
||||
#: ../Doc/library/contextlib.rst:374
|
||||
msgid ""
|
||||
"This stack model is used so that context managers that acquire their "
|
||||
"resources in their ``__init__`` method (such as file objects) can be handled "
|
||||
"correctly."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:360
|
||||
#: ../Doc/library/contextlib.rst:378
|
||||
msgid ""
|
||||
"Since registered callbacks are invoked in the reverse order of registration, "
|
||||
"this ends up behaving as if multiple nested :keyword:`with` statements had "
|
||||
|
@ -309,7 +321,7 @@ msgid ""
|
|||
"updated state."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:367
|
||||
#: ../Doc/library/contextlib.rst:385
|
||||
msgid ""
|
||||
"This is a relatively low level API that takes care of the details of "
|
||||
"correctly unwinding the stack of exit callbacks. It provides a suitable "
|
||||
|
@ -317,68 +329,68 @@ msgid ""
|
|||
"in application specific ways."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:376
|
||||
#: ../Doc/library/contextlib.rst:394
|
||||
msgid ""
|
||||
"Enters a new context manager and adds its :meth:`__exit__` method to the "
|
||||
"callback stack. The return value is the result of the context manager's own :"
|
||||
"meth:`__enter__` method."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:380
|
||||
#: ../Doc/library/contextlib.rst:398
|
||||
msgid ""
|
||||
"These context managers may suppress exceptions just as they normally would "
|
||||
"if used directly as part of a :keyword:`with` statement."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:385
|
||||
#: ../Doc/library/contextlib.rst:403
|
||||
msgid "Adds a context manager's :meth:`__exit__` method to the callback stack."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:387
|
||||
#: ../Doc/library/contextlib.rst:405
|
||||
msgid ""
|
||||
"As ``__enter__`` is *not* invoked, this method can be used to cover part of "
|
||||
"an :meth:`__enter__` implementation with a context manager's own :meth:"
|
||||
"`__exit__` method."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:391
|
||||
#: ../Doc/library/contextlib.rst:409
|
||||
msgid ""
|
||||
"If passed an object that is not a context manager, this method assumes it is "
|
||||
"a callback with the same signature as a context manager's :meth:`__exit__` "
|
||||
"method and adds it directly to the callback stack."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:395
|
||||
#: ../Doc/library/contextlib.rst:413
|
||||
msgid ""
|
||||
"By returning true values, these callbacks can suppress exceptions the same "
|
||||
"way context manager :meth:`__exit__` methods can."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:398
|
||||
#: ../Doc/library/contextlib.rst:416
|
||||
msgid ""
|
||||
"The passed in object is returned from the function, allowing this method to "
|
||||
"be used as a function decorator."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:403
|
||||
#: ../Doc/library/contextlib.rst:421
|
||||
msgid ""
|
||||
"Accepts an arbitrary callback function and arguments and adds it to the "
|
||||
"callback stack."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:406
|
||||
#: ../Doc/library/contextlib.rst:424
|
||||
msgid ""
|
||||
"Unlike the other methods, callbacks added this way cannot suppress "
|
||||
"exceptions (as they are never passed the exception details)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:409
|
||||
#: ../Doc/library/contextlib.rst:427
|
||||
msgid ""
|
||||
"The passed in callback is returned from the function, allowing this method "
|
||||
"to be used as a function decorator."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:414
|
||||
#: ../Doc/library/contextlib.rst:432
|
||||
msgid ""
|
||||
"Transfers the callback stack to a fresh :class:`ExitStack` instance and "
|
||||
"returns it. No callbacks are invoked by this operation - instead, they will "
|
||||
|
@ -386,70 +398,70 @@ msgid ""
|
|||
"at the end of a :keyword:`with` statement)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:419
|
||||
#: ../Doc/library/contextlib.rst:437
|
||||
msgid ""
|
||||
"For example, a group of files can be opened as an \"all or nothing\" "
|
||||
"operation as follows::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:433
|
||||
#: ../Doc/library/contextlib.rst:451
|
||||
msgid ""
|
||||
"Immediately unwinds the callback stack, invoking callbacks in the reverse "
|
||||
"order of registration. For any context managers and exit callbacks "
|
||||
"registered, the arguments passed in will indicate that no exception occurred."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:440
|
||||
#: ../Doc/library/contextlib.rst:458
|
||||
msgid ""
|
||||
"An :ref:`asynchronous context manager <async-context-managers>`, similar to :"
|
||||
"class:`ExitStack`, that supports combining both synchronous and asynchronous "
|
||||
"context managers, as well as having coroutines for cleanup logic."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:445
|
||||
#: ../Doc/library/contextlib.rst:463
|
||||
msgid ""
|
||||
"The :meth:`close` method is not implemented, :meth:`aclose` must be used "
|
||||
"instead."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:450
|
||||
#: ../Doc/library/contextlib.rst:468
|
||||
msgid ""
|
||||
"Similar to :meth:`enter_context` but expects an asynchronous context manager."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:455
|
||||
#: ../Doc/library/contextlib.rst:473
|
||||
msgid ""
|
||||
"Similar to :meth:`push` but expects either an asynchronous context manager "
|
||||
"or a coroutine."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:460
|
||||
#: ../Doc/library/contextlib.rst:478
|
||||
msgid "Similar to :meth:`callback` but expects a coroutine."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:464
|
||||
#: ../Doc/library/contextlib.rst:482
|
||||
msgid "Similar to :meth:`close` but properly handles awaitables."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:466
|
||||
#: ../Doc/library/contextlib.rst:484
|
||||
msgid "Continuing the example for :func:`asynccontextmanager`::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:478
|
||||
#: ../Doc/library/contextlib.rst:496
|
||||
msgid "Examples and Recipes"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:480
|
||||
#: ../Doc/library/contextlib.rst:498
|
||||
msgid ""
|
||||
"This section describes some examples and recipes for making effective use of "
|
||||
"the tools provided by :mod:`contextlib`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:485
|
||||
#: ../Doc/library/contextlib.rst:503
|
||||
msgid "Supporting a variable number of context managers"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:487
|
||||
#: ../Doc/library/contextlib.rst:505
|
||||
msgid ""
|
||||
"The primary use case for :class:`ExitStack` is the one given in the class "
|
||||
"documentation: supporting a variable number of context managers and other "
|
||||
|
@ -459,18 +471,18 @@ msgid ""
|
|||
"of the context managers being optional::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:502
|
||||
#: ../Doc/library/contextlib.rst:520
|
||||
msgid ""
|
||||
"As shown, :class:`ExitStack` also makes it quite easy to use :keyword:`with` "
|
||||
"statements to manage arbitrary resources that don't natively support the "
|
||||
"context management protocol."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:508
|
||||
#: ../Doc/library/contextlib.rst:526
|
||||
msgid "Catching exceptions from ``__enter__`` methods"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:510
|
||||
#: ../Doc/library/contextlib.rst:528
|
||||
msgid ""
|
||||
"It is occasionally desirable to catch exceptions from an ``__enter__`` "
|
||||
"method implementation, *without* inadvertently catching exceptions from the :"
|
||||
|
@ -479,7 +491,7 @@ msgid ""
|
|||
"be separated slightly in order to allow this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:525
|
||||
#: ../Doc/library/contextlib.rst:543
|
||||
msgid ""
|
||||
"Actually needing to do this is likely to indicate that the underlying API "
|
||||
"should be providing a direct resource management interface for use with :"
|
||||
|
@ -490,29 +502,29 @@ msgid ""
|
|||
"`with` statement."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:535
|
||||
#: ../Doc/library/contextlib.rst:553
|
||||
msgid "Cleaning up in an ``__enter__`` implementation"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:537
|
||||
#: ../Doc/library/contextlib.rst:555
|
||||
msgid ""
|
||||
"As noted in the documentation of :meth:`ExitStack.push`, this method can be "
|
||||
"useful in cleaning up an already allocated resource if later steps in the :"
|
||||
"meth:`__enter__` implementation fail."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:541
|
||||
#: ../Doc/library/contextlib.rst:559
|
||||
msgid ""
|
||||
"Here's an example of doing this for a context manager that accepts resource "
|
||||
"acquisition and release functions, along with an optional validation "
|
||||
"function, and maps them to the context management protocol::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:581
|
||||
#: ../Doc/library/contextlib.rst:599
|
||||
msgid "Replacing any use of ``try-finally`` and flag variables"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:583
|
||||
#: ../Doc/library/contextlib.rst:601
|
||||
msgid ""
|
||||
"A pattern you will sometimes see is a ``try-finally`` statement with a flag "
|
||||
"variable to indicate whether or not the body of the ``finally`` clause "
|
||||
|
@ -520,57 +532,57 @@ msgid ""
|
|||
"by using an ``except`` clause instead), it looks something like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:597
|
||||
#: ../Doc/library/contextlib.rst:615
|
||||
msgid ""
|
||||
"As with any ``try`` statement based code, this can cause problems for "
|
||||
"development and review, because the setup code and the cleanup code can end "
|
||||
"up being separated by arbitrarily long sections of code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:601
|
||||
#: ../Doc/library/contextlib.rst:619
|
||||
msgid ""
|
||||
":class:`ExitStack` makes it possible to instead register a callback for "
|
||||
"execution at the end of a ``with`` statement, and then later decide to skip "
|
||||
"executing that callback::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:613
|
||||
#: ../Doc/library/contextlib.rst:631
|
||||
msgid ""
|
||||
"This allows the intended cleanup up behaviour to be made explicit up front, "
|
||||
"rather than requiring a separate flag variable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:616
|
||||
#: ../Doc/library/contextlib.rst:634
|
||||
msgid ""
|
||||
"If a particular application uses this pattern a lot, it can be simplified "
|
||||
"even further by means of a small helper class::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:634
|
||||
#: ../Doc/library/contextlib.rst:652
|
||||
msgid ""
|
||||
"If the resource cleanup isn't already neatly bundled into a standalone "
|
||||
"function, then it is still possible to use the decorator form of :meth:"
|
||||
"`ExitStack.callback` to declare the resource cleanup in advance::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:649
|
||||
#: ../Doc/library/contextlib.rst:667
|
||||
msgid ""
|
||||
"Due to the way the decorator protocol works, a callback function declared "
|
||||
"this way cannot take any parameters. Instead, any resources to be released "
|
||||
"must be accessed as closure variables."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:655
|
||||
#: ../Doc/library/contextlib.rst:673
|
||||
msgid "Using a context manager as a function decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:657
|
||||
#: ../Doc/library/contextlib.rst:675
|
||||
msgid ""
|
||||
":class:`ContextDecorator` makes it possible to use a context manager in both "
|
||||
"an ordinary ``with`` statement and also as a function decorator."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:660
|
||||
#: ../Doc/library/contextlib.rst:678
|
||||
msgid ""
|
||||
"For example, it is sometimes useful to wrap functions or groups of "
|
||||
"statements with a logger that can track the time of entry and time of exit. "
|
||||
|
@ -579,15 +591,15 @@ msgid ""
|
|||
"in a single definition::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:681
|
||||
#: ../Doc/library/contextlib.rst:699
|
||||
msgid "Instances of this class can be used as both a context manager::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:687
|
||||
#: ../Doc/library/contextlib.rst:705
|
||||
msgid "And also as a function decorator::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:694
|
||||
#: ../Doc/library/contextlib.rst:712
|
||||
msgid ""
|
||||
"Note that there is one additional limitation when using context managers as "
|
||||
"function decorators: there's no way to access the return value of :meth:"
|
||||
|
@ -595,11 +607,11 @@ msgid ""
|
|||
"explicit ``with`` statement."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:702
|
||||
#: ../Doc/library/contextlib.rst:720
|
||||
msgid ":pep:`343` - The \"with\" statement"
|
||||
msgstr ":pep:`343` - The \"with\" statement"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:702
|
||||
#: ../Doc/library/contextlib.rst:720
|
||||
msgid ""
|
||||
"The specification, background, and examples for the Python :keyword:`with` "
|
||||
"statement."
|
||||
|
@ -607,11 +619,11 @@ msgstr ""
|
|||
"La spécification, les motivations et des exemples de l'instruction :keyword:"
|
||||
"`with` en Python."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:708
|
||||
#: ../Doc/library/contextlib.rst:726
|
||||
msgid "Single use, reusable and reentrant context managers"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:710
|
||||
#: ../Doc/library/contextlib.rst:728
|
||||
msgid ""
|
||||
"Most context managers are written in a way that means they can only be used "
|
||||
"effectively in a :keyword:`with` statement once. These single use context "
|
||||
|
@ -619,32 +631,32 @@ msgid ""
|
|||
"them a second time will trigger an exception or otherwise not work correctly."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:716
|
||||
#: ../Doc/library/contextlib.rst:734
|
||||
msgid ""
|
||||
"This common limitation means that it is generally advisable to create "
|
||||
"context managers directly in the header of the :keyword:`with` statement "
|
||||
"where they are used (as shown in all of the usage examples above)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:720
|
||||
#: ../Doc/library/contextlib.rst:738
|
||||
msgid ""
|
||||
"Files are an example of effectively single use context managers, since the "
|
||||
"first :keyword:`with` statement will close the file, preventing any further "
|
||||
"IO operations using that file object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:724
|
||||
#: ../Doc/library/contextlib.rst:742
|
||||
msgid ""
|
||||
"Context managers created using :func:`contextmanager` are also single use "
|
||||
"context managers, and will complain about the underlying generator failing "
|
||||
"to yield if an attempt is made to use them a second time::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:752
|
||||
#: ../Doc/library/contextlib.rst:770
|
||||
msgid "Reentrant context managers"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:754
|
||||
#: ../Doc/library/contextlib.rst:772
|
||||
msgid ""
|
||||
"More sophisticated context managers may be \"reentrant\". These context "
|
||||
"managers can not only be used in multiple :keyword:`with` statements, but "
|
||||
|
@ -652,21 +664,21 @@ msgid ""
|
|||
"the same context manager."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:759
|
||||
#: ../Doc/library/contextlib.rst:777
|
||||
msgid ""
|
||||
":class:`threading.RLock` is an example of a reentrant context manager, as "
|
||||
"are :func:`suppress` and :func:`redirect_stdout`. Here's a very simple "
|
||||
"example of reentrant use::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:778
|
||||
#: ../Doc/library/contextlib.rst:796
|
||||
msgid ""
|
||||
"Real world examples of reentrancy are more likely to involve multiple "
|
||||
"functions calling each other and hence be far more complicated than this "
|
||||
"example."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:782
|
||||
#: ../Doc/library/contextlib.rst:800
|
||||
msgid ""
|
||||
"Note also that being reentrant is *not* the same thing as being thread "
|
||||
"safe. :func:`redirect_stdout`, for example, is definitely not thread safe, "
|
||||
|
@ -674,11 +686,11 @@ msgid ""
|
|||
"stdout` to a different stream."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:791
|
||||
#: ../Doc/library/contextlib.rst:809
|
||||
msgid "Reusable context managers"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:793
|
||||
#: ../Doc/library/contextlib.rst:811
|
||||
msgid ""
|
||||
"Distinct from both single use and reentrant context managers are \"reusable"
|
||||
"\" context managers (or, to be completely explicit, \"reusable, but not "
|
||||
|
@ -688,21 +700,21 @@ msgid ""
|
|||
"instance has already been used in a containing with statement."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:800
|
||||
#: ../Doc/library/contextlib.rst:818
|
||||
msgid ""
|
||||
":class:`threading.Lock` is an example of a reusable, but not reentrant, "
|
||||
"context manager (for a reentrant lock, it is necessary to use :class:"
|
||||
"`threading.RLock` instead)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:804
|
||||
#: ../Doc/library/contextlib.rst:822
|
||||
msgid ""
|
||||
"Another example of a reusable, but not reentrant, context manager is :class:"
|
||||
"`ExitStack`, as it invokes *all* currently registered callbacks when leaving "
|
||||
"any with statement, regardless of where those callbacks were added::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:835
|
||||
#: ../Doc/library/contextlib.rst:853
|
||||
msgid ""
|
||||
"As the output from the example shows, reusing a single stack object across "
|
||||
"multiple with statements works correctly, but attempting to nest them will "
|
||||
|
@ -710,7 +722,7 @@ msgid ""
|
|||
"which is unlikely to be desirable behaviour."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextlib.rst:840
|
||||
#: ../Doc/library/contextlib.rst:858
|
||||
msgid ""
|
||||
"Using separate :class:`ExitStack` instances instead of reusing a single "
|
||||
"instance avoids that problem::"
|
||||
|
|
|
@ -5,10 +5,11 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-03 10:53+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 23:47+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -69,183 +70,183 @@ msgstr ""
|
|||
msgid "The name of the variable. This is a read-only property."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:53
|
||||
#: ../Doc/library/contextvars.rst:55
|
||||
msgid "Return a value for the context variable for the current context."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:55
|
||||
#: ../Doc/library/contextvars.rst:57
|
||||
msgid ""
|
||||
"If there is no value for the variable in the current context, the method "
|
||||
"will:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:58
|
||||
#: ../Doc/library/contextvars.rst:60
|
||||
msgid ""
|
||||
"return the value of the *default* argument of the method, if provided; or"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:61
|
||||
#: ../Doc/library/contextvars.rst:63
|
||||
msgid ""
|
||||
"return the default value for the context variable, if it was created with "
|
||||
"one; or"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:64
|
||||
#: ../Doc/library/contextvars.rst:66
|
||||
msgid "raise a :exc:`LookupError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:68
|
||||
#: ../Doc/library/contextvars.rst:70
|
||||
msgid ""
|
||||
"Call to set a new value for the context variable in the current context."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:71
|
||||
#: ../Doc/library/contextvars.rst:73
|
||||
msgid ""
|
||||
"The required *value* argument is the new value for the context variable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:74
|
||||
#: ../Doc/library/contextvars.rst:76
|
||||
msgid ""
|
||||
"Returns a :class:`~contextvars.Token` object that can be used to restore the "
|
||||
"variable to its previous value via the :meth:`ContextVar.reset` method."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:80
|
||||
#: ../Doc/library/contextvars.rst:82
|
||||
msgid ""
|
||||
"Reset the context variable to the value it had before the :meth:`ContextVar."
|
||||
"set` that created the *token* was used."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:83
|
||||
#: ../Doc/library/contextvars.rst:85
|
||||
msgid "For example::"
|
||||
msgstr "Par exemple ::"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:97
|
||||
#: ../Doc/library/contextvars.rst:99
|
||||
msgid ""
|
||||
"*Token* objects are returned by the :meth:`ContextVar.set` method. They can "
|
||||
"be passed to the :meth:`ContextVar.reset` method to revert the value of the "
|
||||
"variable to what it was before the corresponding *set*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:104
|
||||
#: ../Doc/library/contextvars.rst:106
|
||||
msgid ""
|
||||
"A read-only property. Points to the :class:`ContextVar` object that created "
|
||||
"the token."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:109
|
||||
#: ../Doc/library/contextvars.rst:111
|
||||
msgid ""
|
||||
"A read-only property. Set to the value the variable had before the :meth:"
|
||||
"`ContextVar.set` method call that created the token. It points to :attr:"
|
||||
"`Token.MISSING` is the variable was not set before the call."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:116
|
||||
#: ../Doc/library/contextvars.rst:118
|
||||
msgid "A marker object used by :attr:`Token.old_value`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:120
|
||||
#: ../Doc/library/contextvars.rst:122
|
||||
msgid "Manual Context Management"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:124
|
||||
#: ../Doc/library/contextvars.rst:126
|
||||
msgid "Returns a copy of the current :class:`~contextvars.Context` object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:126
|
||||
#: ../Doc/library/contextvars.rst:128
|
||||
msgid ""
|
||||
"The following snippet gets a copy of the current context and prints all "
|
||||
"variables and their values that are set in it::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:132
|
||||
#: ../Doc/library/contextvars.rst:134
|
||||
msgid ""
|
||||
"The function has an O(1) complexity, i.e. works equally fast for contexts "
|
||||
"with a few context variables and for contexts that have a lot of them."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:139
|
||||
#: ../Doc/library/contextvars.rst:141
|
||||
msgid "A mapping of :class:`ContextVars <ContextVar>` to their values."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:141
|
||||
#: ../Doc/library/contextvars.rst:143
|
||||
msgid ""
|
||||
"``Context()`` creates an empty context with no values in it. To get a copy "
|
||||
"of the current context use the :func:`~contextvars.copy_context` function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:145
|
||||
#: ../Doc/library/contextvars.rst:147
|
||||
msgid "Context implements the :class:`collections.abc.Mapping` interface."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:149
|
||||
#: ../Doc/library/contextvars.rst:151
|
||||
msgid ""
|
||||
"Execute ``callable(*args, **kwargs)`` code in the context object the *run* "
|
||||
"method is called on. Return the result of the execution or propagate an "
|
||||
"exception if one occurred."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:153
|
||||
#: ../Doc/library/contextvars.rst:155
|
||||
msgid ""
|
||||
"Any changes to any context variables that *callable* makes will be contained "
|
||||
"in the context object::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:182
|
||||
#: ../Doc/library/contextvars.rst:184
|
||||
msgid ""
|
||||
"The method raises a :exc:`RuntimeError` when called on the same context "
|
||||
"object from more than one OS thread, or when called recursively."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:188
|
||||
#: ../Doc/library/contextvars.rst:190
|
||||
msgid "Return a shallow copy of the context object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:192
|
||||
#: ../Doc/library/contextvars.rst:194
|
||||
msgid ""
|
||||
"Return ``True`` if the *context* has a value for *var* set; return ``False`` "
|
||||
"otherwise."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:197
|
||||
#: ../Doc/library/contextvars.rst:199
|
||||
msgid ""
|
||||
"Return the value of the *var* :class:`ContextVar` variable. If the variable "
|
||||
"is not set in the context object, a :exc:`KeyError` is raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:203
|
||||
#: ../Doc/library/contextvars.rst:205
|
||||
msgid ""
|
||||
"Return the value for *var* if *var* has the value in the context object. "
|
||||
"Return *default* otherwise. If *default* is not given, return ``None``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:209
|
||||
#: ../Doc/library/contextvars.rst:211
|
||||
msgid "Return an iterator over the variables stored in the context object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:214
|
||||
#: ../Doc/library/contextvars.rst:216
|
||||
msgid "Return the number of variables set in the context object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:218
|
||||
#: ../Doc/library/contextvars.rst:220
|
||||
msgid "Return a list of all variables in the context object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:222
|
||||
#: ../Doc/library/contextvars.rst:224
|
||||
msgid "Return a list of all variables' values in the context object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:227
|
||||
#: ../Doc/library/contextvars.rst:229
|
||||
msgid ""
|
||||
"Return a list of 2-tuples containing all variables and their values in the "
|
||||
"context object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:232
|
||||
#: ../Doc/library/contextvars.rst:234
|
||||
msgid "asyncio support"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/contextvars.rst:234
|
||||
#: ../Doc/library/contextvars.rst:236
|
||||
msgid ""
|
||||
"Context variables are natively supported in :mod:`asyncio` and are ready to "
|
||||
"be used without any extra configuration. For example, here is a simple echo "
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,10 +5,11 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.7\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-03 10:54+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 23:47+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -73,32 +74,32 @@ msgstr ""
|
|||
msgid ""
|
||||
"The :func:`dataclass` decorator will add various \"dunder\" methods to the "
|
||||
"class, described below. If any of the added methods already exist on the "
|
||||
"class, a :exc:`TypeError` will be raised. The decorator returns the same "
|
||||
"class that is called on: no new class is created."
|
||||
"class, the behavior depends on the parameter, as documented below. The "
|
||||
"decorator returns the same class that is called on; no new class is created."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:66
|
||||
#: ../Doc/library/dataclasses.rst:67
|
||||
msgid ""
|
||||
"If :func:`dataclass` is used just as a simple decorator with no parameters, "
|
||||
"it acts as if it has the default values documented in this signature. That "
|
||||
"is, these three uses of :func:`dataclass` are equivalent::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:83
|
||||
#: ../Doc/library/dataclasses.rst:84
|
||||
msgid "The parameters to :func:`dataclass` are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:85
|
||||
#: ../Doc/library/dataclasses.rst:86
|
||||
msgid ""
|
||||
"``init``: If true (the default), a :meth:`__init__` method will be generated."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:88
|
||||
#: ../Doc/library/dataclasses.rst:89
|
||||
msgid ""
|
||||
"If the class already defines :meth:`__init__`, this parameter is ignored."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:91
|
||||
#: ../Doc/library/dataclasses.rst:92
|
||||
msgid ""
|
||||
"``repr``: If true (the default), a :meth:`__repr__` method will be "
|
||||
"generated. The generated repr string will have the class name and the name "
|
||||
|
@ -108,23 +109,23 @@ msgid ""
|
|||
"quantity_on_hand=10)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:98
|
||||
#: ../Doc/library/dataclasses.rst:99
|
||||
msgid ""
|
||||
"If the class already defines :meth:`__repr__`, this parameter is ignored."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:101
|
||||
#: ../Doc/library/dataclasses.rst:102
|
||||
msgid ""
|
||||
"``eq``: If true (the default), an :meth:`__eq__` method will be generated. "
|
||||
"This method compares the class as if it were a tuple of its fields, in "
|
||||
"order. Both instances in the comparison must be of the identical type."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:106
|
||||
#: ../Doc/library/dataclasses.rst:107
|
||||
msgid "If the class already defines :meth:`__eq__`, this parameter is ignored."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:109
|
||||
#: ../Doc/library/dataclasses.rst:110
|
||||
msgid ""
|
||||
"``order``: If true (the default is ``False``), :meth:`__lt__`, :meth:"
|
||||
"`__le__`, :meth:`__gt__`, and :meth:`__ge__` methods will be generated. "
|
||||
|
@ -133,19 +134,19 @@ msgid ""
|
|||
"true and ``eq`` is false, a :exc:`ValueError` is raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:116
|
||||
#: ../Doc/library/dataclasses.rst:117
|
||||
msgid ""
|
||||
"If the class already defines any of :meth:`__lt__`, :meth:`__le__`, :meth:"
|
||||
"`__gt__`, or :meth:`__ge__`, then :exc:`ValueError` is raised."
|
||||
"`__gt__`, or :meth:`__ge__`, then :exc:`TypeError` is raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:120
|
||||
#: ../Doc/library/dataclasses.rst:121
|
||||
msgid ""
|
||||
"``unsafe_hash``: If ``False`` (the default), a :meth:`__hash__` method is "
|
||||
"generated according to how ``eq`` and ``frozen`` are set."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:123
|
||||
#: ../Doc/library/dataclasses.rst:124
|
||||
msgid ""
|
||||
":meth:`__hash__` is used by built-in :meth:`hash()`, and when objects are "
|
||||
"added to hashed collections such as dictionaries and sets. Having a :meth:"
|
||||
|
@ -155,7 +156,7 @@ msgid ""
|
|||
"``frozen`` flags in the :func:`dataclass` decorator."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:130
|
||||
#: ../Doc/library/dataclasses.rst:131
|
||||
msgid ""
|
||||
"By default, :func:`dataclass` will not implicitly add a :meth:`__hash__` "
|
||||
"method unless it is safe to do so. Neither will it add or change an "
|
||||
|
@ -164,7 +165,7 @@ msgid ""
|
|||
"in the :meth:`__hash__` documentation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:136
|
||||
#: ../Doc/library/dataclasses.rst:137
|
||||
msgid ""
|
||||
"If :meth:`__hash__` is not explicit defined, or if it is set to ``None``, "
|
||||
"then :func:`dataclass` *may* add an implicit :meth:`__hash__` method. "
|
||||
|
@ -174,7 +175,7 @@ msgid ""
|
|||
"specialized use case and should be considered carefully."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:143
|
||||
#: ../Doc/library/dataclasses.rst:144
|
||||
msgid ""
|
||||
"Here are the rules governing implicit creation of a :meth:`__hash__` "
|
||||
"method. Note that you cannot both have an explicit :meth:`__hash__` method "
|
||||
|
@ -182,7 +183,7 @@ msgid ""
|
|||
"`TypeError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:148
|
||||
#: ../Doc/library/dataclasses.rst:149
|
||||
msgid ""
|
||||
"If ``eq`` and ``frozen`` are both true, by default :func:`dataclass` will "
|
||||
"generate a :meth:`__hash__` method for you. If ``eq`` is true and "
|
||||
|
@ -193,7 +194,7 @@ msgid ""
|
|||
"will fall back to id-based hashing)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:156
|
||||
#: ../Doc/library/dataclasses.rst:157
|
||||
msgid ""
|
||||
"``frozen``: If true (the default is False), assigning to fields will "
|
||||
"generate an exception. This emulates read-only frozen instances. If :meth:"
|
||||
|
@ -201,26 +202,26 @@ msgid ""
|
|||
"`TypeError` is raised. See the discussion below."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:161
|
||||
#: ../Doc/library/dataclasses.rst:162
|
||||
msgid ""
|
||||
"``field``\\s may optionally specify a default value, using normal Python "
|
||||
"syntax::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:169
|
||||
#: ../Doc/library/dataclasses.rst:170
|
||||
msgid ""
|
||||
"In this example, both ``a`` and ``b`` will be included in the added :meth:"
|
||||
"`__init__` method, which will be defined as::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:174
|
||||
#: ../Doc/library/dataclasses.rst:175
|
||||
msgid ""
|
||||
":exc:`TypeError` will be raised if a field without a default value follows a "
|
||||
"field with a default value. This is true either when this occurs in a "
|
||||
"single class, or as a result of class inheritance."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:180
|
||||
#: ../Doc/library/dataclasses.rst:181
|
||||
msgid ""
|
||||
"For common and simple use cases, no other functionality is required. There "
|
||||
"are, however, some dataclass features that require additional per-field "
|
||||
|
@ -229,7 +230,7 @@ msgid ""
|
|||
"function. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:193
|
||||
#: ../Doc/library/dataclasses.rst:194
|
||||
msgid ""
|
||||
"As shown above, the ``MISSING`` value is a sentinel object used to detect if "
|
||||
"the ``default`` and ``default_factory`` parameters are provided. This "
|
||||
|
@ -237,18 +238,18 @@ msgid ""
|
|||
"should directly use the ``MISSING`` value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:199
|
||||
#: ../Doc/library/dataclasses.rst:200
|
||||
msgid "The parameters to :func:`field` are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:201
|
||||
#: ../Doc/library/dataclasses.rst:202
|
||||
msgid ""
|
||||
"``default``: If provided, this will be the default value for this field. "
|
||||
"This is needed because the :meth:`field` call itself replaces the normal "
|
||||
"position of the default value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:205
|
||||
#: ../Doc/library/dataclasses.rst:206
|
||||
msgid ""
|
||||
"``default_factory``: If provided, it must be a zero-argument callable that "
|
||||
"will be called when a default value is needed for this field. Among other "
|
||||
|
@ -257,25 +258,25 @@ msgid ""
|
|||
"``default_factory``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:211
|
||||
#: ../Doc/library/dataclasses.rst:212
|
||||
msgid ""
|
||||
"``init``: If true (the default), this field is included as a parameter to "
|
||||
"the generated :meth:`__init__` method."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:214
|
||||
#: ../Doc/library/dataclasses.rst:215
|
||||
msgid ""
|
||||
"``repr``: If true (the default), this field is included in the string "
|
||||
"returned by the generated :meth:`__repr__` method."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:217
|
||||
#: ../Doc/library/dataclasses.rst:218
|
||||
msgid ""
|
||||
"``compare``: If true (the default), this field is included in the generated "
|
||||
"equality and comparison methods (:meth:`__eq__`, :meth:`__gt__`, et al.)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:221
|
||||
#: ../Doc/library/dataclasses.rst:222
|
||||
msgid ""
|
||||
"``hash``: This can be a bool or ``None``. If true, this field is included "
|
||||
"in the generated :meth:`__hash__` method. If ``None`` (the default), use "
|
||||
|
@ -284,7 +285,7 @@ msgid ""
|
|||
"Setting this value to anything other than ``None`` is discouraged."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:228
|
||||
#: ../Doc/library/dataclasses.rst:229
|
||||
msgid ""
|
||||
"One possible reason to set ``hash=False`` but ``compare=True`` would be if a "
|
||||
"field is expensive to compute a hash value for, that field is needed for "
|
||||
|
@ -293,7 +294,7 @@ msgid ""
|
|||
"used for comparisons."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:234
|
||||
#: ../Doc/library/dataclasses.rst:235
|
||||
msgid ""
|
||||
"``metadata``: This can be a mapping or None. None is treated as an empty "
|
||||
"dict. This value is wrapped in :func:`~types.MappingProxyType` to make it "
|
||||
|
@ -303,7 +304,7 @@ msgid ""
|
|||
"the metadata."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:242
|
||||
#: ../Doc/library/dataclasses.rst:243
|
||||
msgid ""
|
||||
"If the default value of a field is specified by a call to :func:`field()`, "
|
||||
"then the class attribute for this field will be replaced by the specified "
|
||||
|
@ -314,13 +315,13 @@ msgid ""
|
|||
"after::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:258
|
||||
#: ../Doc/library/dataclasses.rst:259
|
||||
msgid ""
|
||||
"The class attribute ``C.z`` will be ``10``, the class attribute ``C.t`` will "
|
||||
"be ``20``, and the class attributes ``C.x`` and ``C.y`` will not be set."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:264
|
||||
#: ../Doc/library/dataclasses.rst:265
|
||||
msgid ""
|
||||
":class:`Field` objects describe each defined field. These objects are "
|
||||
"created internally, and are returned by the :func:`fields` module-level "
|
||||
|
@ -328,28 +329,28 @@ msgid ""
|
|||
"directly. Its documented attributes are:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:269
|
||||
#: ../Doc/library/dataclasses.rst:270
|
||||
msgid "``name``: The name of the field."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:271
|
||||
#: ../Doc/library/dataclasses.rst:272
|
||||
msgid "``type``: The type of the field."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:273
|
||||
#: ../Doc/library/dataclasses.rst:274
|
||||
msgid ""
|
||||
"``default``, ``default_factory``, ``init``, ``repr``, ``hash``, ``compare``, "
|
||||
"and ``metadata`` have the identical meaning and values as they do in the :"
|
||||
"func:`field` declaration."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:277
|
||||
#: ../Doc/library/dataclasses.rst:278
|
||||
msgid ""
|
||||
"Other attributes may exist, but they are private and must not be inspected "
|
||||
"or relied on."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:282
|
||||
#: ../Doc/library/dataclasses.rst:283
|
||||
msgid ""
|
||||
"Returns a tuple of :class:`Field` objects that define the fields for this "
|
||||
"dataclass. Accepts either a dataclass, or an instance of a dataclass. "
|
||||
|
@ -357,7 +358,7 @@ msgid ""
|
|||
"not return pseudo-fields which are ``ClassVar`` or ``InitVar``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:289
|
||||
#: ../Doc/library/dataclasses.rst:290
|
||||
msgid ""
|
||||
"Converts the dataclass ``instance`` to a dict (by using the factory function "
|
||||
"``dict_factory``). Each dataclass is converted to a dict of its fields, as "
|
||||
|
@ -365,22 +366,22 @@ msgid ""
|
|||
"into. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:309 ../Doc/library/dataclasses.rst:323
|
||||
#: ../Doc/library/dataclasses.rst:310 ../Doc/library/dataclasses.rst:324
|
||||
msgid "Raises :exc:`TypeError` if ``instance`` is not a dataclass instance."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:313
|
||||
#: ../Doc/library/dataclasses.rst:314
|
||||
msgid ""
|
||||
"Converts the dataclass ``instance`` to a tuple (by using the factory "
|
||||
"function ``tuple_factory``). Each dataclass is converted to a tuple of its "
|
||||
"field values. dataclasses, dicts, lists, and tuples are recursed into."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:318
|
||||
#: ../Doc/library/dataclasses.rst:319
|
||||
msgid "Continuing from the previous example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:327
|
||||
#: ../Doc/library/dataclasses.rst:328
|
||||
msgid ""
|
||||
"Creates a new dataclass with name ``cls_name``, fields as defined in "
|
||||
"``fields``, base classes as given in ``bases``, and initialized with a "
|
||||
|
@ -392,7 +393,7 @@ msgid ""
|
|||
"`dataclass`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:336
|
||||
#: ../Doc/library/dataclasses.rst:337
|
||||
msgid ""
|
||||
"This function is not strictly required, because any Python mechanism for "
|
||||
"creating a new class with ``__annotations__`` can then apply the :func:"
|
||||
|
@ -400,11 +401,11 @@ msgid ""
|
|||
"provided as a convenience. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:348
|
||||
#: ../Doc/library/dataclasses.rst:349
|
||||
msgid "Is equivalent to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:361
|
||||
#: ../Doc/library/dataclasses.rst:362
|
||||
msgid ""
|
||||
"Creates a new object of the same type of ``instance``, replacing fields with "
|
||||
"values from ``changes``. If ``instance`` is not a Data Class, raises :exc:"
|
||||
|
@ -412,27 +413,27 @@ msgid ""
|
|||
"`TypeError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:366
|
||||
#: ../Doc/library/dataclasses.rst:367
|
||||
msgid ""
|
||||
"The newly returned object is created by calling the :meth:`__init__` method "
|
||||
"of the dataclass. This ensures that :meth:`__post_init__`, if present, is "
|
||||
"also called."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:370
|
||||
#: ../Doc/library/dataclasses.rst:371
|
||||
msgid ""
|
||||
"Init-only variables without default values, if any exist, must be specified "
|
||||
"on the call to :func:`replace` so that they can be passed to :meth:"
|
||||
"`__init__` and :meth:`__post_init__`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:374
|
||||
#: ../Doc/library/dataclasses.rst:375
|
||||
msgid ""
|
||||
"It is an error for ``changes`` to contain any fields that are defined as "
|
||||
"having ``init=False``. A :exc:`ValueError` will be raised in this case."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:378
|
||||
#: ../Doc/library/dataclasses.rst:379
|
||||
msgid ""
|
||||
"Be forewarned about how ``init=False`` fields work during a call to :func:"
|
||||
"`replace`. They are not copied from the source object, but rather are "
|
||||
|
@ -443,24 +444,24 @@ msgid ""
|
|||
"instance copying."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:389
|
||||
#: ../Doc/library/dataclasses.rst:390
|
||||
msgid ""
|
||||
"Returns True if its parameter is a dataclass or an instance of one, "
|
||||
"otherwise returns False."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:392
|
||||
#: ../Doc/library/dataclasses.rst:393
|
||||
msgid ""
|
||||
"If you need to know if a class is an instance of a dataclass (and not a "
|
||||
"dataclass itself), then add a further check for ``not isinstance(obj, "
|
||||
"type)``::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:400
|
||||
#: ../Doc/library/dataclasses.rst:401
|
||||
msgid "Post-init processing"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:402
|
||||
#: ../Doc/library/dataclasses.rst:403
|
||||
msgid ""
|
||||
"The generated :meth:`__init__` code will call a method named :meth:"
|
||||
"`__post_init__`, if :meth:`__post_init__` is defined on the class. It will "
|
||||
|
@ -470,24 +471,24 @@ msgid ""
|
|||
"generated, then :meth:`__post_init__` will not automatically be called."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:410
|
||||
#: ../Doc/library/dataclasses.rst:411
|
||||
msgid ""
|
||||
"Among other uses, this allows for initializing field values that depend on "
|
||||
"one or more other fields. For example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:422
|
||||
#: ../Doc/library/dataclasses.rst:423
|
||||
msgid ""
|
||||
"See the section below on init-only variables for ways to pass parameters to :"
|
||||
"meth:`__post_init__`. Also see the warning about how :func:`replace` "
|
||||
"handles ``init=False`` fields."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:427
|
||||
#: ../Doc/library/dataclasses.rst:428
|
||||
msgid "Class variables"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:429
|
||||
#: ../Doc/library/dataclasses.rst:430
|
||||
msgid ""
|
||||
"One of two places where :func:`dataclass` actually inspects the type of a "
|
||||
"field is to determine if a field is a class variable as defined in :pep:"
|
||||
|
@ -497,11 +498,11 @@ msgid ""
|
|||
"pseudo-fields are not returned by the module-level :func:`fields` function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:438
|
||||
#: ../Doc/library/dataclasses.rst:439
|
||||
msgid "Init-only variables"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:440
|
||||
#: ../Doc/library/dataclasses.rst:441
|
||||
msgid ""
|
||||
"The other place where :func:`dataclass` inspects a type annotation is to "
|
||||
"determine if a field is an init-only variable. It does this by seeing if "
|
||||
|
@ -513,23 +514,23 @@ msgid ""
|
|||
"`__post_init__` method. They are not otherwise used by dataclasses."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:450
|
||||
#: ../Doc/library/dataclasses.rst:451
|
||||
msgid ""
|
||||
"For example, suppose a field will be initialzed from a database, if a value "
|
||||
"is not provided when creating the class::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:465
|
||||
#: ../Doc/library/dataclasses.rst:466
|
||||
msgid ""
|
||||
"In this case, :func:`fields` will return :class:`Field` objects for ``i`` "
|
||||
"and ``j``, but not for ``database``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:469
|
||||
#: ../Doc/library/dataclasses.rst:470
|
||||
msgid "Frozen instances"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:471
|
||||
#: ../Doc/library/dataclasses.rst:472
|
||||
msgid ""
|
||||
"It is not possible to create truly immutable Python objects. However, by "
|
||||
"passing ``frozen=True`` to the :meth:`dataclass` decorator you can emulate "
|
||||
|
@ -538,18 +539,18 @@ msgid ""
|
|||
"`FrozenInstanceError` when invoked."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:477
|
||||
#: ../Doc/library/dataclasses.rst:478
|
||||
msgid ""
|
||||
"There is a tiny performance penalty when using ``frozen=True``: :meth:"
|
||||
"`__init__` cannot use simple assignment to initialize fields, and must use :"
|
||||
"meth:`object.__setattr__`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:482
|
||||
#: ../Doc/library/dataclasses.rst:483
|
||||
msgid "Inheritance"
|
||||
msgstr "Héritage"
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:484
|
||||
#: ../Doc/library/dataclasses.rst:485
|
||||
msgid ""
|
||||
"When the dataclass is being created by the :meth:`dataclass` decorator, it "
|
||||
"looks through all of the class's base classes in reverse MRO (that is, "
|
||||
|
@ -561,28 +562,28 @@ msgid ""
|
|||
"derived classes override base classes. An example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:504
|
||||
#: ../Doc/library/dataclasses.rst:505
|
||||
msgid ""
|
||||
"The final list of fields is, in order, ``x``, ``y``, ``z``. The final type "
|
||||
"of ``x`` is ``int``, as specified in class ``C``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:507
|
||||
#: ../Doc/library/dataclasses.rst:508
|
||||
msgid "The generated :meth:`__init__` method for ``C`` will look like::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:512
|
||||
#: ../Doc/library/dataclasses.rst:513
|
||||
msgid "Default factory functions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:514
|
||||
#: ../Doc/library/dataclasses.rst:515
|
||||
msgid ""
|
||||
"If a :func:`field` specifies a ``default_factory``, it is called with zero "
|
||||
"arguments when a default value for the field is needed. For example, to "
|
||||
"create a new instance of a list, use::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:520
|
||||
#: ../Doc/library/dataclasses.rst:521
|
||||
msgid ""
|
||||
"If a field is excluded from :meth:`__init__` (using ``init=False``) and the "
|
||||
"field also specifies ``default_factory``, then the default factory function "
|
||||
|
@ -590,31 +591,31 @@ msgid ""
|
|||
"happens because there is no other way to give the field an initial value."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:527
|
||||
#: ../Doc/library/dataclasses.rst:528
|
||||
msgid "Mutable default values"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:529
|
||||
#: ../Doc/library/dataclasses.rst:530
|
||||
msgid ""
|
||||
"Python stores default member variable values in class attributes. Consider "
|
||||
"this example, not using dataclasses::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:544
|
||||
#: ../Doc/library/dataclasses.rst:545
|
||||
msgid ""
|
||||
"Note that the two instances of class ``C`` share the same class variable "
|
||||
"``x``, as expected."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:547
|
||||
#: ../Doc/library/dataclasses.rst:548
|
||||
msgid "Using dataclasses, *if* this code was valid::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:555
|
||||
#: ../Doc/library/dataclasses.rst:556
|
||||
msgid "it would generate code similar to::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:566
|
||||
#: ../Doc/library/dataclasses.rst:567
|
||||
msgid ""
|
||||
"This has the same issue as the original example using class ``C``. That is, "
|
||||
"two instances of class ``D`` that do not specify a value for ``x`` when "
|
||||
|
@ -626,17 +627,17 @@ msgid ""
|
|||
"partial solution, but it does protect against many common errors."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:576
|
||||
#: ../Doc/library/dataclasses.rst:577
|
||||
msgid ""
|
||||
"Using default factory functions is a way to create new instances of mutable "
|
||||
"types as default values for fields::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:586
|
||||
#: ../Doc/library/dataclasses.rst:587
|
||||
msgid "Exceptions"
|
||||
msgstr "Exceptions"
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:590
|
||||
#: ../Doc/library/dataclasses.rst:591
|
||||
msgid ""
|
||||
"Raised when an implicitly defined :meth:`__setattr__` or :meth:`__delattr__` "
|
||||
"is called on a dataclass which was defined with ``frozen=True``."
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-16 23:47+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 18:40+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -878,9 +878,9 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/exceptions.rst:528
|
||||
msgid ""
|
||||
"Raised when a built-in operation or function receives an argument that has "
|
||||
"the right type but an inappropriate value, and the situation is not "
|
||||
"described by a more precise exception such as :exc:`IndexError`."
|
||||
"Raised when an operation or function receives an argument that has the right "
|
||||
"type but an inappropriate value, and the situation is not described by a "
|
||||
"more precise exception such as :exc:`IndexError`."
|
||||
msgstr ""
|
||||
"Levée lorsqu'une opération ou fonction native reçoit un argument qui possède "
|
||||
"le bon type mais une valeur inappropriée, et que la situation n'est pas "
|
||||
|
|
|
@ -5,14 +5,14 @@ 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-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-16 23:53+0200\n"
|
||||
"Last-Translator: Julien VITARD <julienvitard@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: Julien VITARD <julienvitard@gmail.com>\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
|
||||
#: ../Doc/library/fnmatch.rst:2
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-29 00:24+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 19:12+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -623,26 +623,25 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/functions.rst:243
|
||||
msgid ""
|
||||
"The optional arguments *flags* and *dont_inherit* control which future "
|
||||
"statements (see :pep:`236`) affect the compilation of *source*. If neither "
|
||||
"is present (or both are zero) the code is compiled with those future "
|
||||
"statements that are in effect in the code that is calling :func:`compile`. "
|
||||
"If the *flags* argument is given and *dont_inherit* is not (or is zero) then "
|
||||
"the future statements specified by the *flags* argument are used in addition "
|
||||
"to those that would be used anyway. If *dont_inherit* is a non-zero integer "
|
||||
"The optional arguments *flags* and *dont_inherit* control which :ref:`future "
|
||||
"statements <future>` affect the compilation of *source*. If neither is "
|
||||
"present (or both are zero) the code is compiled with those future statements "
|
||||
"that are in effect in the code that is calling :func:`compile`. If the "
|
||||
"*flags* argument is given and *dont_inherit* is not (or is zero) then the "
|
||||
"future statements specified by the *flags* argument are used in addition to "
|
||||
"those that would be used anyway. If *dont_inherit* is a non-zero integer "
|
||||
"then the *flags* argument is it -- the future statements in effect around "
|
||||
"the call to compile are ignored."
|
||||
msgstr ""
|
||||
"Les arguments optionnels *flags* et *dont_inherit* contrôlent quelle "
|
||||
"instructions *future* (voir :pep:`236`) affecte la compilation de *source*. "
|
||||
"Si aucun des deux n'est présent (ou que les deux sont à 0) le code est "
|
||||
"compilé avec les mêmes instructions *future* que le code appelant :func:"
|
||||
"`compile`. Si l'argument *flags* est fourni mais que *dont_inherit* ne l'est "
|
||||
"pas (ou vaut 0), alors les instructions *futures* utilisées seront celles "
|
||||
"spécifiées par *flags* en plus de celles qui auraient été utilisées. Si "
|
||||
"*dont_inherit* est un entier différent de zéro, *flags* est utilisé seul -- "
|
||||
"les instructions futures déclarées autour de l'appel à *compile* sont "
|
||||
"ignorées."
|
||||
"Les arguments optionnels *flags* et *dont_inherit* contrôlent quelle :ref:"
|
||||
"`instructions future <future>` affecte la compilation de *source*. Si aucun "
|
||||
"des deux n'est présent (ou que les deux sont à 0) le code est compilé avec "
|
||||
"les mêmes instructions *future* que le code appelant :func:`compile`. Si "
|
||||
"l'argument *flags* est fourni mais que *dont_inherit* ne l'est pas (ou vaut "
|
||||
"0), alors les instructions *futures* utilisées seront celles spécifiées par "
|
||||
"*flags* en plus de celles qui auraient été utilisées. Si *dont_inherit* est "
|
||||
"un entier différent de zéro, *flags* est utilisé seul -- les instructions "
|
||||
"futures déclarées autour de l'appel à *compile* sont ignorées."
|
||||
|
||||
#: ../Doc/library/functions.rst:253
|
||||
msgid ""
|
||||
|
|
|
@ -5,14 +5,14 @@ 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-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-16 06:21+0200\n"
|
||||
"Last-Translator: Julien VITARD <julienvitard@gmail.com>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: Julien VITARD <julienvitard@gmail.com>\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
|
||||
#: ../Doc/library/glob.rst:2
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2017-08-10 01:00+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -106,11 +106,11 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/hashlib.rst:104
|
||||
msgid ""
|
||||
"Is a generic constructor that takes the string name of the desired algorithm "
|
||||
"as its first parameter. It also exists to allow access to the above listed "
|
||||
"hashes as well as any other algorithms that your OpenSSL library may offer. "
|
||||
"The named constructors are much faster than :func:`new` and should be "
|
||||
"preferred."
|
||||
"Is a generic constructor that takes the string *name* of the desired "
|
||||
"algorithm as its first parameter. It also exists to allow access to the "
|
||||
"above listed hashes as well as any other algorithms that your OpenSSL "
|
||||
"library may offer. The named constructors are much faster than :func:`new` "
|
||||
"and should be preferred."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:110
|
||||
|
@ -175,10 +175,9 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/hashlib.rst:167
|
||||
msgid ""
|
||||
"Update the hash object with the object *arg*, which must be interpretable as "
|
||||
"a buffer of bytes. Repeated calls are equivalent to a single call with the "
|
||||
"concatenation of all the arguments: ``m.update(a); m.update(b)`` is "
|
||||
"equivalent to ``m.update(a+b)``."
|
||||
"Update the hash object with the :term:`bytes-like object`. Repeated calls "
|
||||
"are equivalent to a single call with the concatenation of all the arguments: "
|
||||
"``m.update(a); m.update(b)`` is equivalent to ``m.update(a+b)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:172
|
||||
|
@ -223,8 +222,8 @@ msgstr ""
|
|||
#: ../Doc/library/hashlib.rst:208
|
||||
msgid ""
|
||||
"Return the digest of the data passed to the :meth:`update` method so far. "
|
||||
"This is a bytes object of size ``length`` which may contain bytes in the "
|
||||
"whole range from 0 to 255."
|
||||
"This is a bytes object of size *length* which may contain bytes in the whole "
|
||||
"range from 0 to 255."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:221
|
||||
|
@ -283,147 +282,148 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/hashlib.rst:265
|
||||
msgid ""
|
||||
"*password* and *salt* must be bytes-like objects. Applications and libraries "
|
||||
"should limit *password* to a sensible length (e.g. 1024). *salt* should be "
|
||||
"about 16 or more bytes from a proper source, e.g. :func:`os.urandom`."
|
||||
"*password* and *salt* must be :term:`bytes-like objects <bytes-like "
|
||||
"object>`. Applications and libraries should limit *password* to a sensible "
|
||||
"length (e.g. 1024). *salt* should be about 16 or more bytes from a proper "
|
||||
"source, e.g. :func:`os.urandom`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:269
|
||||
#: ../Doc/library/hashlib.rst:270
|
||||
msgid ""
|
||||
"*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization "
|
||||
"factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MiB). "
|
||||
"*dklen* is the length of the derived key."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:273
|
||||
#: ../Doc/library/hashlib.rst:274
|
||||
msgid "Availability: OpenSSL 1.1+"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:279
|
||||
#: ../Doc/library/hashlib.rst:280
|
||||
msgid "BLAKE2"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:286
|
||||
#: ../Doc/library/hashlib.rst:287
|
||||
msgid ""
|
||||
"BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes "
|
||||
"in two flavors:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:289
|
||||
#: ../Doc/library/hashlib.rst:290
|
||||
msgid ""
|
||||
"**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size "
|
||||
"between 1 and 64 bytes,"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:292
|
||||
#: ../Doc/library/hashlib.rst:293
|
||||
msgid ""
|
||||
"**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of "
|
||||
"any size between 1 and 32 bytes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:295
|
||||
#: ../Doc/library/hashlib.rst:296
|
||||
msgid ""
|
||||
"BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), "
|
||||
"**salted hashing**, **personalization**, and **tree hashing**."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:298
|
||||
#: ../Doc/library/hashlib.rst:299
|
||||
msgid ""
|
||||
"Hash objects from this module follow the API of standard library's :mod:"
|
||||
"`hashlib` objects."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:303
|
||||
#: ../Doc/library/hashlib.rst:304
|
||||
msgid "Creating hash objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:305
|
||||
#: ../Doc/library/hashlib.rst:306
|
||||
msgid "New hash objects are created by calling constructor functions:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:317
|
||||
#: ../Doc/library/hashlib.rst:318
|
||||
msgid ""
|
||||
"These functions return the corresponding hash objects for calculating "
|
||||
"BLAKE2b or BLAKE2s. They optionally take these general parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:320
|
||||
#: ../Doc/library/hashlib.rst:321
|
||||
msgid ""
|
||||
"*data*: initial chunk of data to hash, which must be interpretable as buffer "
|
||||
"of bytes."
|
||||
"*data*: initial chunk of data to hash, which must be :term:`bytes-like "
|
||||
"object`. It can be passed only as positional argument."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:323
|
||||
#: ../Doc/library/hashlib.rst:324
|
||||
msgid "*digest_size*: size of output digest in bytes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:325
|
||||
#: ../Doc/library/hashlib.rst:326
|
||||
msgid ""
|
||||
"*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for "
|
||||
"BLAKE2s)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:328
|
||||
#: ../Doc/library/hashlib.rst:329
|
||||
msgid ""
|
||||
"*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 "
|
||||
"bytes for BLAKE2s)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:331
|
||||
#: ../Doc/library/hashlib.rst:332
|
||||
msgid ""
|
||||
"*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes "
|
||||
"for BLAKE2s)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:334
|
||||
#: ../Doc/library/hashlib.rst:335
|
||||
msgid "The following table shows limits for general parameters (in bytes):"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:337
|
||||
#: ../Doc/library/hashlib.rst:338
|
||||
msgid "Hash"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:337
|
||||
#: ../Doc/library/hashlib.rst:338
|
||||
msgid "digest_size"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:337
|
||||
#: ../Doc/library/hashlib.rst:338
|
||||
msgid "len(key)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:337
|
||||
#: ../Doc/library/hashlib.rst:338
|
||||
msgid "len(salt)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:337
|
||||
#: ../Doc/library/hashlib.rst:338
|
||||
msgid "len(person)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:339
|
||||
#: ../Doc/library/hashlib.rst:340
|
||||
msgid "BLAKE2b"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:339
|
||||
#: ../Doc/library/hashlib.rst:340
|
||||
msgid "64"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:339
|
||||
#: ../Doc/library/hashlib.rst:340
|
||||
msgid "16"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:340
|
||||
#: ../Doc/library/hashlib.rst:341
|
||||
msgid "BLAKE2s"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:340
|
||||
#: ../Doc/library/hashlib.rst:341
|
||||
msgid "32"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:340
|
||||
#: ../Doc/library/hashlib.rst:341
|
||||
msgid "8"
|
||||
msgstr "8"
|
||||
|
||||
#: ../Doc/library/hashlib.rst:345
|
||||
#: ../Doc/library/hashlib.rst:346
|
||||
msgid ""
|
||||
"BLAKE2 specification defines constant lengths for salt and personalization "
|
||||
"parameters, however, for convenience, this implementation accepts byte "
|
||||
|
@ -433,90 +433,90 @@ msgid ""
|
|||
"the case for *key*.)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:352
|
||||
#: ../Doc/library/hashlib.rst:353
|
||||
msgid "These sizes are available as module `constants`_ described below."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:354
|
||||
#: ../Doc/library/hashlib.rst:355
|
||||
msgid ""
|
||||
"Constructor functions also accept the following tree hashing parameters:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:356
|
||||
#: ../Doc/library/hashlib.rst:357
|
||||
msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:358
|
||||
#: ../Doc/library/hashlib.rst:359
|
||||
msgid ""
|
||||
"*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential "
|
||||
"mode)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:361
|
||||
#: ../Doc/library/hashlib.rst:362
|
||||
msgid ""
|
||||
"*leaf_size*: maximal byte length of leaf (0 to 2**32-1, 0 if unlimited or in "
|
||||
"sequential mode)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:364
|
||||
#: ../Doc/library/hashlib.rst:365
|
||||
msgid ""
|
||||
"*node_offset*: node offset (0 to 2**64-1 for BLAKE2b, 0 to 2**48-1 for "
|
||||
"BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:367
|
||||
#: ../Doc/library/hashlib.rst:368
|
||||
msgid ""
|
||||
"*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:369
|
||||
#: ../Doc/library/hashlib.rst:370
|
||||
msgid ""
|
||||
"*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 "
|
||||
"in sequential mode)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:372
|
||||
#: ../Doc/library/hashlib.rst:373
|
||||
msgid ""
|
||||
"*last_node*: boolean indicating whether the processed node is the last one "
|
||||
"(`False` for sequential mode)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:378
|
||||
#: ../Doc/library/hashlib.rst:379
|
||||
msgid ""
|
||||
"See section 2.10 in `BLAKE2 specification <https://blake2.net/"
|
||||
"blake2_20130129.pdf>`_ for comprehensive review of tree hashing."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:384
|
||||
#: ../Doc/library/hashlib.rst:385
|
||||
msgid "Constants"
|
||||
msgstr "Constantes"
|
||||
|
||||
#: ../Doc/library/hashlib.rst:389
|
||||
#: ../Doc/library/hashlib.rst:390
|
||||
msgid "Salt length (maximum length accepted by constructors)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:395
|
||||
#: ../Doc/library/hashlib.rst:396
|
||||
msgid ""
|
||||
"Personalization string length (maximum length accepted by constructors)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:401
|
||||
#: ../Doc/library/hashlib.rst:402
|
||||
msgid "Maximum key size."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:407
|
||||
#: ../Doc/library/hashlib.rst:408
|
||||
msgid "Maximum digest size that the hash function can output."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:411
|
||||
#: ../Doc/library/hashlib.rst:412
|
||||
msgid "Examples"
|
||||
msgstr "Exemples"
|
||||
|
||||
#: ../Doc/library/hashlib.rst:414
|
||||
#: ../Doc/library/hashlib.rst:415
|
||||
msgid "Simple hashing"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:416
|
||||
#: ../Doc/library/hashlib.rst:417
|
||||
msgid ""
|
||||
"To calculate hash of some data, you should first construct a hash object by "
|
||||
"calling the appropriate constructor function (:func:`blake2b` or :func:"
|
||||
|
@ -525,41 +525,41 @@ msgid ""
|
|||
"`digest` (or :meth:`hexdigest` for hex-encoded string)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:429
|
||||
#: ../Doc/library/hashlib.rst:430
|
||||
msgid ""
|
||||
"As a shortcut, you can pass the first chunk of data to update directly to "
|
||||
"the constructor as the first argument (or as *data* keyword argument):"
|
||||
"the constructor as the positional argument:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:436
|
||||
#: ../Doc/library/hashlib.rst:437
|
||||
msgid ""
|
||||
"You can call :meth:`hash.update` as many times as you need to iteratively "
|
||||
"update the hash:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:449
|
||||
#: ../Doc/library/hashlib.rst:450
|
||||
msgid "Using different digest sizes"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:451
|
||||
#: ../Doc/library/hashlib.rst:452
|
||||
msgid ""
|
||||
"BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to "
|
||||
"32 bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without "
|
||||
"changing the size of output, we can tell BLAKE2b to produce 20-byte digests:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:465
|
||||
#: ../Doc/library/hashlib.rst:466
|
||||
msgid ""
|
||||
"Hash objects with different digest sizes have completely different outputs "
|
||||
"(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s "
|
||||
"produce different outputs even if the output length is the same:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:481
|
||||
#: ../Doc/library/hashlib.rst:482
|
||||
msgid "Keyed hashing"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:483
|
||||
#: ../Doc/library/hashlib.rst:484
|
||||
msgid ""
|
||||
"Keyed hashing can be used for authentication as a faster and simpler "
|
||||
"replacement for `Hash-based message authentication code <https://en."
|
||||
|
@ -568,36 +568,36 @@ msgid ""
|
|||
"property inherited from BLAKE."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:489
|
||||
#: ../Doc/library/hashlib.rst:490
|
||||
msgid ""
|
||||
"This example shows how to get a (hex-encoded) 128-bit authentication code "
|
||||
"for message ``b'message data'`` with key ``b'pseudorandom key'``::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:499
|
||||
#: ../Doc/library/hashlib.rst:500
|
||||
msgid ""
|
||||
"As a practical example, a web application can symmetrically sign cookies "
|
||||
"sent to users and later verify them to make sure they weren't tampered with::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:528
|
||||
#: ../Doc/library/hashlib.rst:529
|
||||
msgid ""
|
||||
"Even though there's a native keyed hashing mode, BLAKE2 can, of course, be "
|
||||
"used in HMAC construction with :mod:`hmac` module::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:539
|
||||
#: ../Doc/library/hashlib.rst:540
|
||||
msgid "Randomized hashing"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:541
|
||||
#: ../Doc/library/hashlib.rst:542
|
||||
msgid ""
|
||||
"By setting *salt* parameter users can introduce randomization to the hash "
|
||||
"function. Randomized hashing is useful for protecting against collision "
|
||||
"attacks on the hash function used in digital signatures."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:545
|
||||
#: ../Doc/library/hashlib.rst:546
|
||||
msgid ""
|
||||
"Randomized hashing is designed for situations where one party, the message "
|
||||
"preparer, generates all or part of a message to be signed by a second party, "
|
||||
|
@ -618,37 +618,37 @@ msgid ""
|
|||
"when all portions of the message are prepared by the signer."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:564
|
||||
#: ../Doc/library/hashlib.rst:565
|
||||
msgid ""
|
||||
"(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" <https://"
|
||||
"csrc.nist.gov/publications/detail/sp/800-106/final>`_)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:567
|
||||
#: ../Doc/library/hashlib.rst:568
|
||||
msgid ""
|
||||
"In BLAKE2 the salt is processed as a one-time input to the hash function "
|
||||
"during initialization, rather than as an input to each compression function."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:572
|
||||
#: ../Doc/library/hashlib.rst:573
|
||||
msgid ""
|
||||
"*Salted hashing* (or just hashing) with BLAKE2 or any other general-purpose "
|
||||
"cryptographic hash function, such as SHA-256, is not suitable for hashing "
|
||||
"passwords. See `BLAKE2 FAQ <https://blake2.net/#qa>`_ for more information."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:595
|
||||
#: ../Doc/library/hashlib.rst:596
|
||||
msgid "Personalization"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:597
|
||||
#: ../Doc/library/hashlib.rst:598
|
||||
msgid ""
|
||||
"Sometimes it is useful to force hash function to produce different digests "
|
||||
"for the same input for different purposes. Quoting the authors of the Skein "
|
||||
"hash function:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:601
|
||||
#: ../Doc/library/hashlib.rst:602
|
||||
msgid ""
|
||||
"We recommend that all application designers seriously consider doing this; "
|
||||
"we have seen many protocols where a hash that is computed in one part of the "
|
||||
|
@ -658,41 +658,41 @@ msgid ""
|
|||
"hash function used in the protocol summarily stops this type of attack."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:608
|
||||
#: ../Doc/library/hashlib.rst:609
|
||||
msgid ""
|
||||
"(`The Skein Hash Function Family <http://www.skein-hash.info/sites/default/"
|
||||
"files/skein1.3.pdf>`_, p. 21)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:612
|
||||
#: ../Doc/library/hashlib.rst:613
|
||||
msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:626
|
||||
#: ../Doc/library/hashlib.rst:627
|
||||
msgid ""
|
||||
"Personalization together with the keyed mode can also be used to derive "
|
||||
"different keys from a single one."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:640
|
||||
#: ../Doc/library/hashlib.rst:641
|
||||
msgid "Tree mode"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:642
|
||||
#: ../Doc/library/hashlib.rst:643
|
||||
msgid "Here's an example of hashing a minimal tree with two leaf nodes::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:648
|
||||
#: ../Doc/library/hashlib.rst:649
|
||||
msgid ""
|
||||
"This example uses 64-byte internal digests, and returns the 32-byte final "
|
||||
"digest::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:678
|
||||
#: ../Doc/library/hashlib.rst:679
|
||||
msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:680
|
||||
#: ../Doc/library/hashlib.rst:681
|
||||
msgid ""
|
||||
"BLAKE2_ was designed by *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko "
|
||||
"Wilcox-O'Hearn*, and *Christian Winnerlein* based on SHA-3_ finalist BLAKE_ "
|
||||
|
@ -700,104 +700,104 @@ msgid ""
|
|||
"*Raphael C.-W. Phan*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:685
|
||||
#: ../Doc/library/hashlib.rst:686
|
||||
msgid ""
|
||||
"It uses core algorithm from ChaCha_ cipher designed by *Daniel J. "
|
||||
"Bernstein*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:687
|
||||
#: ../Doc/library/hashlib.rst:688
|
||||
msgid ""
|
||||
"The stdlib implementation is based on pyblake2_ module. It was written by "
|
||||
"*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The "
|
||||
"documentation was copied from pyblake2_ and written by *Dmitry Chestnykh*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:691
|
||||
#: ../Doc/library/hashlib.rst:692
|
||||
msgid "The C code was partly rewritten for Python by *Christian Heimes*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:693
|
||||
#: ../Doc/library/hashlib.rst:694
|
||||
msgid ""
|
||||
"The following public domain dedication applies for both C hash function "
|
||||
"implementation, extension code, and this documentation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:696
|
||||
#: ../Doc/library/hashlib.rst:697
|
||||
msgid ""
|
||||
"To the extent possible under law, the author(s) have dedicated all copyright "
|
||||
"and related and neighboring rights to this software to the public domain "
|
||||
"worldwide. This software is distributed without any warranty."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:700
|
||||
#: ../Doc/library/hashlib.rst:701
|
||||
msgid ""
|
||||
"You should have received a copy of the CC0 Public Domain Dedication along "
|
||||
"with this software. If not, see https://creativecommons.org/publicdomain/"
|
||||
"zero/1.0/."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:704
|
||||
#: ../Doc/library/hashlib.rst:705
|
||||
msgid ""
|
||||
"The following people have helped with development or contributed their "
|
||||
"changes to the project and the public domain according to the Creative "
|
||||
"Commons Public Domain Dedication 1.0 Universal:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:708
|
||||
#: ../Doc/library/hashlib.rst:709
|
||||
msgid "*Alexandr Sokolovskiy*"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:722
|
||||
#: ../Doc/library/hashlib.rst:723
|
||||
msgid "Module :mod:`hmac`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:722
|
||||
#: ../Doc/library/hashlib.rst:723
|
||||
msgid "A module to generate message authentication codes using hashes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:725
|
||||
#: ../Doc/library/hashlib.rst:726
|
||||
msgid "Module :mod:`base64`"
|
||||
msgstr "Module :mod:`base64`"
|
||||
|
||||
#: ../Doc/library/hashlib.rst:725
|
||||
#: ../Doc/library/hashlib.rst:726
|
||||
msgid "Another way to encode binary hashes for non-binary environments."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:728
|
||||
#: ../Doc/library/hashlib.rst:729
|
||||
msgid "https://blake2.net"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:728
|
||||
#: ../Doc/library/hashlib.rst:729
|
||||
msgid "Official BLAKE2 website."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:731
|
||||
#: ../Doc/library/hashlib.rst:732
|
||||
msgid ""
|
||||
"https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/"
|
||||
"documents/fips180-2.pdf"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:731
|
||||
#: ../Doc/library/hashlib.rst:732
|
||||
msgid "The FIPS 180-2 publication on Secure Hash Algorithms."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:735
|
||||
#: ../Doc/library/hashlib.rst:736
|
||||
msgid ""
|
||||
"https://en.wikipedia.org/wiki/"
|
||||
"Cryptographic_hash_function#Cryptographic_hash_algorithms"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:734
|
||||
#: ../Doc/library/hashlib.rst:735
|
||||
msgid ""
|
||||
"Wikipedia article with information on which algorithms have known issues and "
|
||||
"what that means regarding their use."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:737
|
||||
#: ../Doc/library/hashlib.rst:738
|
||||
msgid "https://www.ietf.org/rfc/rfc2898.txt"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/hashlib.rst:738
|
||||
#: ../Doc/library/hashlib.rst:739
|
||||
msgid "PKCS #5: Password-Based Cryptography Specification Version 2.0"
|
||||
msgstr ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-07-05 11:54+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -1630,25 +1630,24 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1172
|
||||
msgid "The ``style`` argument was added."
|
||||
msgid "The *style* argument was added."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1175
|
||||
msgid ""
|
||||
"The ``handlers`` argument was added. Additional checks were added to catch "
|
||||
"situations where incompatible arguments are specified (e.g. ``handlers`` "
|
||||
"together with ``stream`` or ``filename``, or ``stream`` together with "
|
||||
"``filename``)."
|
||||
"The *handlers* argument was added. Additional checks were added to catch "
|
||||
"situations where incompatible arguments are specified (e.g. *handlers* "
|
||||
"together with *stream* or *filename*, or *stream* together with *filename*)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1184
|
||||
#: ../Doc/library/logging.rst:1183
|
||||
msgid ""
|
||||
"Informs the logging system to perform an orderly shutdown by flushing and "
|
||||
"closing all handlers. This should be called at application exit and no "
|
||||
"further use of the logging system should be made after this call."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1191
|
||||
#: ../Doc/library/logging.rst:1190
|
||||
msgid ""
|
||||
"Tells the logging system to use the class *klass* when instantiating a "
|
||||
"logger. The class should define :meth:`__init__` such that only a name "
|
||||
|
@ -1657,26 +1656,26 @@ msgid ""
|
|||
"instantiated by applications which need to use custom logger behavior."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1200
|
||||
#: ../Doc/library/logging.rst:1199
|
||||
msgid "Set a callable which is used to create a :class:`LogRecord`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1202
|
||||
#: ../Doc/library/logging.rst:1201
|
||||
msgid "The factory callable to be used to instantiate a log record."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1204
|
||||
#: ../Doc/library/logging.rst:1203
|
||||
msgid ""
|
||||
"This function has been provided, along with :func:`getLogRecordFactory`, to "
|
||||
"allow developers more control over how the :class:`LogRecord` representing a "
|
||||
"logging event is constructed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1209
|
||||
#: ../Doc/library/logging.rst:1208
|
||||
msgid "The factory has the following signature:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1211
|
||||
#: ../Doc/library/logging.rst:1210
|
||||
msgid ""
|
||||
"``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, "
|
||||
"**kwargs)``"
|
||||
|
@ -1684,7 +1683,7 @@ msgstr ""
|
|||
"``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, "
|
||||
"**kwargs)``"
|
||||
|
||||
#: ../Doc/library/logging.rst:1213
|
||||
#: ../Doc/library/logging.rst:1212
|
||||
msgid "The logger name."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1692,7 +1691,7 @@ msgstr ""
|
|||
msgid "level"
|
||||
msgstr "level"
|
||||
|
||||
#: ../Doc/library/logging.rst:1214
|
||||
#: ../Doc/library/logging.rst:1213
|
||||
msgid "The logging level (numeric)."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1700,7 +1699,7 @@ msgstr ""
|
|||
msgid "fn"
|
||||
msgstr "fn"
|
||||
|
||||
#: ../Doc/library/logging.rst:1215
|
||||
#: ../Doc/library/logging.rst:1214
|
||||
msgid "The full pathname of the file where the logging call was made."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1708,19 +1707,19 @@ msgstr ""
|
|||
msgid "lno"
|
||||
msgstr "lno"
|
||||
|
||||
#: ../Doc/library/logging.rst:1216
|
||||
#: ../Doc/library/logging.rst:1215
|
||||
msgid "The line number in the file where the logging call was made."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1217
|
||||
#: ../Doc/library/logging.rst:1216
|
||||
msgid "The logging message."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1218
|
||||
#: ../Doc/library/logging.rst:1217
|
||||
msgid "The arguments for the logging message."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1219
|
||||
#: ../Doc/library/logging.rst:1218
|
||||
msgid "An exception tuple, or ``None``."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1728,7 +1727,7 @@ msgstr ""
|
|||
msgid "func"
|
||||
msgstr "func"
|
||||
|
||||
#: ../Doc/library/logging.rst:1220
|
||||
#: ../Doc/library/logging.rst:1219
|
||||
msgid "The name of the function or method which invoked the logging call."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1736,7 +1735,7 @@ msgstr ""
|
|||
msgid "sinfo"
|
||||
msgstr "sinfo"
|
||||
|
||||
#: ../Doc/library/logging.rst:1222
|
||||
#: ../Doc/library/logging.rst:1221
|
||||
msgid ""
|
||||
"A stack traceback such as is provided by :func:`traceback.print_stack`, "
|
||||
"showing the call hierarchy."
|
||||
|
@ -1746,15 +1745,15 @@ msgstr ""
|
|||
msgid "kwargs"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1224
|
||||
#: ../Doc/library/logging.rst:1223
|
||||
msgid "Additional keyword arguments."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1228
|
||||
#: ../Doc/library/logging.rst:1227
|
||||
msgid "Module-Level Attributes"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1232
|
||||
#: ../Doc/library/logging.rst:1231
|
||||
msgid ""
|
||||
"A \"handler of last resort\" is available through this attribute. This is a :"
|
||||
"class:`StreamHandler` writing to ``sys.stderr`` with a level of ``WARNING``, "
|
||||
|
@ -1765,22 +1764,22 @@ msgid ""
|
|||
"reason, ``lastResort`` can be set to ``None``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1243
|
||||
#: ../Doc/library/logging.rst:1242
|
||||
msgid "Integration with the warnings module"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1245
|
||||
#: ../Doc/library/logging.rst:1244
|
||||
msgid ""
|
||||
"The :func:`captureWarnings` function can be used to integrate :mod:`logging` "
|
||||
"with the :mod:`warnings` module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1250
|
||||
#: ../Doc/library/logging.rst:1249
|
||||
msgid ""
|
||||
"This function is used to turn the capture of warnings by logging on and off."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1253
|
||||
#: ../Doc/library/logging.rst:1252
|
||||
msgid ""
|
||||
"If *capture* is ``True``, warnings issued by the :mod:`warnings` module will "
|
||||
"be redirected to the logging system. Specifically, a warning will be "
|
||||
|
@ -1789,46 +1788,46 @@ msgid ""
|
|||
"`WARNING`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1258
|
||||
#: ../Doc/library/logging.rst:1257
|
||||
msgid ""
|
||||
"If *capture* is ``False``, the redirection of warnings to the logging system "
|
||||
"will stop, and warnings will be redirected to their original destinations (i."
|
||||
"e. those in effect before ``captureWarnings(True)`` was called)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1266
|
||||
#: ../Doc/library/logging.rst:1265
|
||||
msgid "Module :mod:`logging.config`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1266
|
||||
#: ../Doc/library/logging.rst:1265
|
||||
msgid "Configuration API for the logging module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1269
|
||||
#: ../Doc/library/logging.rst:1268
|
||||
msgid "Module :mod:`logging.handlers`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1269
|
||||
#: ../Doc/library/logging.rst:1268
|
||||
msgid "Useful handlers included with the logging module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1273
|
||||
#: ../Doc/library/logging.rst:1272
|
||||
msgid ":pep:`282` - A Logging System"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1272
|
||||
#: ../Doc/library/logging.rst:1271
|
||||
msgid ""
|
||||
"The proposal which described this feature for inclusion in the Python "
|
||||
"standard library."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1278
|
||||
#: ../Doc/library/logging.rst:1277
|
||||
msgid ""
|
||||
"`Original Python logging package <https://www.red-dove.com/python_logging."
|
||||
"html>`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/logging.rst:1276
|
||||
#: ../Doc/library/logging.rst:1275
|
||||
msgid ""
|
||||
"This is the original source for the :mod:`logging` package. The version of "
|
||||
"the package available from this site is suitable for use with Python 1.5.2, "
|
||||
|
|
|
@ -5,14 +5,14 @@ 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-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-17 09:31+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: \n"
|
||||
"X-Generator: Poedit 2.0.9\n"
|
||||
|
||||
#: ../Doc/library/mailcap.rst:2
|
||||
|
|
|
@ -5,14 +5,14 @@ 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-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-12 21:55+0200\n"
|
||||
"Last-Translator: Mickaël Bergem <suixo@securem.eu>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: Mickaël Bergem <suixo@securem.eu>\n"
|
||||
"X-Generator: Poedit 2.0.9\n"
|
||||
|
||||
#: ../Doc/library/modulefinder.rst:2
|
||||
|
|
|
@ -5,14 +5,14 @@ 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-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-15 12:17+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: \n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
|
||||
#: ../Doc/library/nis.rst:3
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-21 11:46+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 19:11+0200\n"
|
||||
"Last-Translator: Stéphane Wirtel <stephane@wirtel.be>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -576,20 +576,20 @@ msgstr ""
|
|||
msgid ""
|
||||
"Specifying any command resuming execution (currently :pdbcmd:`continue`, :"
|
||||
"pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:`jump`, :pdbcmd:"
|
||||
"`quit` and their abbreviations) terminates the command :pdbcmd:`list` (as if "
|
||||
"that command was immediately followed by end). This is because any time you "
|
||||
"`quit` and their abbreviations) terminates the command list (as if that "
|
||||
"command was immediately followed by end). This is because any time you "
|
||||
"resume execution (even with a simple next or step), you may encounter "
|
||||
"another breakpoint—which could have its own command list, leading to "
|
||||
"ambiguities about which list to execute."
|
||||
msgstr ""
|
||||
"Entrer toute commande reprenant l'exécution (actuellement :pdbcmd:"
|
||||
"`continue`, :pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:"
|
||||
"`jump`, :pdbcmd:`quit` et leurs abréviations) termine la :pdbcmd:`liste "
|
||||
"<list>` des commandes (comme si cette commande était immédiatement suivie de "
|
||||
"la fin). C'est parce que chaque fois que vous reprenez l'exécution (même "
|
||||
"avec un simple next ou step), vous pouvez rencontrer un autre point d'arrêt "
|
||||
"-- qui pourrait avoir sa propre liste de commandes, conduisant à des "
|
||||
"ambiguïtés sur la liste à exécuter."
|
||||
"`jump`, :pdbcmd:`quit` et leurs abréviations) termine la liste des commandes "
|
||||
"(comme si cette commande était immédiatement suivie de la fin). C'est parce "
|
||||
"que chaque fois que vous reprenez l'exécution (même avec un simple next ou "
|
||||
"step), vous pouvez rencontrer un autre point d'arrêt -- qui pourrait avoir "
|
||||
"sa propre liste de commandes, conduisant à des ambiguïtés sur la liste à "
|
||||
"exécuter."
|
||||
|
||||
#: ../Doc/library/pdb.rst:353
|
||||
msgid ""
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -376,23 +376,31 @@ msgstr ""
|
|||
msgid "Profile ``func(*args, **kwargs)``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:303
|
||||
#: ../Doc/library/profile.rst:300
|
||||
msgid ""
|
||||
"Note that profiling will only work if the called command/function actually "
|
||||
"returns. If the interpreter is terminated (e.g. via a :func:`sys.exit` call "
|
||||
"during the called command/function execution) no profiling results will be "
|
||||
"printed."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:308
|
||||
msgid "The :class:`Stats` Class"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:305
|
||||
#: ../Doc/library/profile.rst:310
|
||||
msgid ""
|
||||
"Analysis of the profiler data is done using the :class:`~pstats.Stats` class."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:312
|
||||
#: ../Doc/library/profile.rst:317
|
||||
msgid ""
|
||||
"This class constructor creates an instance of a \"statistics object\" from a "
|
||||
"*filename* (or list of filenames) or from a :class:`Profile` instance. "
|
||||
"Output will be printed to the stream specified by *stream*."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:316
|
||||
#: ../Doc/library/profile.rst:321
|
||||
msgid ""
|
||||
"The file selected by the above constructor must have been created by the "
|
||||
"corresponding version of :mod:`profile` or :mod:`cProfile`. To be specific, "
|
||||
|
@ -406,17 +414,17 @@ msgid ""
|
|||
"can be used."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:327
|
||||
#: ../Doc/library/profile.rst:332
|
||||
msgid ""
|
||||
"Instead of reading the profile data from a file, a :class:`cProfile.Profile` "
|
||||
"or :class:`profile.Profile` object can be used as the profile data source."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:330
|
||||
#: ../Doc/library/profile.rst:335
|
||||
msgid ":class:`Stats` objects have the following methods:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:334
|
||||
#: ../Doc/library/profile.rst:339
|
||||
msgid ""
|
||||
"This method for the :class:`Stats` class removes all leading path "
|
||||
"information from file names. It is very useful in reducing the size of the "
|
||||
|
@ -430,7 +438,7 @@ msgid ""
|
|||
"single entry."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:348
|
||||
#: ../Doc/library/profile.rst:353
|
||||
msgid ""
|
||||
"This method of the :class:`Stats` class accumulates additional profiling "
|
||||
"information into the current profiling object. Its arguments should refer "
|
||||
|
@ -439,7 +447,7 @@ msgid ""
|
|||
"functions are automatically accumulated into single function statistics."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:358
|
||||
#: ../Doc/library/profile.rst:363
|
||||
msgid ""
|
||||
"Save the data loaded into the :class:`Stats` object to a file named "
|
||||
"*filename*. The file is created if it does not exist, and is overwritten if "
|
||||
|
@ -447,7 +455,7 @@ msgid ""
|
|||
"the :class:`profile.Profile` and :class:`cProfile.Profile` classes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:366
|
||||
#: ../Doc/library/profile.rst:371
|
||||
msgid ""
|
||||
"This method modifies the :class:`Stats` object by sorting it according to "
|
||||
"the supplied criteria. The argument can be either a string or a SortKey "
|
||||
|
@ -457,7 +465,7 @@ msgid ""
|
|||
"prone."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:373
|
||||
#: ../Doc/library/profile.rst:378
|
||||
msgid ""
|
||||
"When more than one key is provided, then additional keys are used as "
|
||||
"secondary criteria when there is equality in all keys selected before them. "
|
||||
|
@ -466,164 +474,164 @@ msgid ""
|
|||
"function names) by sorting by file name."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:379
|
||||
#: ../Doc/library/profile.rst:384
|
||||
msgid ""
|
||||
"For the string argument, abbreviations can be used for any key names, as "
|
||||
"long as the abbreviation is unambiguous."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:382
|
||||
#: ../Doc/library/profile.rst:387
|
||||
msgid "The following are the valid string and SortKey:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:385
|
||||
#: ../Doc/library/profile.rst:390
|
||||
msgid "Valid String Arg"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:385
|
||||
#: ../Doc/library/profile.rst:390
|
||||
msgid "Valid enum Arg"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:385
|
||||
#: ../Doc/library/profile.rst:390
|
||||
msgid "Meaning"
|
||||
msgstr "Signification"
|
||||
|
||||
#: ../Doc/library/profile.rst:387
|
||||
#: ../Doc/library/profile.rst:392
|
||||
msgid "``'calls'``"
|
||||
msgstr "``'calls'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:387
|
||||
#: ../Doc/library/profile.rst:392
|
||||
msgid "SortKey.CALLS"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:387 ../Doc/library/profile.rst:399
|
||||
#: ../Doc/library/profile.rst:392 ../Doc/library/profile.rst:404
|
||||
msgid "call count"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:389
|
||||
#: ../Doc/library/profile.rst:394
|
||||
msgid "``'cumulative'``"
|
||||
msgstr "``'cumulative'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:389
|
||||
#: ../Doc/library/profile.rst:394
|
||||
msgid "SortKey.CUMULATIVE"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:389 ../Doc/library/profile.rst:391
|
||||
#: ../Doc/library/profile.rst:394 ../Doc/library/profile.rst:396
|
||||
msgid "cumulative time"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:391
|
||||
#: ../Doc/library/profile.rst:396
|
||||
msgid "``'cumtime'``"
|
||||
msgstr "``'cumtime'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:391 ../Doc/library/profile.rst:393
|
||||
#: ../Doc/library/profile.rst:397 ../Doc/library/profile.rst:399
|
||||
#: ../Doc/library/profile.rst:413
|
||||
#: ../Doc/library/profile.rst:396 ../Doc/library/profile.rst:398
|
||||
#: ../Doc/library/profile.rst:402 ../Doc/library/profile.rst:404
|
||||
#: ../Doc/library/profile.rst:418
|
||||
msgid "N/A"
|
||||
msgstr "N/A"
|
||||
|
||||
#: ../Doc/library/profile.rst:393
|
||||
#: ../Doc/library/profile.rst:398
|
||||
msgid "``'file'``"
|
||||
msgstr "``'file'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:393 ../Doc/library/profile.rst:395
|
||||
#: ../Doc/library/profile.rst:397
|
||||
#: ../Doc/library/profile.rst:398 ../Doc/library/profile.rst:400
|
||||
#: ../Doc/library/profile.rst:402
|
||||
msgid "file name"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:395
|
||||
#: ../Doc/library/profile.rst:400
|
||||
msgid "``'filename'``"
|
||||
msgstr "``'filename'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:395
|
||||
#: ../Doc/library/profile.rst:400
|
||||
msgid "SortKey.FILENAME"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:397
|
||||
#: ../Doc/library/profile.rst:402
|
||||
msgid "``'module'``"
|
||||
msgstr "``'module'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:399
|
||||
#: ../Doc/library/profile.rst:404
|
||||
msgid "``'ncalls'``"
|
||||
msgstr "``'ncalls'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:401
|
||||
#: ../Doc/library/profile.rst:406
|
||||
msgid "``'pcalls'``"
|
||||
msgstr "``'pcalls'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:401
|
||||
#: ../Doc/library/profile.rst:406
|
||||
msgid "SortKey.PCALLS"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:401
|
||||
#: ../Doc/library/profile.rst:406
|
||||
msgid "primitive call count"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:403
|
||||
#: ../Doc/library/profile.rst:408
|
||||
msgid "``'line'``"
|
||||
msgstr "``'line'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:403
|
||||
#: ../Doc/library/profile.rst:408
|
||||
msgid "SortKey.LINE"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:403
|
||||
#: ../Doc/library/profile.rst:408
|
||||
msgid "line number"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:405
|
||||
#: ../Doc/library/profile.rst:410
|
||||
msgid "``'name'``"
|
||||
msgstr "``'name'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:405
|
||||
#: ../Doc/library/profile.rst:410
|
||||
msgid "SortKey.NAME"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:405
|
||||
#: ../Doc/library/profile.rst:410
|
||||
msgid "function name"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:407
|
||||
#: ../Doc/library/profile.rst:412
|
||||
msgid "``'nfl'``"
|
||||
msgstr "``'nfl'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:407
|
||||
#: ../Doc/library/profile.rst:412
|
||||
msgid "SortKey.NFL"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:407
|
||||
#: ../Doc/library/profile.rst:412
|
||||
msgid "name/file/line"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:409
|
||||
#: ../Doc/library/profile.rst:414
|
||||
msgid "``'stdname'``"
|
||||
msgstr "``'stdname'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:409
|
||||
#: ../Doc/library/profile.rst:414
|
||||
msgid "SortKey.STDNAME"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:409
|
||||
#: ../Doc/library/profile.rst:414
|
||||
msgid "standard name"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:411
|
||||
#: ../Doc/library/profile.rst:416
|
||||
msgid "``'time'``"
|
||||
msgstr "``'time'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:411
|
||||
#: ../Doc/library/profile.rst:416
|
||||
msgid "SortKey.TIME"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:411 ../Doc/library/profile.rst:413
|
||||
#: ../Doc/library/profile.rst:416 ../Doc/library/profile.rst:418
|
||||
msgid "internal time"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:413
|
||||
#: ../Doc/library/profile.rst:418
|
||||
msgid "``'tottime'``"
|
||||
msgstr "``'tottime'``"
|
||||
|
||||
#: ../Doc/library/profile.rst:416
|
||||
#: ../Doc/library/profile.rst:421
|
||||
msgid ""
|
||||
"Note that all sorts on statistics are in descending order (placing most time "
|
||||
"consuming items first), where as name, file, and line number searches are in "
|
||||
|
@ -637,7 +645,7 @@ msgid ""
|
|||
"SortKey.FILENAME, SortKey.LINE)``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:427
|
||||
#: ../Doc/library/profile.rst:432
|
||||
msgid ""
|
||||
"For backward-compatibility reasons, the numeric arguments ``-1``, ``0``, "
|
||||
"``1``, and ``2`` are permitted. They are interpreted as ``'stdname'``, "
|
||||
|
@ -646,31 +654,31 @@ msgid ""
|
|||
"used, and additional arguments will be silently ignored."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:435
|
||||
#: ../Doc/library/profile.rst:440
|
||||
msgid "Added the SortKey enum."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:440
|
||||
#: ../Doc/library/profile.rst:445
|
||||
msgid ""
|
||||
"This method for the :class:`Stats` class reverses the ordering of the basic "
|
||||
"list within the object. Note that by default ascending vs descending order "
|
||||
"is properly selected based on the sort key of choice."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:450
|
||||
#: ../Doc/library/profile.rst:455
|
||||
msgid ""
|
||||
"This method for the :class:`Stats` class prints out a report as described in "
|
||||
"the :func:`profile.run` definition."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:453
|
||||
#: ../Doc/library/profile.rst:458
|
||||
msgid ""
|
||||
"The order of the printing is based on the last :meth:`~pstats.Stats."
|
||||
"sort_stats` operation done on the object (subject to caveats in :meth:"
|
||||
"`~pstats.Stats.add` and :meth:`~pstats.Stats.strip_dirs`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:458
|
||||
#: ../Doc/library/profile.rst:463
|
||||
msgid ""
|
||||
"The arguments provided (if any) can be used to limit the list down to the "
|
||||
"significant entries. Initially, the list is taken to be the complete set of "
|
||||
|
@ -682,20 +690,20 @@ msgid ""
|
|||
"example::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:469
|
||||
#: ../Doc/library/profile.rst:474
|
||||
msgid ""
|
||||
"would first limit the printing to first 10% of list, and then only print "
|
||||
"functions that were part of filename :file:`.\\*foo:`. In contrast, the "
|
||||
"command::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:475
|
||||
#: ../Doc/library/profile.rst:480
|
||||
msgid ""
|
||||
"would limit the list to all functions having file names :file:`.\\*foo:`, "
|
||||
"and then proceed to only print the first 10% of them."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:481
|
||||
#: ../Doc/library/profile.rst:486
|
||||
msgid ""
|
||||
"This method for the :class:`Stats` class prints a list of all functions that "
|
||||
"called each function in the profiled database. The ordering is identical to "
|
||||
|
@ -705,7 +713,7 @@ msgid ""
|
|||
"produced the stats:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:488
|
||||
#: ../Doc/library/profile.rst:493
|
||||
msgid ""
|
||||
"With :mod:`profile`, a number is shown in parentheses after each caller to "
|
||||
"show how many times this specific call was made. For convenience, a second "
|
||||
|
@ -713,14 +721,14 @@ msgid ""
|
|||
"at the right."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:493
|
||||
#: ../Doc/library/profile.rst:498
|
||||
msgid ""
|
||||
"With :mod:`cProfile`, each caller is preceded by three numbers: the number "
|
||||
"of times this specific call was made, and the total and cumulative times "
|
||||
"spent in the current function while it was invoked by this specific caller."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:501
|
||||
#: ../Doc/library/profile.rst:506
|
||||
msgid ""
|
||||
"This method for the :class:`Stats` class prints a list of all function that "
|
||||
"were called by the indicated function. Aside from this reversal of "
|
||||
|
@ -728,11 +736,11 @@ msgid ""
|
|||
"are identical to the :meth:`~pstats.Stats.print_callers` method."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:510
|
||||
#: ../Doc/library/profile.rst:515
|
||||
msgid "What Is Deterministic Profiling?"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:512
|
||||
#: ../Doc/library/profile.rst:517
|
||||
msgid ""
|
||||
":dfn:`Deterministic profiling` is meant to reflect the fact that all "
|
||||
"*function call*, *function return*, and *exception* events are monitored, "
|
||||
|
@ -745,7 +753,7 @@ msgid ""
|
|||
"being spent."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:521
|
||||
#: ../Doc/library/profile.rst:526
|
||||
msgid ""
|
||||
"In Python, since there is an interpreter active during execution, the "
|
||||
"presence of instrumented code is not required to do deterministic "
|
||||
|
@ -757,7 +765,7 @@ msgid ""
|
|||
"time statistics about the execution of a Python program."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:530
|
||||
#: ../Doc/library/profile.rst:535
|
||||
msgid ""
|
||||
"Call count statistics can be used to identify bugs in code (surprising "
|
||||
"counts), and to identify possible inline-expansion points (high call "
|
||||
|
@ -769,11 +777,11 @@ msgid ""
|
|||
"compared to iterative implementations."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:543
|
||||
#: ../Doc/library/profile.rst:548
|
||||
msgid "Limitations"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:545
|
||||
#: ../Doc/library/profile.rst:550
|
||||
msgid ""
|
||||
"One limitation has to do with accuracy of timing information. There is a "
|
||||
"fundamental problem with deterministic profilers involving accuracy. The "
|
||||
|
@ -784,7 +792,7 @@ msgid ""
|
|||
"first error induces a second source of error."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:553
|
||||
#: ../Doc/library/profile.rst:558
|
||||
msgid ""
|
||||
"The second problem is that it \"takes a while\" from when an event is "
|
||||
"dispatched until the profiler's call to get the time actually *gets* the "
|
||||
|
@ -797,7 +805,7 @@ msgid ""
|
|||
"clock tick), but it *can* accumulate and become very significant."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:563
|
||||
#: ../Doc/library/profile.rst:568
|
||||
msgid ""
|
||||
"The problem is more important with :mod:`profile` than with the lower-"
|
||||
"overhead :mod:`cProfile`. For this reason, :mod:`profile` provides a means "
|
||||
|
@ -811,11 +819,11 @@ msgid ""
|
|||
"calibration."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:577
|
||||
#: ../Doc/library/profile.rst:582
|
||||
msgid "Calibration"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:579
|
||||
#: ../Doc/library/profile.rst:584
|
||||
msgid ""
|
||||
"The profiler of the :mod:`profile` module subtracts a constant from each "
|
||||
"event handling time to compensate for the overhead of calling the time "
|
||||
|
@ -824,7 +832,7 @@ msgid ""
|
|||
"platform (see :ref:`profile-limitations`). ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:590
|
||||
#: ../Doc/library/profile.rst:595
|
||||
msgid ""
|
||||
"The method executes the number of Python calls given by the argument, "
|
||||
"directly and again under the profiler, measuring the time for both. It then "
|
||||
|
@ -834,48 +842,48 @@ msgid ""
|
|||
"4.04e-6."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:596
|
||||
#: ../Doc/library/profile.rst:601
|
||||
msgid ""
|
||||
"The object of this exercise is to get a fairly consistent result. If your "
|
||||
"computer is *very* fast, or your timer function has poor resolution, you "
|
||||
"might have to pass 100000, or even 1000000, to get consistent results."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:600
|
||||
#: ../Doc/library/profile.rst:605
|
||||
msgid ""
|
||||
"When you have a consistent answer, there are three ways you can use it::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:614
|
||||
#: ../Doc/library/profile.rst:619
|
||||
msgid ""
|
||||
"If you have a choice, you are better off choosing a smaller constant, and "
|
||||
"then your results will \"less often\" show up as negative in profile "
|
||||
"statistics."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:620
|
||||
#: ../Doc/library/profile.rst:625
|
||||
msgid "Using a custom timer"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:622
|
||||
#: ../Doc/library/profile.rst:627
|
||||
msgid ""
|
||||
"If you want to change how current time is determined (for example, to force "
|
||||
"use of wall-clock time or elapsed process time), pass the timing function "
|
||||
"you want to the :class:`Profile` class constructor::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:628
|
||||
#: ../Doc/library/profile.rst:633
|
||||
msgid ""
|
||||
"The resulting profiler will then call ``your_time_func``. Depending on "
|
||||
"whether you are using :class:`profile.Profile` or :class:`cProfile.Profile`, "
|
||||
"``your_time_func``'s return value will be interpreted differently:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:646
|
||||
#: ../Doc/library/profile.rst:651
|
||||
msgid ":class:`profile.Profile`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:633
|
||||
#: ../Doc/library/profile.rst:638
|
||||
msgid ""
|
||||
"``your_time_func`` should return a single number, or a list of numbers whose "
|
||||
"sum is the current time (like what :func:`os.times` returns). If the "
|
||||
|
@ -884,7 +892,7 @@ msgid ""
|
|||
"routine."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:639
|
||||
#: ../Doc/library/profile.rst:644
|
||||
msgid ""
|
||||
"Be warned that you should calibrate the profiler class for the timer "
|
||||
"function that you choose (see :ref:`profile-calibration`). For most "
|
||||
|
@ -896,11 +904,11 @@ msgid ""
|
|||
"along with the appropriate calibration constant."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:660
|
||||
#: ../Doc/library/profile.rst:665
|
||||
msgid ":class:`cProfile.Profile`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:649
|
||||
#: ../Doc/library/profile.rst:654
|
||||
msgid ""
|
||||
"``your_time_func`` should return a single number. If it returns integers, "
|
||||
"you can also invoke the class constructor with a second argument specifying "
|
||||
|
@ -909,7 +917,7 @@ msgid ""
|
|||
"you would construct the :class:`Profile` instance as follows::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:657
|
||||
#: ../Doc/library/profile.rst:662
|
||||
msgid ""
|
||||
"As the :class:`cProfile.Profile` class cannot be calibrated, custom timer "
|
||||
"functions should be used with care and should be as fast as possible. For "
|
||||
|
@ -917,7 +925,7 @@ msgid ""
|
|||
"in the C source of the internal :mod:`_lsprof` module."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/profile.rst:662
|
||||
#: ../Doc/library/profile.rst:667
|
||||
msgid ""
|
||||
"Python 3.3 adds several new functions in :mod:`time` that can be used to "
|
||||
"make precise measurements of process or wall-clock time. For example, see :"
|
||||
|
|
|
@ -643,12 +643,12 @@ msgstr ""
|
|||
"(Zéro lettres ou plus de l'ensemble ``'a'``, ``'i'``, ``'L'``, ``'m'``, "
|
||||
"``'s'``, ``'u'``, ``'x'``, optionnellement suivies par ``'-'`` puis ``'i'``, "
|
||||
"``'m'``, ``'s'``, ``'x'``.) Les lettres activent ou désactivent les options "
|
||||
"correspondantes : :const:`re.A` (ASCII seulement), :const:`re.I` (ignorer la "
|
||||
"casse), :const:`re.L` (prend en compte les paramètres régionaux), :const:`re."
|
||||
"M` (multi-ligne), :const:`re.S` (les points correspondent à tous les "
|
||||
"caractères), :const:`re.U` (Unicode) et :const:`re.X` (verbeux), pour cette "
|
||||
"partie de l'expression. (Les options sont décrites dans la section :ref:"
|
||||
"`contents-of-module-re`.)"
|
||||
"correspondantes : :const:`re.A` (ASCII exclusivement), :const:`re.I` "
|
||||
"(ignorer la casse), :const:`re.L` (respecte les paramètres régionaux), :"
|
||||
"const:`re.M` (multi-ligne), :const:`re.S` (les points correspondent à tous "
|
||||
"les caractères), :const:`re.U` (Unicode) et :const:`re.X` (verbeux), pour "
|
||||
"cette partie de l'expression. (Les options sont décrites dans la section :"
|
||||
"ref:`contents-of-module-re`.)"
|
||||
|
||||
#: ../Doc/library/re.rst:273
|
||||
msgid ""
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,14 +5,14 @@ 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-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-16 09:27+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"X-Generator: Poedit 2.0.8\n"
|
||||
|
||||
#: ../Doc/library/shelve.rst:2
|
||||
|
@ -25,88 +25,101 @@ msgstr "**Code source :** :source:`Lib/shelve.py`"
|
|||
|
||||
#: ../Doc/library/shelve.rst:13
|
||||
msgid ""
|
||||
"A \"shelf\" is a persistent, dictionary-like object. The difference with \"dbm\" databases "
|
||||
"is that the values (not the keys!) in a shelf can be essentially arbitrary Python objects "
|
||||
"--- anything that the :mod:`pickle` module can handle. This includes most class instances, "
|
||||
"recursive data types, and objects containing lots of shared sub-objects. The keys are "
|
||||
"ordinary strings."
|
||||
"A \"shelf\" is a persistent, dictionary-like object. The difference with "
|
||||
"\"dbm\" databases is that the values (not the keys!) in a shelf can be "
|
||||
"essentially arbitrary Python objects --- anything that the :mod:`pickle` "
|
||||
"module can handle. This includes most class instances, recursive data types, "
|
||||
"and objects containing lots of shared sub-objects. The keys are ordinary "
|
||||
"strings."
|
||||
msgstr ""
|
||||
"Un *shelf* est un objet persistant, dictionnaire-compatible. La différence avec les bases de "
|
||||
"données \"dbm\" est que les valeurs (pas les clés !) dans un *shelf* peuvent être des objets "
|
||||
"Python arbitraires --- n'importe quoi que le module :mod:`pickle` peut gérer. Cela inclut la "
|
||||
"plupart des instances de classe, des types de données récursives, et les objets contenant "
|
||||
"beaucoup de sous-objets partagés. Les clés sont des chaînes de caractères ordinaires."
|
||||
"Un *shelf* est un objet persistant, dictionnaire-compatible. La différence "
|
||||
"avec les bases de données \"dbm\" est que les valeurs (pas les clés !) dans "
|
||||
"un *shelf* peuvent être des objets Python arbitraires --- n'importe quoi que "
|
||||
"le module :mod:`pickle` peut gérer. Cela inclut la plupart des instances de "
|
||||
"classe, des types de données récursives, et les objets contenant beaucoup de "
|
||||
"sous-objets partagés. Les clés sont des chaînes de caractères ordinaires."
|
||||
|
||||
#: ../Doc/library/shelve.rst:22
|
||||
msgid ""
|
||||
"Open a persistent dictionary. The filename specified is the base filename for the "
|
||||
"underlying database. As a side-effect, an extension may be added to the filename and more "
|
||||
"than one file may be created. By default, the underlying database file is opened for "
|
||||
"reading and writing. The optional *flag* parameter has the same interpretation as the "
|
||||
"*flag* parameter of :func:`dbm.open`."
|
||||
"Open a persistent dictionary. The filename specified is the base filename "
|
||||
"for the underlying database. As a side-effect, an extension may be added to "
|
||||
"the filename and more than one file may be created. By default, the "
|
||||
"underlying database file is opened for reading and writing. The optional "
|
||||
"*flag* parameter has the same interpretation as the *flag* parameter of :"
|
||||
"func:`dbm.open`."
|
||||
msgstr ""
|
||||
"Ouvre un dictionnaire persistant. Le nom de fichier spécifié est le nom de fichier sans "
|
||||
"(son) extension pour la base de données sous-jacente. Comme effet de bord, une extension "
|
||||
"peut être ajoutée au nom de fichier et plus d'un fichier peut être créé. Par défaut, le "
|
||||
"fichier de base de données sous-jacente est ouvert en lecture et en écriture. Le paramètre "
|
||||
"optionnel *flag* possède la même interprétation que le paramètre *flag* de :func:`dbm.open`."
|
||||
"Ouvre un dictionnaire persistant. Le nom de fichier spécifié est le nom de "
|
||||
"fichier sans (son) extension pour la base de données sous-jacente. Comme "
|
||||
"effet de bord, une extension peut être ajoutée au nom de fichier et plus "
|
||||
"d'un fichier peut être créé. Par défaut, le fichier de base de données sous-"
|
||||
"jacente est ouvert en lecture et en écriture. Le paramètre optionnel *flag* "
|
||||
"possède la même interprétation que le paramètre *flag* de :func:`dbm.open`."
|
||||
|
||||
#: ../Doc/library/shelve.rst:28
|
||||
msgid ""
|
||||
"By default, version 3 pickles are used to serialize values. The version of the pickle "
|
||||
"protocol can be specified with the *protocol* parameter."
|
||||
"By default, version 3 pickles are used to serialize values. The version of "
|
||||
"the pickle protocol can be specified with the *protocol* parameter."
|
||||
msgstr ""
|
||||
"Par défaut, les *pickles* de version 3 sont utilisés pour sérialiser des valeurs. La version "
|
||||
"du protocole de *pickle* peut être spécifiée avec le paramètre *protocol*."
|
||||
"Par défaut, les *pickles* de version 3 sont utilisés pour sérialiser des "
|
||||
"valeurs. La version du protocole de *pickle* peut être spécifiée avec le "
|
||||
"paramètre *protocol*."
|
||||
|
||||
#: ../Doc/library/shelve.rst:31
|
||||
msgid ""
|
||||
"Because of Python semantics, a shelf cannot know when a mutable persistent-dictionary entry "
|
||||
"is modified. By default modified objects are written *only* when assigned to the shelf "
|
||||
"(see :ref:`shelve-example`). If the optional *writeback* parameter is set to ``True``, all "
|
||||
"entries accessed are also cached in memory, and written back on :meth:`~Shelf.sync` and :"
|
||||
"meth:`~Shelf.close`; this can make it handier to mutate mutable entries in the persistent "
|
||||
"dictionary, but, if many entries are accessed, it can consume vast amounts of memory for the "
|
||||
"cache, and it can make the close operation very slow since all accessed entries are written "
|
||||
"back (there is no way to determine which accessed entries are mutable, nor which ones were "
|
||||
"actually mutated)."
|
||||
"Because of Python semantics, a shelf cannot know when a mutable persistent-"
|
||||
"dictionary entry is modified. By default modified objects are written "
|
||||
"*only* when assigned to the shelf (see :ref:`shelve-example`). If the "
|
||||
"optional *writeback* parameter is set to ``True``, all entries accessed are "
|
||||
"also cached in memory, and written back on :meth:`~Shelf.sync` and :meth:"
|
||||
"`~Shelf.close`; this can make it handier to mutate mutable entries in the "
|
||||
"persistent dictionary, but, if many entries are accessed, it can consume "
|
||||
"vast amounts of memory for the cache, and it can make the close operation "
|
||||
"very slow since all accessed entries are written back (there is no way to "
|
||||
"determine which accessed entries are mutable, nor which ones were actually "
|
||||
"mutated)."
|
||||
msgstr ""
|
||||
"À cause de la sémantique Python, un *shelf* ne peut pas savoir lorsqu'une entrée modifiable "
|
||||
"de dictionnaire persistant est modifiée. Par défaut les objets modifiés sont écrits "
|
||||
"*seulement* lorsqu'ils sont assignés à une \"shelf\" (voir :ref:`shelve-example`). Si le "
|
||||
"paramètre optionnel *writeback* est mis à ``True``, toutes les entrées déjà accédées sont "
|
||||
"aussi mises en cache en mémoire, et ré-écrites sur :meth:`~Shelf.sync` et :meth:`~Shelf."
|
||||
"close` ; cela peut faciliter la modification des entrées modifiables dans le dictionnaire "
|
||||
"persistant, mais, si vous accédez à beaucoup d'entrées, cela peut consommer beaucoup de "
|
||||
"mémoire cache, et cela peut rendre l'opération de fermeture très lente puisque toutes les "
|
||||
"entrées déjà accédées sont ré-écrites (il n'y a aucun moyen de savoir quelles entrées déjà "
|
||||
"À cause de la sémantique Python, un *shelf* ne peut pas savoir lorsqu'une "
|
||||
"entrée modifiable de dictionnaire persistant est modifiée. Par défaut les "
|
||||
"objets modifiés sont écrits *seulement* lorsqu'ils sont assignés à une "
|
||||
"\"shelf\" (voir :ref:`shelve-example`). Si le paramètre optionnel "
|
||||
"*writeback* est mis à ``True``, toutes les entrées déjà accédées sont aussi "
|
||||
"mises en cache en mémoire, et ré-écrites sur :meth:`~Shelf.sync` et :meth:"
|
||||
"`~Shelf.close` ; cela peut faciliter la modification des entrées modifiables "
|
||||
"dans le dictionnaire persistant, mais, si vous accédez à beaucoup d'entrées, "
|
||||
"cela peut consommer beaucoup de mémoire cache, et cela peut rendre "
|
||||
"l'opération de fermeture très lente puisque toutes les entrées déjà accédées "
|
||||
"sont ré-écrites (il n'y a aucun moyen de savoir quelles entrées déjà "
|
||||
"accédées sont mutables, ni lesquelles ont été vraiment modifiées)."
|
||||
|
||||
#: ../Doc/library/shelve.rst:45
|
||||
msgid ""
|
||||
"Do not rely on the shelf being closed automatically; always call :meth:`~Shelf.close` "
|
||||
"explicitly when you don't need it any more, or use :func:`shelve.open` as a context manager::"
|
||||
"Do not rely on the shelf being closed automatically; always call :meth:"
|
||||
"`~Shelf.close` explicitly when you don't need it any more, or use :func:"
|
||||
"`shelve.open` as a context manager::"
|
||||
msgstr ""
|
||||
"Ne pas se fier à la fermeture automatique de *shelf* ; appelez toujours :meth:`~Shelf.close` "
|
||||
"explicitement quand vous n'en avez plus besoin, ou utilisez :func:`shelve.open` comme un "
|
||||
"gestionnaire de contexte ::"
|
||||
"Ne pas se fier à la fermeture automatique de *shelf* ; appelez toujours :"
|
||||
"meth:`~Shelf.close` explicitement quand vous n'en avez plus besoin, ou "
|
||||
"utilisez :func:`shelve.open` comme un gestionnaire de contexte ::"
|
||||
|
||||
#: ../Doc/library/shelve.rst:54
|
||||
msgid ""
|
||||
"Because the :mod:`shelve` module is backed by :mod:`pickle`, it is insecure to load a shelf "
|
||||
"from an untrusted source. Like with pickle, loading a shelf can execute arbitrary code."
|
||||
"Because the :mod:`shelve` module is backed by :mod:`pickle`, it is insecure "
|
||||
"to load a shelf from an untrusted source. Like with pickle, loading a shelf "
|
||||
"can execute arbitrary code."
|
||||
msgstr ""
|
||||
"Puisque le module :mod:`shelve` utilise en arrière plan :mod:`pickle`, il n'est pas sûr de "
|
||||
"charger un *shelf* depuis une source non fiable. Comme avec \"pickle\", charger un *shelf* "
|
||||
"peut exécuter du code arbitraire."
|
||||
"Puisque le module :mod:`shelve` utilise en arrière plan :mod:`pickle`, il "
|
||||
"n'est pas sûr de charger un *shelf* depuis une source non fiable. Comme avec "
|
||||
"\"pickle\", charger un *shelf* peut exécuter du code arbitraire."
|
||||
|
||||
#: ../Doc/library/shelve.rst:58
|
||||
msgid ""
|
||||
"Shelf objects support all methods supported by dictionaries. This eases the transition from "
|
||||
"dictionary based scripts to those requiring persistent storage."
|
||||
"Shelf objects support all methods supported by dictionaries. This eases the "
|
||||
"transition from dictionary based scripts to those requiring persistent "
|
||||
"storage."
|
||||
msgstr ""
|
||||
"Les objets *shelf* gèrent toutes les méthodes des dictionnaires. Cela facilite la transition "
|
||||
"depuis les scripts utilsant des dictionnaires à ceux nécessitant un stockage persistant."
|
||||
"Les objets *shelf* gèrent toutes les méthodes des dictionnaires. Cela "
|
||||
"facilite la transition depuis les scripts utilsant des dictionnaires à ceux "
|
||||
"nécessitant un stockage persistant."
|
||||
|
||||
#: ../Doc/library/shelve.rst:61
|
||||
msgid "Two additional methods are supported:"
|
||||
|
@ -114,29 +127,33 @@ msgstr "Deux méthodes supplémentaires sont supportées :"
|
|||
|
||||
#: ../Doc/library/shelve.rst:65
|
||||
msgid ""
|
||||
"Write back all entries in the cache if the shelf was opened with *writeback* set to :const:"
|
||||
"`True`. Also empty the cache and synchronize the persistent dictionary on disk, if "
|
||||
"feasible. This is called automatically when the shelf is closed with :meth:`close`."
|
||||
"Write back all entries in the cache if the shelf was opened with *writeback* "
|
||||
"set to :const:`True`. Also empty the cache and synchronize the persistent "
|
||||
"dictionary on disk, if feasible. This is called automatically when the "
|
||||
"shelf is closed with :meth:`close`."
|
||||
msgstr ""
|
||||
"Réécrit toutes les entrées dans le cache si le *shelf* a été ouvert avec *writeback* passé "
|
||||
"à :const:`True`. Vide le cache et synchronise le dictionnaire persistant sur le disque, si "
|
||||
"faisable. Elle est appelée automatiquement quand le *shelf* est fermé avec :meth:`close`."
|
||||
"Réécrit toutes les entrées dans le cache si le *shelf* a été ouvert avec "
|
||||
"*writeback* passé à :const:`True`. Vide le cache et synchronise le "
|
||||
"dictionnaire persistant sur le disque, si faisable. Elle est appelée "
|
||||
"automatiquement quand le *shelf* est fermé avec :meth:`close`."
|
||||
|
||||
#: ../Doc/library/shelve.rst:72
|
||||
msgid ""
|
||||
"Synchronize and close the persistent *dict* object. Operations on a closed shelf will fail "
|
||||
"with a :exc:`ValueError`."
|
||||
"Synchronize and close the persistent *dict* object. Operations on a closed "
|
||||
"shelf will fail with a :exc:`ValueError`."
|
||||
msgstr ""
|
||||
"Synchronise et ferme l'objet *dict* persistant. Les opérations sur un *shelf* fermé échouent "
|
||||
"avec une :exc:`ValueError`."
|
||||
"Synchronise et ferme l'objet *dict* persistant. Les opérations sur un "
|
||||
"*shelf* fermé échouent avec une :exc:`ValueError`."
|
||||
|
||||
#: ../Doc/library/shelve.rst:78
|
||||
msgid ""
|
||||
"`Persistent dictionary recipe <https://code.activestate.com/recipes/576642/>`_ with widely "
|
||||
"supported storage formats and having the speed of native dictionaries."
|
||||
"`Persistent dictionary recipe <https://code.activestate.com/recipes/576642/"
|
||||
">`_ with widely supported storage formats and having the speed of native "
|
||||
"dictionaries."
|
||||
msgstr ""
|
||||
"`Recette pour un dictionnaire persistant <https://code.activestate.com/recipes/576642/>`_ "
|
||||
"avec un large panel de formats de stockage et ayant la vitesse des dictionnaires natifs."
|
||||
"`Recette pour un dictionnaire persistant <https://code.activestate.com/"
|
||||
"recipes/576642/>`_ avec un large panel de formats de stockage et ayant la "
|
||||
"vitesse des dictionnaires natifs."
|
||||
|
||||
#: ../Doc/library/shelve.rst:84
|
||||
msgid "Restrictions"
|
||||
|
@ -144,85 +161,96 @@ msgstr "Limites"
|
|||
|
||||
#: ../Doc/library/shelve.rst:90
|
||||
msgid ""
|
||||
"The choice of which database package will be used (such as :mod:`dbm.ndbm` or :mod:`dbm."
|
||||
"gnu`) depends on which interface is available. Therefore it is not safe to open the "
|
||||
"database directly using :mod:`dbm`. The database is also (unfortunately) subject to the "
|
||||
"limitations of :mod:`dbm`, if it is used --- this means that (the pickled representation of) "
|
||||
"the objects stored in the database should be fairly small, and in rare cases key collisions "
|
||||
"may cause the database to refuse updates."
|
||||
"The choice of which database package will be used (such as :mod:`dbm.ndbm` "
|
||||
"or :mod:`dbm.gnu`) depends on which interface is available. Therefore it is "
|
||||
"not safe to open the database directly using :mod:`dbm`. The database is "
|
||||
"also (unfortunately) subject to the limitations of :mod:`dbm`, if it is used "
|
||||
"--- this means that (the pickled representation of) the objects stored in "
|
||||
"the database should be fairly small, and in rare cases key collisions may "
|
||||
"cause the database to refuse updates."
|
||||
msgstr ""
|
||||
"Le choix du paquet de base de données à utiliser (comme :mod:`dbm.ndbm` ou :mod:`dbm.gnu`) "
|
||||
"dépend de l'interface disponible. Donc c'est risqué d'ouvrir la base de données directement "
|
||||
"en utilisant :mod:`dbm`. La base de données est également (malheureusement) sujette à des "
|
||||
"limitations de :mod:`dbm`, si c'est utilisé --- cela signifie que (la représentation "
|
||||
"*pickled* de) l'objet stocké dans la base de données doit être assez petit et, dans de rare "
|
||||
"cas des collisions de clés peuvent entraîner le refus de mises à jour de la base de données."
|
||||
"Le choix du paquet de base de données à utiliser (comme :mod:`dbm.ndbm` ou :"
|
||||
"mod:`dbm.gnu`) dépend de l'interface disponible. Donc c'est risqué d'ouvrir "
|
||||
"la base de données directement en utilisant :mod:`dbm`. La base de données "
|
||||
"est également (malheureusement) sujette à des limitations de :mod:`dbm`, si "
|
||||
"c'est utilisé --- cela signifie que (la représentation *pickled* de) l'objet "
|
||||
"stocké dans la base de données doit être assez petit et, dans de rare cas "
|
||||
"des collisions de clés peuvent entraîner le refus de mises à jour de la base "
|
||||
"de données."
|
||||
|
||||
#: ../Doc/library/shelve.rst:98
|
||||
msgid ""
|
||||
"The :mod:`shelve` module does not support *concurrent* read/write access to shelved "
|
||||
"objects. (Multiple simultaneous read accesses are safe.) When a program has a shelf open "
|
||||
"for writing, no other program should have it open for reading or writing. Unix file locking "
|
||||
"can be used to solve this, but this differs across Unix versions and requires knowledge "
|
||||
"about the database implementation used."
|
||||
"The :mod:`shelve` module does not support *concurrent* read/write access to "
|
||||
"shelved objects. (Multiple simultaneous read accesses are safe.) When a "
|
||||
"program has a shelf open for writing, no other program should have it open "
|
||||
"for reading or writing. Unix file locking can be used to solve this, but "
|
||||
"this differs across Unix versions and requires knowledge about the database "
|
||||
"implementation used."
|
||||
msgstr ""
|
||||
"Le module :mod:`shelve` ne gère pas l'accès *concurrent* en lecture/écriture sur les objets "
|
||||
"stockés (les accès simultanés en lecture sont sûrs). Lorsqu'un programme a un *shelf* ouvert "
|
||||
"en écriture, aucun autre programme ne doit l'avoir ouvert en écriture ou lecture. Le "
|
||||
"verrouillage des fichier Unix peut être utilisé pour résoudre ce problème, mais cela dépend "
|
||||
"de la version Unix et nécessite des connaissances à propos de l'implémentation de la base de "
|
||||
"données utilisée."
|
||||
"Le module :mod:`shelve` ne gère pas l'accès *concurrent* en lecture/écriture "
|
||||
"sur les objets stockés (les accès simultanés en lecture sont sûrs). "
|
||||
"Lorsqu'un programme a un *shelf* ouvert en écriture, aucun autre programme "
|
||||
"ne doit l'avoir ouvert en écriture ou lecture. Le verrouillage des fichier "
|
||||
"Unix peut être utilisé pour résoudre ce problème, mais cela dépend de la "
|
||||
"version Unix et nécessite des connaissances à propos de l'implémentation de "
|
||||
"la base de données utilisée."
|
||||
|
||||
#: ../Doc/library/shelve.rst:108
|
||||
msgid ""
|
||||
"A subclass of :class:`collections.abc.MutableMapping` which stores pickled values in the "
|
||||
"*dict* object."
|
||||
"A subclass of :class:`collections.abc.MutableMapping` which stores pickled "
|
||||
"values in the *dict* object."
|
||||
msgstr ""
|
||||
"Sous-classe de :class:`collections.abc.MutableMapping` qui stocke les valeurs sérialisées "
|
||||
"par *pickle* dans l'objet *dict*."
|
||||
"Sous-classe de :class:`collections.abc.MutableMapping` qui stocke les "
|
||||
"valeurs sérialisées par *pickle* dans l'objet *dict*."
|
||||
|
||||
#: ../Doc/library/shelve.rst:111
|
||||
msgid ""
|
||||
"By default, version 3 pickles are used to serialize values. The version of the pickle "
|
||||
"protocol can be specified with the *protocol* parameter. See the :mod:`pickle` documentation "
|
||||
"for a discussion of the pickle protocols."
|
||||
"By default, version 3 pickles are used to serialize values. The version of "
|
||||
"the pickle protocol can be specified with the *protocol* parameter. See the :"
|
||||
"mod:`pickle` documentation for a discussion of the pickle protocols."
|
||||
msgstr ""
|
||||
"Par défaut, les *pickles* de version 3 sont utilisés pour sérialiser les valeurs. La version "
|
||||
"du protocole pickle peut être spécifiée avec le paramètre *protocol*. Voir la documentation "
|
||||
"de :mod:`pickle` pour plus d'informations sur les protocoles *pickle*."
|
||||
"Par défaut, les *pickles* de version 3 sont utilisés pour sérialiser les "
|
||||
"valeurs. La version du protocole pickle peut être spécifiée avec le "
|
||||
"paramètre *protocol*. Voir la documentation de :mod:`pickle` pour plus "
|
||||
"d'informations sur les protocoles *pickle*."
|
||||
|
||||
#: ../Doc/library/shelve.rst:115
|
||||
msgid ""
|
||||
"If the *writeback* parameter is ``True``, the object will hold a cache of all entries "
|
||||
"accessed and write them back to the *dict* at sync and close times. This allows natural "
|
||||
"operations on mutable entries, but can consume much more memory and make sync and close take "
|
||||
"a long time."
|
||||
"If the *writeback* parameter is ``True``, the object will hold a cache of "
|
||||
"all entries accessed and write them back to the *dict* at sync and close "
|
||||
"times. This allows natural operations on mutable entries, but can consume "
|
||||
"much more memory and make sync and close take a long time."
|
||||
msgstr ""
|
||||
"Si le paramètre *writeback* est ``True``, l'objet garde en cache toutes les entrées accédées "
|
||||
"et les écrit dans le *dict* aux moments de synchronisation et de fermeture. Cela permet des "
|
||||
"opérations naturelles sur les entrées modifiables, mais peut consommer beaucoup plus de "
|
||||
"mémoire et rendre les temps de synchronisation et de fermeture très longs."
|
||||
"Si le paramètre *writeback* est ``True``, l'objet garde en cache toutes les "
|
||||
"entrées accédées et les écrit dans le *dict* aux moments de synchronisation "
|
||||
"et de fermeture. Cela permet des opérations naturelles sur les entrées "
|
||||
"modifiables, mais peut consommer beaucoup plus de mémoire et rendre les "
|
||||
"temps de synchronisation et de fermeture très longs."
|
||||
|
||||
#: ../Doc/library/shelve.rst:120
|
||||
msgid ""
|
||||
"The *keyencoding* parameter is the encoding used to encode keys before they are used with "
|
||||
"the underlying dict."
|
||||
"The *keyencoding* parameter is the encoding used to encode keys before they "
|
||||
"are used with the underlying dict."
|
||||
msgstr ""
|
||||
"Le paramètre *keyencoding* est l'encodage utilisé pour encoder les clés avant qu'elles "
|
||||
"soient utilisées avec le dictionnaire sous-jacent."
|
||||
"Le paramètre *keyencoding* est l'encodage utilisé pour encoder les clés "
|
||||
"avant qu'elles soient utilisées avec le dictionnaire sous-jacent."
|
||||
|
||||
#: ../Doc/library/shelve.rst:123
|
||||
msgid ""
|
||||
"A :class:`Shelf` object can also be used as a context manager, in which case it will be "
|
||||
"automatically closed when the :keyword:`with` block ends."
|
||||
"A :class:`Shelf` object can also be used as a context manager, in which case "
|
||||
"it will be automatically closed when the :keyword:`with` block ends."
|
||||
msgstr ""
|
||||
"Un objet :class:`Shelf` peut également être utilisé comme un gestionnaire de contexte ; il "
|
||||
"est automatiquement fermé lorsque le block :keyword:`with` est terminé."
|
||||
"Un objet :class:`Shelf` peut également être utilisé comme un gestionnaire de "
|
||||
"contexte ; il est automatiquement fermé lorsque le block :keyword:`with` est "
|
||||
"terminé."
|
||||
|
||||
#: ../Doc/library/shelve.rst:126
|
||||
msgid "Added the *keyencoding* parameter; previously, keys were always encoded in UTF-8."
|
||||
msgid ""
|
||||
"Added the *keyencoding* parameter; previously, keys were always encoded in "
|
||||
"UTF-8."
|
||||
msgstr ""
|
||||
"Ajout du paramètre *keyencoding* ; précédemment, les clés étaient toujours encodées en UTF-8."
|
||||
"Ajout du paramètre *keyencoding* ; précédemment, les clés étaient toujours "
|
||||
"encodées en UTF-8."
|
||||
|
||||
#: ../Doc/library/shelve.rst:130
|
||||
msgid "Added context manager support."
|
||||
|
@ -230,46 +258,54 @@ msgstr "Ajout du support des gestionnaires de contexte."
|
|||
|
||||
#: ../Doc/library/shelve.rst:136
|
||||
msgid ""
|
||||
"A subclass of :class:`Shelf` which exposes :meth:`first`, :meth:`!next`, :meth:`previous`, :"
|
||||
"meth:`last` and :meth:`set_location` which are available in the third-party :mod:`bsddb` "
|
||||
"module from `pybsddb <https://www.jcea.es/programacion/pybsddb.htm>`_ but not in other "
|
||||
"database modules. The *dict* object passed to the constructor must support those methods. "
|
||||
"This is generally accomplished by calling one of :func:`bsddb.hashopen`, :func:`bsddb."
|
||||
"btopen` or :func:`bsddb.rnopen`. The optional *protocol*, *writeback*, and *keyencoding* "
|
||||
"parameters have the same interpretation as for the :class:`Shelf` class."
|
||||
"A subclass of :class:`Shelf` which exposes :meth:`first`, :meth:`!next`, :"
|
||||
"meth:`previous`, :meth:`last` and :meth:`set_location` which are available "
|
||||
"in the third-party :mod:`bsddb` module from `pybsddb <https://www.jcea.es/"
|
||||
"programacion/pybsddb.htm>`_ but not in other database modules. The *dict* "
|
||||
"object passed to the constructor must support those methods. This is "
|
||||
"generally accomplished by calling one of :func:`bsddb.hashopen`, :func:"
|
||||
"`bsddb.btopen` or :func:`bsddb.rnopen`. The optional *protocol*, "
|
||||
"*writeback*, and *keyencoding* parameters have the same interpretation as "
|
||||
"for the :class:`Shelf` class."
|
||||
msgstr ""
|
||||
"Sous-classe de :class:`Shelf` qui propose :meth:`first`, :meth:`!next`, :meth:`previous`, :"
|
||||
"meth:`last` et :meth:`set_location` qui sont disponibles dans le module tiers :mod:`bsddb` "
|
||||
"de `pybsddb <https://www.jcea.es/programacion/pybsddb.htm>`_ mais non dans les autres "
|
||||
"modules de base de données. L'objet *dict* passé au constructeur doit savoir gérer ces "
|
||||
"méthodes. Cela est généralement fait en appelant une des fonctions suivantes : :func:`bsddb."
|
||||
"hashopen`, :func:`bsddb.btopen` ou :func:`bsddb.rnopen`. Les paramètres optionnels "
|
||||
"*protocol*, *writeback*, et *keyencoding* ont la même signification que pour la classe :"
|
||||
"class:`Shelf`."
|
||||
"Sous-classe de :class:`Shelf` qui propose :meth:`first`, :meth:`!next`, :"
|
||||
"meth:`previous`, :meth:`last` et :meth:`set_location` qui sont disponibles "
|
||||
"dans le module tiers :mod:`bsddb` de `pybsddb <https://www.jcea.es/"
|
||||
"programacion/pybsddb.htm>`_ mais non dans les autres modules de base de "
|
||||
"données. L'objet *dict* passé au constructeur doit savoir gérer ces "
|
||||
"méthodes. Cela est généralement fait en appelant une des fonctions "
|
||||
"suivantes : :func:`bsddb.hashopen`, :func:`bsddb.btopen` ou :func:`bsddb."
|
||||
"rnopen`. Les paramètres optionnels *protocol*, *writeback*, et *keyencoding* "
|
||||
"ont la même signification que pour la classe :class:`Shelf`."
|
||||
|
||||
#: ../Doc/library/shelve.rst:149
|
||||
msgid ""
|
||||
"A subclass of :class:`Shelf` which accepts a *filename* instead of a dict-like object. The "
|
||||
"underlying file will be opened using :func:`dbm.open`. By default, the file will be created "
|
||||
"and opened for both read and write. The optional *flag* parameter has the same "
|
||||
"interpretation as for the :func:`.open` function. The optional *protocol* and *writeback* "
|
||||
"parameters have the same interpretation as for the :class:`Shelf` class."
|
||||
"A subclass of :class:`Shelf` which accepts a *filename* instead of a dict-"
|
||||
"like object. The underlying file will be opened using :func:`dbm.open`. By "
|
||||
"default, the file will be created and opened for both read and write. The "
|
||||
"optional *flag* parameter has the same interpretation as for the :func:`."
|
||||
"open` function. The optional *protocol* and *writeback* parameters have the "
|
||||
"same interpretation as for the :class:`Shelf` class."
|
||||
msgstr ""
|
||||
"Sous-classe de :class:`Shelf` qui accepte un *filename* au lieu d'un objet dictionnaire-"
|
||||
"compatible. Le fichier sous-jacent est ouvert avec :func:`dbm.open`. Par défaut le fichier "
|
||||
"est créé en lecture et en écriture. Le paramètre optionnel *flag* peut être interprété de la "
|
||||
"même manière que pour la fonction :func:`.open`. Les paramètres optionnels *protocol* et "
|
||||
"*writeback* s'interprètent de la même manière que pour la classe :class:`Shelf`."
|
||||
"Sous-classe de :class:`Shelf` qui accepte un *filename* au lieu d'un objet "
|
||||
"dictionnaire-compatible. Le fichier sous-jacent est ouvert avec :func:`dbm."
|
||||
"open`. Par défaut le fichier est créé en lecture et en écriture. Le "
|
||||
"paramètre optionnel *flag* peut être interprété de la même manière que pour "
|
||||
"la fonction :func:`.open`. Les paramètres optionnels *protocol* et "
|
||||
"*writeback* s'interprètent de la même manière que pour la classe :class:"
|
||||
"`Shelf`."
|
||||
|
||||
#: ../Doc/library/shelve.rst:160
|
||||
msgid "Example"
|
||||
msgstr "Exemple"
|
||||
|
||||
#: ../Doc/library/shelve.rst:162
|
||||
msgid "To summarize the interface (``key`` is a string, ``data`` is an arbitrary object)::"
|
||||
msgid ""
|
||||
"To summarize the interface (``key`` is a string, ``data`` is an arbitrary "
|
||||
"object)::"
|
||||
msgstr ""
|
||||
"Pour résumer l'interface (``key`` est une chaîne de caractère, ``data`` est un objet "
|
||||
"arbitraire) ::"
|
||||
"Pour résumer l'interface (``key`` est une chaîne de caractère, ``data`` est "
|
||||
"un objet arbitraire) ::"
|
||||
|
||||
#: ../Doc/library/shelve.rst:199
|
||||
msgid "Module :mod:`dbm`"
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -269,7 +269,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/site.rst:248
|
||||
msgid ""
|
||||
"If any option is given, the script will exit with one of these values: ``O`` "
|
||||
"If any option is given, the script will exit with one of these values: ``0`` "
|
||||
"if the user site-packages directory is enabled, ``1`` if it was disabled by "
|
||||
"the user, ``2`` if it is disabled for security reasons or by an "
|
||||
"administrator, and a value greater than 2 if there is an error."
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-07-03 11:13+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -284,8 +284,9 @@ msgid ""
|
|||
"Registers a callable to convert a bytestring from the database into a custom "
|
||||
"Python type. The callable will be invoked for all database values that are "
|
||||
"of the type *typename*. Confer the parameter *detect_types* of the :func:"
|
||||
"`connect` function for how the type detection works. Note that the case of "
|
||||
"*typename* and the name of the type in your query must match!"
|
||||
"`connect` function for how the type detection works. Note that *typename* "
|
||||
"and the name of the type in your query are matched in case-insensitive "
|
||||
"manner."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:245
|
||||
|
@ -328,9 +329,9 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/sqlite3.rst:284
|
||||
msgid ""
|
||||
"Get or set the current isolation level. :const:`None` for autocommit mode or "
|
||||
"one of \"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\". See section :ref:"
|
||||
"`sqlite3-controlling-transactions` for a more detailed explanation."
|
||||
"Get or set the current default isolation level. :const:`None` for autocommit "
|
||||
"mode or one of \"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\". See section :"
|
||||
"ref:`sqlite3-controlling-transactions` for a more detailed explanation."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:290
|
||||
|
@ -902,82 +903,90 @@ msgid ""
|
|||
"not be processed, etc. It is a subclass of :exc:`DatabaseError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:835
|
||||
#: ../Doc/library/sqlite3.rst:833
|
||||
msgid ""
|
||||
"Exception raised in case a method or database API was used which is not "
|
||||
"supported by the database, e.g. calling the :meth:`~Connection.rollback` "
|
||||
"method on a connection that does not support transaction or has transactions "
|
||||
"turned off. It is a subclass of :exc:`DatabaseError`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:842
|
||||
msgid "SQLite and Python types"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:839
|
||||
#: ../Doc/library/sqlite3.rst:846
|
||||
msgid "Introduction"
|
||||
msgstr "Introduction"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:841
|
||||
#: ../Doc/library/sqlite3.rst:848
|
||||
msgid ""
|
||||
"SQLite natively supports the following types: ``NULL``, ``INTEGER``, "
|
||||
"``REAL``, ``TEXT``, ``BLOB``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:844
|
||||
#: ../Doc/library/sqlite3.rst:851
|
||||
msgid ""
|
||||
"The following Python types can thus be sent to SQLite without any problem:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:847 ../Doc/library/sqlite3.rst:864
|
||||
#: ../Doc/library/sqlite3.rst:854 ../Doc/library/sqlite3.rst:871
|
||||
msgid "Python type"
|
||||
msgstr "Type Python"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:847 ../Doc/library/sqlite3.rst:864
|
||||
#: ../Doc/library/sqlite3.rst:854 ../Doc/library/sqlite3.rst:871
|
||||
msgid "SQLite type"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:849 ../Doc/library/sqlite3.rst:866
|
||||
#: ../Doc/library/sqlite3.rst:856 ../Doc/library/sqlite3.rst:873
|
||||
msgid ":const:`None`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:849 ../Doc/library/sqlite3.rst:866
|
||||
#: ../Doc/library/sqlite3.rst:856 ../Doc/library/sqlite3.rst:873
|
||||
msgid "``NULL``"
|
||||
msgstr "``NULL``"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:851 ../Doc/library/sqlite3.rst:868
|
||||
#: ../Doc/library/sqlite3.rst:858 ../Doc/library/sqlite3.rst:875
|
||||
msgid ":class:`int`"
|
||||
msgstr ":class:`int`"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:851 ../Doc/library/sqlite3.rst:868
|
||||
#: ../Doc/library/sqlite3.rst:858 ../Doc/library/sqlite3.rst:875
|
||||
msgid "``INTEGER``"
|
||||
msgstr "``INTEGER``"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:853 ../Doc/library/sqlite3.rst:870
|
||||
#: ../Doc/library/sqlite3.rst:860 ../Doc/library/sqlite3.rst:877
|
||||
msgid ":class:`float`"
|
||||
msgstr ":class:`float`"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:853 ../Doc/library/sqlite3.rst:870
|
||||
#: ../Doc/library/sqlite3.rst:860 ../Doc/library/sqlite3.rst:877
|
||||
msgid "``REAL``"
|
||||
msgstr "``REAL``"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:855
|
||||
#: ../Doc/library/sqlite3.rst:862
|
||||
msgid ":class:`str`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:855 ../Doc/library/sqlite3.rst:872
|
||||
#: ../Doc/library/sqlite3.rst:862 ../Doc/library/sqlite3.rst:879
|
||||
msgid "``TEXT``"
|
||||
msgstr "``TEXT``"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:857 ../Doc/library/sqlite3.rst:875
|
||||
#: ../Doc/library/sqlite3.rst:864 ../Doc/library/sqlite3.rst:882
|
||||
msgid ":class:`bytes`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:857 ../Doc/library/sqlite3.rst:875
|
||||
#: ../Doc/library/sqlite3.rst:864 ../Doc/library/sqlite3.rst:882
|
||||
msgid "``BLOB``"
|
||||
msgstr "``BLOB``"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:861
|
||||
#: ../Doc/library/sqlite3.rst:868
|
||||
msgid "This is how SQLite types are converted to Python types by default:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:872
|
||||
#: ../Doc/library/sqlite3.rst:879
|
||||
msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:878
|
||||
#: ../Doc/library/sqlite3.rst:885
|
||||
msgid ""
|
||||
"The type system of the :mod:`sqlite3` module is extensible in two ways: you "
|
||||
"can store additional Python types in a SQLite database via object "
|
||||
|
@ -985,11 +994,11 @@ msgid ""
|
|||
"to different Python types via converters."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:885
|
||||
#: ../Doc/library/sqlite3.rst:892
|
||||
msgid "Using adapters to store additional Python types in SQLite databases"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:887
|
||||
#: ../Doc/library/sqlite3.rst:894
|
||||
msgid ""
|
||||
"As described before, SQLite supports only a limited set of types natively. "
|
||||
"To use other Python types with SQLite, you must **adapt** them to one of the "
|
||||
|
@ -997,23 +1006,23 @@ msgid ""
|
|||
"str, bytes."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:892
|
||||
#: ../Doc/library/sqlite3.rst:899
|
||||
msgid ""
|
||||
"There are two ways to enable the :mod:`sqlite3` module to adapt a custom "
|
||||
"Python type to one of the supported ones."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:897
|
||||
#: ../Doc/library/sqlite3.rst:904
|
||||
msgid "Letting your object adapt itself"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:899
|
||||
#: ../Doc/library/sqlite3.rst:906
|
||||
msgid ""
|
||||
"This is a good approach if you write the class yourself. Let's suppose you "
|
||||
"have a class like this::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:906
|
||||
#: ../Doc/library/sqlite3.rst:913
|
||||
msgid ""
|
||||
"Now you want to store the point in a single SQLite column. First you'll "
|
||||
"have to choose one of the supported types first to be used for representing "
|
||||
|
@ -1023,18 +1032,18 @@ msgid ""
|
|||
"will be :class:`PrepareProtocol`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:916
|
||||
#: ../Doc/library/sqlite3.rst:923
|
||||
msgid "Registering an adapter callable"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:918
|
||||
#: ../Doc/library/sqlite3.rst:925
|
||||
msgid ""
|
||||
"The other possibility is to create a function that converts the type to the "
|
||||
"string representation and register the function with :meth:"
|
||||
"`register_adapter`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:923
|
||||
#: ../Doc/library/sqlite3.rst:930
|
||||
msgid ""
|
||||
"The :mod:`sqlite3` module has two default adapters for Python's built-in :"
|
||||
"class:`datetime.date` and :class:`datetime.datetime` types. Now let's "
|
||||
|
@ -1042,151 +1051,159 @@ msgid ""
|
|||
"representation, but as a Unix timestamp."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:932
|
||||
#: ../Doc/library/sqlite3.rst:939
|
||||
msgid "Converting SQLite values to custom Python types"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:934
|
||||
#: ../Doc/library/sqlite3.rst:941
|
||||
msgid ""
|
||||
"Writing an adapter lets you send custom Python types to SQLite. But to make "
|
||||
"it really useful we need to make the Python to SQLite to Python roundtrip "
|
||||
"work."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:937
|
||||
#: ../Doc/library/sqlite3.rst:944
|
||||
msgid "Enter converters."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:939
|
||||
#: ../Doc/library/sqlite3.rst:946
|
||||
msgid ""
|
||||
"Let's go back to the :class:`Point` class. We stored the x and y coordinates "
|
||||
"separated via semicolons as strings in SQLite."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:942
|
||||
#: ../Doc/library/sqlite3.rst:949
|
||||
msgid ""
|
||||
"First, we'll define a converter function that accepts the string as a "
|
||||
"parameter and constructs a :class:`Point` object from it."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:947
|
||||
#: ../Doc/library/sqlite3.rst:954
|
||||
msgid ""
|
||||
"Converter functions **always** get called with a :class:`bytes` object, no "
|
||||
"matter under which data type you sent the value to SQLite."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:956
|
||||
#: ../Doc/library/sqlite3.rst:963
|
||||
msgid ""
|
||||
"Now you need to make the :mod:`sqlite3` module know that what you select "
|
||||
"from the database is actually a point. There are two ways of doing this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:959
|
||||
#: ../Doc/library/sqlite3.rst:966
|
||||
msgid "Implicitly via the declared type"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:961
|
||||
#: ../Doc/library/sqlite3.rst:968
|
||||
msgid "Explicitly via the column name"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:963
|
||||
#: ../Doc/library/sqlite3.rst:970
|
||||
msgid ""
|
||||
"Both ways are described in section :ref:`sqlite3-module-contents`, in the "
|
||||
"entries for the constants :const:`PARSE_DECLTYPES` and :const:"
|
||||
"`PARSE_COLNAMES`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:966
|
||||
#: ../Doc/library/sqlite3.rst:973
|
||||
msgid "The following example illustrates both approaches."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:972
|
||||
#: ../Doc/library/sqlite3.rst:979
|
||||
msgid "Default adapters and converters"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:974
|
||||
#: ../Doc/library/sqlite3.rst:981
|
||||
msgid ""
|
||||
"There are default adapters for the date and datetime types in the datetime "
|
||||
"module. They will be sent as ISO dates/ISO timestamps to SQLite."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:977
|
||||
#: ../Doc/library/sqlite3.rst:984
|
||||
msgid ""
|
||||
"The default converters are registered under the name \"date\" for :class:"
|
||||
"`datetime.date` and under the name \"timestamp\" for :class:`datetime."
|
||||
"datetime`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:981
|
||||
#: ../Doc/library/sqlite3.rst:988
|
||||
msgid ""
|
||||
"This way, you can use date/timestamps from Python without any additional "
|
||||
"fiddling in most cases. The format of the adapters is also compatible with "
|
||||
"the experimental SQLite date/time functions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:985
|
||||
#: ../Doc/library/sqlite3.rst:992
|
||||
msgid "The following example demonstrates this."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:989
|
||||
#: ../Doc/library/sqlite3.rst:996
|
||||
msgid ""
|
||||
"If a timestamp stored in SQLite has a fractional part longer than 6 numbers, "
|
||||
"its value will be truncated to microsecond precision by the timestamp "
|
||||
"converter."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:997
|
||||
#: ../Doc/library/sqlite3.rst:1004
|
||||
msgid "Controlling Transactions"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:999
|
||||
#: ../Doc/library/sqlite3.rst:1006
|
||||
msgid ""
|
||||
"By default, the :mod:`sqlite3` module opens transactions implicitly before a "
|
||||
"Data Modification Language (DML) statement (i.e. ``INSERT``/``UPDATE``/"
|
||||
"``DELETE``/``REPLACE``)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1003
|
||||
msgid ""
|
||||
"You can control which kind of ``BEGIN`` statements sqlite3 implicitly "
|
||||
"executes (or none at all) via the *isolation_level* parameter to the :func:"
|
||||
"`connect` call, or via the :attr:`isolation_level` property of connections."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1007
|
||||
msgid ""
|
||||
"If you want **autocommit mode**, then set :attr:`isolation_level` to "
|
||||
"``None``."
|
||||
"The underlying ``sqlite3`` library operates in ``autocommit`` mode by "
|
||||
"default, but the Python :mod:`sqlite3` module by default does not."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1009
|
||||
msgid ""
|
||||
"Otherwise leave it at its default, which will result in a plain \"BEGIN\" "
|
||||
"statement, or set it to one of SQLite's supported isolation levels: "
|
||||
"\"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\"."
|
||||
"``autocommit`` mode means that statements that modify the database take "
|
||||
"effect immediately. A ``BEGIN`` or ``SAVEPOINT`` statement disables "
|
||||
"``autocommit`` mode, and a ``COMMIT``, a ``ROLLBACK``, or a ``RELEASE`` that "
|
||||
"ends the outermost transaction, turns ``autocommit`` mode back on."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1013
|
||||
#: ../Doc/library/sqlite3.rst:1014
|
||||
msgid ""
|
||||
"The current transaction state is exposed through the :attr:`Connection."
|
||||
"in_transaction` attribute of the connection object."
|
||||
"The Python :mod:`sqlite3` module by default issues a ``BEGIN`` statement "
|
||||
"implicitly before a Data Modification Language (DML) statement (i.e. "
|
||||
"``INSERT``/``UPDATE``/``DELETE``/``REPLACE``)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1016
|
||||
#: ../Doc/library/sqlite3.rst:1018
|
||||
msgid ""
|
||||
"You can control which kind of ``BEGIN`` statements :mod:`sqlite3` implicitly "
|
||||
"executes via the *isolation_level* parameter to the :func:`connect` call, or "
|
||||
"via the :attr:`isolation_level` property of connections. If you specify no "
|
||||
"*isolation_level*, a plain ``BEGIN`` is used, which is equivalent to "
|
||||
"specifying ``DEFERRED``. Other possible values are ``IMMEDIATE`` and "
|
||||
"``EXCLUSIVE``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1025
|
||||
msgid ""
|
||||
"You can disable the :mod:`sqlite3` module's implicit transaction management "
|
||||
"by setting :attr:`isolation_level` to ``None``. This will leave the "
|
||||
"underlying ``sqlite3`` library operating in ``autocommit`` mode. You can "
|
||||
"then completely control the transaction state by explicitly issuing "
|
||||
"``BEGIN``, ``ROLLBACK``, ``SAVEPOINT``, and ``RELEASE`` statements in your "
|
||||
"code."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1031
|
||||
msgid ""
|
||||
":mod:`sqlite3` used to implicitly commit an open transaction before DDL "
|
||||
"statements. This is no longer the case."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1022
|
||||
#: ../Doc/library/sqlite3.rst:1037
|
||||
msgid "Using :mod:`sqlite3` efficiently"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1026
|
||||
#: ../Doc/library/sqlite3.rst:1041
|
||||
msgid "Using shortcut methods"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1028
|
||||
#: ../Doc/library/sqlite3.rst:1043
|
||||
msgid ""
|
||||
"Using the nonstandard :meth:`execute`, :meth:`executemany` and :meth:"
|
||||
"`executescript` methods of the :class:`Connection` object, your code can be "
|
||||
|
@ -1198,42 +1215,42 @@ msgid ""
|
|||
"object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1040
|
||||
#: ../Doc/library/sqlite3.rst:1055
|
||||
msgid "Accessing columns by name instead of by index"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1042
|
||||
#: ../Doc/library/sqlite3.rst:1057
|
||||
msgid ""
|
||||
"One useful feature of the :mod:`sqlite3` module is the built-in :class:"
|
||||
"`sqlite3.Row` class designed to be used as a row factory."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1045
|
||||
#: ../Doc/library/sqlite3.rst:1060
|
||||
msgid ""
|
||||
"Rows wrapped with this class can be accessed both by index (like tuples) and "
|
||||
"case-insensitively by name:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1052
|
||||
#: ../Doc/library/sqlite3.rst:1067
|
||||
msgid "Using the connection as a context manager"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1054
|
||||
#: ../Doc/library/sqlite3.rst:1069
|
||||
msgid ""
|
||||
"Connection objects can be used as context managers that automatically commit "
|
||||
"or rollback transactions. In the event of an exception, the transaction is "
|
||||
"rolled back; otherwise, the transaction is committed:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1063
|
||||
#: ../Doc/library/sqlite3.rst:1078
|
||||
msgid "Common issues"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1066
|
||||
#: ../Doc/library/sqlite3.rst:1081
|
||||
msgid "Multithreading"
|
||||
msgstr "Fils d'exécution"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1068
|
||||
#: ../Doc/library/sqlite3.rst:1083
|
||||
msgid ""
|
||||
"Older SQLite versions had issues with sharing connections between threads. "
|
||||
"That's why the Python module disallows sharing connections and cursors "
|
||||
|
@ -1241,17 +1258,17 @@ msgid ""
|
|||
"runtime."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1072
|
||||
#: ../Doc/library/sqlite3.rst:1087
|
||||
msgid ""
|
||||
"The only exception is calling the :meth:`~Connection.interrupt` method, "
|
||||
"which only makes sense to call from a different thread."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1076
|
||||
#: ../Doc/library/sqlite3.rst:1091
|
||||
msgid "Footnotes"
|
||||
msgstr "Notes"
|
||||
|
||||
#: ../Doc/library/sqlite3.rst:1077
|
||||
#: ../Doc/library/sqlite3.rst:1092
|
||||
msgid ""
|
||||
"The sqlite3 module is not built with loadable extension support by default, "
|
||||
"because some platforms (notably Mac OS X) have SQLite libraries which are "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-07-03 10:56+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -1753,10 +1753,10 @@ msgstr ""
|
|||
#: ../Doc/library/ssl.rst:1608
|
||||
msgid ""
|
||||
"Set the available ciphers for sockets created with this context. It should "
|
||||
"be a string in the `OpenSSL cipher list format <https://wiki.openssl.org/"
|
||||
"index.php/Manual:Ciphers(1)#CIPHER_LIST_FORMAT>`_. If no cipher can be "
|
||||
"selected (because compile-time options or other configuration forbids use of "
|
||||
"all the specified ciphers), an :class:`SSLError` will be raised."
|
||||
"be a string in the `OpenSSL cipher list format <https://www.openssl.org/docs/"
|
||||
"manmaster/man1/ciphers.html>`_. If no cipher can be selected (because "
|
||||
"compile-time options or other configuration forbids use of all the specified "
|
||||
"ciphers), an :class:`SSLError` will be raised."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/ssl.rst:1616
|
||||
|
|
1553
library/stdtypes.po
1553
library/stdtypes.po
File diff suppressed because it is too large
Load Diff
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-20 20:39+0200\n"
|
||||
"Last-Translator: Mickaël Bergem <suixo@securem.eu>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: Mickaël Bergem <suixo@securem.eu>\n"
|
||||
"X-Generator: Poedit 2.0.9\n"
|
||||
|
||||
#: ../Doc/library/token.rst:2
|
||||
|
|
|
@ -5,7 +5,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-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -88,7 +88,7 @@ msgid ""
|
|||
"exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:58 ../Doc/library/traceback.rst:137
|
||||
#: ../Doc/library/traceback.rst:58 ../Doc/library/traceback.rst:139
|
||||
msgid "The *etype* argument is ignored and inferred from the type of *value*."
|
||||
msgstr ""
|
||||
|
||||
|
@ -116,33 +116,36 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/traceback.rst:91
|
||||
msgid ""
|
||||
"Return a list of \"pre-processed\" stack trace entries extracted from the "
|
||||
"traceback object *tb*. It is useful for alternate formatting of stack "
|
||||
"traces. The optional *limit* argument has the same meaning as for :func:"
|
||||
"`print_tb`. A \"pre-processed\" stack trace entry is a 4-tuple (*filename*, "
|
||||
"*line number*, *function name*, *text*) representing the information that is "
|
||||
"usually printed for a stack trace. The *text* is a string with leading and "
|
||||
"trailing whitespace stripped; if the source is not available it is ``None``."
|
||||
"Return a :class:`StackSummary` object representing a list of \"pre-processed"
|
||||
"\" stack trace entries extracted from the traceback object *tb*. It is "
|
||||
"useful for alternate formatting of stack traces. The optional *limit* "
|
||||
"argument has the same meaning as for :func:`print_tb`. A \"pre-processed\" "
|
||||
"stack trace entry is a :class:`FrameSummary` object containing attributes :"
|
||||
"attr:`~FrameSummary.filename`, :attr:`~FrameSummary.lineno`, :attr:"
|
||||
"`~FrameSummary.name`, and :attr:`~FrameSummary.line` representing the "
|
||||
"information that is usually printed for a stack trace. The :attr:"
|
||||
"`~FrameSummary.line` is a string with leading and trailing whitespace "
|
||||
"stripped; if the source is not available it is ``None``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:103
|
||||
#: ../Doc/library/traceback.rst:105
|
||||
msgid ""
|
||||
"Extract the raw traceback from the current stack frame. The return value "
|
||||
"has the same format as for :func:`extract_tb`. The optional *f* and *limit* "
|
||||
"arguments have the same meaning as for :func:`print_stack`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:110
|
||||
#: ../Doc/library/traceback.rst:112
|
||||
msgid ""
|
||||
"Given a list of tuples as returned by :func:`extract_tb` or :func:"
|
||||
"`extract_stack`, return a list of strings ready for printing. Each string in "
|
||||
"the resulting list corresponds to the item with the same index in the "
|
||||
"argument list. Each string ends in a newline; the strings may contain "
|
||||
"internal newlines as well, for those items whose source text line is not "
|
||||
"``None``."
|
||||
"Given a list of tuples or :class:`FrameSummary` objects as returned by :func:"
|
||||
"`extract_tb` or :func:`extract_stack`, return a list of strings ready for "
|
||||
"printing. Each string in the resulting list corresponds to the item with "
|
||||
"the same index in the argument list. Each string ends in a newline; the "
|
||||
"strings may contain internal newlines as well, for those items whose source "
|
||||
"text line is not ``None``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:120
|
||||
#: ../Doc/library/traceback.rst:122
|
||||
msgid ""
|
||||
"Format the exception part of a traceback. The arguments are the exception "
|
||||
"type and value such as given by ``sys.last_type`` and ``sys.last_value``. "
|
||||
|
@ -153,7 +156,7 @@ msgid ""
|
|||
"which exception occurred is the always last string in the list."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:131
|
||||
#: ../Doc/library/traceback.rst:133
|
||||
msgid ""
|
||||
"Format a stack trace and the exception information. The arguments have the "
|
||||
"same meaning as the corresponding arguments to :func:`print_exception`. The "
|
||||
|
@ -162,158 +165,158 @@ msgid ""
|
|||
"printed, exactly the same text is printed as does :func:`print_exception`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:143
|
||||
#: ../Doc/library/traceback.rst:145
|
||||
msgid ""
|
||||
"This is like ``print_exc(limit)`` but returns a string instead of printing "
|
||||
"to a file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:149
|
||||
#: ../Doc/library/traceback.rst:151
|
||||
msgid "A shorthand for ``format_list(extract_tb(tb, limit))``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:154
|
||||
#: ../Doc/library/traceback.rst:156
|
||||
msgid "A shorthand for ``format_list(extract_stack(f, limit))``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:158
|
||||
#: ../Doc/library/traceback.rst:160
|
||||
msgid ""
|
||||
"Clears the local variables of all the stack frames in a traceback *tb* by "
|
||||
"calling the :meth:`clear` method of each frame object."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:165
|
||||
#: ../Doc/library/traceback.rst:167
|
||||
msgid ""
|
||||
"Walk a stack following ``f.f_back`` from the given frame, yielding the frame "
|
||||
"and line number for each frame. If *f* is ``None``, the current stack is "
|
||||
"used. This helper is used with :meth:`StackSummary.extract`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:173
|
||||
#: ../Doc/library/traceback.rst:175
|
||||
msgid ""
|
||||
"Walk a traceback following ``tb_next`` yielding the frame and line number "
|
||||
"for each frame. This helper is used with :meth:`StackSummary.extract`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:178
|
||||
#: ../Doc/library/traceback.rst:180
|
||||
msgid "The module also defines the following classes:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:181
|
||||
#: ../Doc/library/traceback.rst:183
|
||||
msgid ":class:`TracebackException` Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:185
|
||||
#: ../Doc/library/traceback.rst:187
|
||||
msgid ""
|
||||
":class:`TracebackException` objects are created from actual exceptions to "
|
||||
"capture data for later printing in a lightweight fashion."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:190 ../Doc/library/traceback.rst:237
|
||||
#: ../Doc/library/traceback.rst:192 ../Doc/library/traceback.rst:239
|
||||
msgid ""
|
||||
"Capture an exception for later rendering. *limit*, *lookup_lines* and "
|
||||
"*capture_locals* are as for the :class:`StackSummary` class."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:193 ../Doc/library/traceback.rst:240
|
||||
#: ../Doc/library/traceback.rst:195 ../Doc/library/traceback.rst:242
|
||||
msgid ""
|
||||
"Note that when locals are captured, they are also shown in the traceback."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:197
|
||||
#: ../Doc/library/traceback.rst:199
|
||||
msgid "A :class:`TracebackException` of the original ``__cause__``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:201
|
||||
#: ../Doc/library/traceback.rst:203
|
||||
msgid "A :class:`TracebackException` of the original ``__context__``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:205
|
||||
#: ../Doc/library/traceback.rst:207
|
||||
msgid "The ``__suppress_context__`` value from the original exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:209
|
||||
#: ../Doc/library/traceback.rst:211
|
||||
msgid "A :class:`StackSummary` representing the traceback."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:213
|
||||
#: ../Doc/library/traceback.rst:215
|
||||
msgid "The class of the original traceback."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:217
|
||||
#: ../Doc/library/traceback.rst:219
|
||||
msgid "For syntax errors - the file name where the error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:221
|
||||
#: ../Doc/library/traceback.rst:223
|
||||
msgid "For syntax errors - the line number where the error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:225
|
||||
#: ../Doc/library/traceback.rst:227
|
||||
msgid "For syntax errors - the text where the error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:229
|
||||
#: ../Doc/library/traceback.rst:231
|
||||
msgid "For syntax errors - the offset into the text where the error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:233
|
||||
#: ../Doc/library/traceback.rst:235
|
||||
msgid "For syntax errors - the compiler error message."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:244
|
||||
#: ../Doc/library/traceback.rst:246
|
||||
msgid "Format the exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:246
|
||||
#: ../Doc/library/traceback.rst:248
|
||||
msgid ""
|
||||
"If *chain* is not ``True``, ``__cause__`` and ``__context__`` will not be "
|
||||
"formatted."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:249
|
||||
#: ../Doc/library/traceback.rst:251
|
||||
msgid ""
|
||||
"The return value is a generator of strings, each ending in a newline and "
|
||||
"some containing internal newlines. :func:`~traceback.print_exception` is a "
|
||||
"wrapper around this method which just prints the lines to a file."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:253 ../Doc/library/traceback.rst:267
|
||||
#: ../Doc/library/traceback.rst:255 ../Doc/library/traceback.rst:269
|
||||
msgid ""
|
||||
"The message indicating which exception occurred is always the last string in "
|
||||
"the output."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:258
|
||||
#: ../Doc/library/traceback.rst:260
|
||||
msgid "Format the exception part of the traceback."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:260
|
||||
#: ../Doc/library/traceback.rst:262
|
||||
msgid "The return value is a generator of strings, each ending in a newline."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:262
|
||||
#: ../Doc/library/traceback.rst:264
|
||||
msgid ""
|
||||
"Normally, the generator emits a single string; however, for :exc:"
|
||||
"`SyntaxError` exceptions, it emits several lines that (when printed) display "
|
||||
"detailed information about where the syntax error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:272
|
||||
#: ../Doc/library/traceback.rst:274
|
||||
msgid ":class:`StackSummary` Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:276
|
||||
#: ../Doc/library/traceback.rst:278
|
||||
msgid ""
|
||||
":class:`StackSummary` objects represent a call stack ready for formatting."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:282
|
||||
#: ../Doc/library/traceback.rst:284
|
||||
msgid ""
|
||||
"Construct a :class:`StackSummary` object from a frame generator (such as is "
|
||||
"returned by :func:`~traceback.walk_stack` or :func:`~traceback.walk_tb`)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:286
|
||||
#: ../Doc/library/traceback.rst:288
|
||||
msgid ""
|
||||
"If *limit* is supplied, only this many frames are taken from *frame_gen*. If "
|
||||
"*lookup_lines* is ``False``, the returned :class:`FrameSummary` objects will "
|
||||
|
@ -323,14 +326,14 @@ msgid ""
|
|||
"class:`FrameSummary` are captured as object representations."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:296
|
||||
#: ../Doc/library/traceback.rst:298
|
||||
msgid ""
|
||||
"Construct a :class:`StackSummary` object from a supplied old-style list of "
|
||||
"tuples. Each tuple should be a 4-tuple with filename, lineno, name, line as "
|
||||
"the elements."
|
||||
"Construct a :class:`StackSummary` object from a supplied list of :class:"
|
||||
"`FrameSummary` objects or old-style list of tuples. Each tuple should be a "
|
||||
"4-tuple with filename, lineno, name, line as the elements."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:302
|
||||
#: ../Doc/library/traceback.rst:304
|
||||
msgid ""
|
||||
"Returns a list of strings ready for printing. Each string in the resulting "
|
||||
"list corresponds to a single frame from the stack. Each string ends in a "
|
||||
|
@ -338,26 +341,26 @@ msgid ""
|
|||
"with source text lines."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:307
|
||||
#: ../Doc/library/traceback.rst:309
|
||||
msgid ""
|
||||
"For long sequences of the same frame and line, the first few repetitions are "
|
||||
"shown, followed by a summary line stating the exact number of further "
|
||||
"repetitions."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:311
|
||||
#: ../Doc/library/traceback.rst:313
|
||||
msgid "Long sequences of repeated frames are now abbreviated."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:316
|
||||
#: ../Doc/library/traceback.rst:318
|
||||
msgid ":class:`FrameSummary` Objects"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:320
|
||||
#: ../Doc/library/traceback.rst:322
|
||||
msgid ":class:`FrameSummary` objects represent a single frame in a traceback."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:324
|
||||
#: ../Doc/library/traceback.rst:326
|
||||
msgid ""
|
||||
"Represent a single frame in the traceback or stack that is being formatted "
|
||||
"or printed. It may optionally have a stringified version of the frames "
|
||||
|
@ -370,11 +373,11 @@ msgid ""
|
|||
"display."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:337
|
||||
#: ../Doc/library/traceback.rst:339
|
||||
msgid "Traceback Examples"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:339
|
||||
#: ../Doc/library/traceback.rst:341
|
||||
msgid ""
|
||||
"This simple example implements a basic read-eval-print loop, similar to (but "
|
||||
"less useful than) the standard Python interactive interpreter loop. For a "
|
||||
|
@ -382,22 +385,22 @@ msgid ""
|
|||
"`code` module. ::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:361
|
||||
#: ../Doc/library/traceback.rst:363
|
||||
msgid ""
|
||||
"The following example demonstrates the different ways to print and format "
|
||||
"the exception and traceback:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:400
|
||||
#: ../Doc/library/traceback.rst:402
|
||||
msgid "The output for the example would look similar to this:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:442
|
||||
#: ../Doc/library/traceback.rst:444
|
||||
msgid ""
|
||||
"The following example shows the different ways to print and format the "
|
||||
"stack::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/traceback.rst:468
|
||||
#: ../Doc/library/traceback.rst:470
|
||||
msgid "This last example demonstrates the final few formatting functions:"
|
||||
msgstr ""
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-07-17 23:58+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: \n"
|
||||
"X-Generator: Poedit 1.8.7.1\n"
|
||||
|
||||
#: ../Doc/library/unicodedata.rst:2
|
||||
|
|
164
library/venv.po
164
library/venv.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -27,23 +27,32 @@ msgid ""
|
|||
"The :mod:`venv` module provides support for creating lightweight \"virtual "
|
||||
"environments\" with their own site directories, optionally isolated from "
|
||||
"system site directories. Each virtual environment has its own Python binary "
|
||||
"(allowing creation of environments with various Python versions) and can "
|
||||
"have its own independent set of installed Python packages in its site "
|
||||
"directories."
|
||||
"(which matches the version of the binary that was used to create this "
|
||||
"environment) and can have its own independent set of installed Python "
|
||||
"packages in its site directories."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:24
|
||||
#: ../Doc/library/venv.rst:25
|
||||
msgid "See :pep:`405` for more information about Python virtual environments."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:27
|
||||
#: ../Doc/library/venv.rst:29
|
||||
msgid ""
|
||||
"`Python Packaging User Guide: Creating and using virtual environments "
|
||||
"<https://packaging.python.org/installing/#creating-virtual-environments>`__"
|
||||
msgstr ""
|
||||
"`Guide Utilisateur de l'Empaquetage Python : Créer et utiliser des "
|
||||
"environnements virtuels <https://packaging.python.org/installing/#creating-"
|
||||
"virtual-environments>`__"
|
||||
|
||||
#: ../Doc/library/venv.rst:33
|
||||
msgid ""
|
||||
"The ``pyvenv`` script has been deprecated as of Python 3.6 in favor of using "
|
||||
"``python3 -m venv`` to help prevent any potential confusion as to which "
|
||||
"Python interpreter a virtual environment will be based on."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:33
|
||||
#: ../Doc/library/venv.rst:39
|
||||
msgid "Creating virtual environments"
|
||||
msgstr "Création d'environnements virtuels"
|
||||
|
||||
|
@ -83,128 +92,119 @@ msgstr ""
|
|||
"environnements virtuels."
|
||||
|
||||
#: ../Doc/using/venv-create.inc:25
|
||||
msgid ""
|
||||
"`Python Packaging User Guide: Creating and using virtual environments "
|
||||
"<https://packaging.python.org/installing/#creating-virtual-environments>`__"
|
||||
msgstr ""
|
||||
"`Guide Utilisateur de l'Empaquetage Python : Créer et utiliser des "
|
||||
"environnements virtuels <https://packaging.python.org/installing/#creating-"
|
||||
"virtual-environments>`__"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:30
|
||||
msgid "On Windows, invoke the ``venv`` command as follows::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:34
|
||||
#: ../Doc/using/venv-create.inc:29
|
||||
msgid ""
|
||||
"Alternatively, if you configured the ``PATH`` and ``PATHEXT`` variables for "
|
||||
"your :ref:`Python installation <using-on-windows>`::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:39
|
||||
#: ../Doc/using/venv-create.inc:34
|
||||
msgid "The command, if run with ``-h``, will show the available options::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:69
|
||||
#: ../Doc/using/venv-create.inc:64
|
||||
msgid ""
|
||||
"Installs pip by default, added the ``--without-pip`` and ``--copies`` "
|
||||
"options"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:73
|
||||
#: ../Doc/using/venv-create.inc:68
|
||||
msgid ""
|
||||
"In earlier versions, if the target directory already existed, an error was "
|
||||
"raised, unless the ``--clear`` or ``--upgrade`` option was provided."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:77
|
||||
#: ../Doc/using/venv-create.inc:72
|
||||
msgid ""
|
||||
"The created ``pyvenv.cfg`` file also includes the ``include-system-site-"
|
||||
"packages`` key, set to ``true`` if ``venv`` is run with the ``--system-site-"
|
||||
"packages`` option, ``false`` otherwise."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:81
|
||||
#: ../Doc/using/venv-create.inc:76
|
||||
msgid ""
|
||||
"Unless the ``--without-pip`` option is given, :mod:`ensurepip` will be "
|
||||
"invoked to bootstrap ``pip`` into the virtual environment."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:84
|
||||
#: ../Doc/using/venv-create.inc:79
|
||||
msgid ""
|
||||
"Multiple paths can be given to ``venv``, in which case an identical virtual "
|
||||
"environment will be created, according to the given options, at each "
|
||||
"provided path."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:88
|
||||
#: ../Doc/using/venv-create.inc:83
|
||||
msgid ""
|
||||
"Once a virtual environment has been created, it can be \"activated\" using a "
|
||||
"script in the virtual environment's binary directory. The invocation of the "
|
||||
"script is platform-specific:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:93
|
||||
#: ../Doc/using/venv-create.inc:88
|
||||
msgid "Platform"
|
||||
msgstr "Plateforme"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:93
|
||||
#: ../Doc/using/venv-create.inc:88
|
||||
msgid "Shell"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:93
|
||||
#: ../Doc/using/venv-create.inc:88
|
||||
msgid "Command to activate virtual environment"
|
||||
msgstr "Commande pour activer l'environnement virtuel"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:95
|
||||
#: ../Doc/using/venv-create.inc:90
|
||||
msgid "Posix"
|
||||
msgstr "Posix"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:95
|
||||
#: ../Doc/using/venv-create.inc:90
|
||||
msgid "bash/zsh"
|
||||
msgstr "bash/zsh"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:95
|
||||
#: ../Doc/using/venv-create.inc:90
|
||||
msgid "$ source <venv>/bin/activate"
|
||||
msgstr "$ source <venv>/bin/activate"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:97
|
||||
#: ../Doc/using/venv-create.inc:92
|
||||
msgid "fish"
|
||||
msgstr "fish"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:97
|
||||
#: ../Doc/using/venv-create.inc:92
|
||||
msgid "$ . <venv>/bin/activate.fish"
|
||||
msgstr "$ . <venv>/bin/activate.fish"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:99
|
||||
#: ../Doc/using/venv-create.inc:94
|
||||
msgid "csh/tcsh"
|
||||
msgstr "csh/tcsh"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:99
|
||||
#: ../Doc/using/venv-create.inc:94
|
||||
msgid "$ source <venv>/bin/activate.csh"
|
||||
msgstr "$ source <venv>/bin/activate.csh"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:101
|
||||
#: ../Doc/using/venv-create.inc:96
|
||||
msgid "Windows"
|
||||
msgstr "Windows"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:101
|
||||
#: ../Doc/using/venv-create.inc:96
|
||||
msgid "cmd.exe"
|
||||
msgstr "cmd.exe"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:101
|
||||
#: ../Doc/using/venv-create.inc:96
|
||||
msgid "C:\\\\> <venv>\\\\Scripts\\\\activate.bat"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:103
|
||||
#: ../Doc/using/venv-create.inc:98
|
||||
msgid "PowerShell"
|
||||
msgstr "PowerShell"
|
||||
|
||||
#: ../Doc/using/venv-create.inc:103
|
||||
#: ../Doc/using/venv-create.inc:98
|
||||
msgid "PS C:\\\\> <venv>\\\\Scripts\\\\Activate.ps1"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:106
|
||||
#: ../Doc/using/venv-create.inc:101
|
||||
msgid ""
|
||||
"You don't specifically *need* to activate an environment; activation just "
|
||||
"prepends the virtual environment's binary directory to your path, so that "
|
||||
|
@ -214,7 +214,7 @@ msgid ""
|
|||
"activating it, and run with the virtual environment's Python automatically."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:113
|
||||
#: ../Doc/using/venv-create.inc:108
|
||||
msgid ""
|
||||
"You can deactivate a virtual environment by typing \"deactivate\" in your "
|
||||
"shell. The exact mechanism is platform-specific: for example, the Bash "
|
||||
|
@ -223,11 +223,11 @@ msgid ""
|
|||
"which are installed when the virtual environment is created."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/venv-create.inc:119
|
||||
#: ../Doc/using/venv-create.inc:114
|
||||
msgid "``fish`` and ``csh`` activation scripts."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:40
|
||||
#: ../Doc/library/venv.rst:46
|
||||
msgid ""
|
||||
"A virtual environment is a Python environment such that the Python "
|
||||
"interpreter, libraries and scripts installed into it are isolated from those "
|
||||
|
@ -236,13 +236,13 @@ msgid ""
|
|||
"your operating system."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:46
|
||||
#: ../Doc/library/venv.rst:52
|
||||
msgid ""
|
||||
"A virtual environment is a directory tree which contains Python executable "
|
||||
"files and other files which indicate that it is a virtual environment."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:49
|
||||
#: ../Doc/library/venv.rst:55
|
||||
msgid ""
|
||||
"Common installation tools such as ``Setuptools`` and ``pip`` work as "
|
||||
"expected with virtual environments. In other words, when a virtual "
|
||||
|
@ -250,7 +250,7 @@ msgid ""
|
|||
"environment without needing to be told to do so explicitly."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:54
|
||||
#: ../Doc/library/venv.rst:60
|
||||
msgid ""
|
||||
"When a virtual environment is active (i.e., the virtual environment's Python "
|
||||
"interpreter is running), the attributes :attr:`sys.prefix` and :attr:`sys."
|
||||
|
@ -263,7 +263,7 @@ msgid ""
|
|||
"environment Python installation)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:65
|
||||
#: ../Doc/library/venv.rst:71
|
||||
msgid ""
|
||||
"When a virtual environment is active, any options that change the "
|
||||
"installation path will be ignored from all distutils configuration files to "
|
||||
|
@ -271,7 +271,7 @@ msgid ""
|
|||
"environment."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:70
|
||||
#: ../Doc/library/venv.rst:76
|
||||
msgid ""
|
||||
"When working in a command shell, users can make a virtual environment active "
|
||||
"by running an ``activate`` script in the virtual environment's executables "
|
||||
|
@ -289,11 +289,11 @@ msgid ""
|
|||
"needing to be any reference to its virtual environment in ``PATH``."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:89
|
||||
#: ../Doc/library/venv.rst:95
|
||||
msgid "API"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:93
|
||||
#: ../Doc/library/venv.rst:99
|
||||
msgid ""
|
||||
"The high-level method described above makes use of a simple API which "
|
||||
"provides mechanisms for third-party virtual environment creators to "
|
||||
|
@ -301,72 +301,72 @@ msgid ""
|
|||
"`EnvBuilder` class."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:101
|
||||
#: ../Doc/library/venv.rst:107
|
||||
msgid ""
|
||||
"The :class:`EnvBuilder` class accepts the following keyword arguments on "
|
||||
"instantiation:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:104
|
||||
#: ../Doc/library/venv.rst:110
|
||||
msgid ""
|
||||
"``system_site_packages`` -- a Boolean value indicating that the system "
|
||||
"Python site-packages should be available to the environment (defaults to "
|
||||
"``False``)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:107
|
||||
#: ../Doc/library/venv.rst:113
|
||||
msgid ""
|
||||
"``clear`` -- a Boolean value which, if true, will delete the contents of any "
|
||||
"existing target directory, before creating the environment."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:110
|
||||
#: ../Doc/library/venv.rst:116
|
||||
msgid ""
|
||||
"``symlinks`` -- a Boolean value indicating whether to attempt to symlink the "
|
||||
"Python binary (and any necessary DLLs or other binaries, e.g. ``pythonw."
|
||||
"exe``), rather than copying."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:114
|
||||
#: ../Doc/library/venv.rst:120
|
||||
msgid ""
|
||||
"``upgrade`` -- a Boolean value which, if true, will upgrade an existing "
|
||||
"environment with the running Python - for use when that Python has been "
|
||||
"upgraded in-place (defaults to ``False``)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:118
|
||||
#: ../Doc/library/venv.rst:124
|
||||
msgid ""
|
||||
"``with_pip`` -- a Boolean value which, if true, ensures pip is installed in "
|
||||
"the virtual environment. This uses :mod:`ensurepip` with the ``--default-"
|
||||
"pip`` option."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:122
|
||||
#: ../Doc/library/venv.rst:128
|
||||
msgid ""
|
||||
"``prompt`` -- a String to be used after virtual environment is activated "
|
||||
"(defaults to ``None`` which means directory name of the environment would be "
|
||||
"used)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:126 ../Doc/library/venv.rst:234
|
||||
#: ../Doc/library/venv.rst:132 ../Doc/library/venv.rst:240
|
||||
msgid "Added the ``with_pip`` parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:129
|
||||
#: ../Doc/library/venv.rst:135
|
||||
msgid "Added the ``prompt`` parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:133
|
||||
#: ../Doc/library/venv.rst:139
|
||||
msgid ""
|
||||
"Creators of third-party virtual environment tools will be free to use the "
|
||||
"provided ``EnvBuilder`` class as a base class."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:136
|
||||
#: ../Doc/library/venv.rst:142
|
||||
msgid "The returned env-builder is an object which has a method, ``create``:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:140
|
||||
#: ../Doc/library/venv.rst:146
|
||||
msgid ""
|
||||
"This method takes as required argument the path (absolute or relative to the "
|
||||
"current directory) of the target directory which is to contain the virtual "
|
||||
|
@ -374,20 +374,20 @@ msgid ""
|
|||
"the specified directory, or raise an appropriate exception."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:146
|
||||
#: ../Doc/library/venv.rst:152
|
||||
msgid ""
|
||||
"The ``create`` method of the ``EnvBuilder`` class illustrates the hooks "
|
||||
"available for subclass customization::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:161
|
||||
#: ../Doc/library/venv.rst:167
|
||||
msgid ""
|
||||
"Each of the methods :meth:`ensure_directories`, :meth:"
|
||||
"`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` and :"
|
||||
"meth:`post_setup` can be overridden."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:167
|
||||
#: ../Doc/library/venv.rst:173
|
||||
msgid ""
|
||||
"Creates the environment directory and all necessary directories, and returns "
|
||||
"a context object. This is just a holder for attributes (such as paths), for "
|
||||
|
@ -396,11 +396,11 @@ msgid ""
|
|||
"an existing environment directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:175
|
||||
#: ../Doc/library/venv.rst:181
|
||||
msgid "Creates the ``pyvenv.cfg`` configuration file in the environment."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:179
|
||||
#: ../Doc/library/venv.rst:185
|
||||
msgid ""
|
||||
"Creates a copy of the Python executable (and, under Windows, DLLs) in the "
|
||||
"environment. On a POSIX system, if a specific executable ``python3.x`` was "
|
||||
|
@ -408,27 +408,27 @@ msgid ""
|
|||
"that executable, unless files with those names already exist."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:187
|
||||
#: ../Doc/library/venv.rst:193
|
||||
msgid ""
|
||||
"Installs activation scripts appropriate to the platform into the virtual "
|
||||
"environment."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:192
|
||||
#: ../Doc/library/venv.rst:198
|
||||
msgid ""
|
||||
"A placeholder method which can be overridden in third party implementations "
|
||||
"to pre-install packages in the virtual environment or perform other post-"
|
||||
"creation steps."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:196
|
||||
#: ../Doc/library/venv.rst:202
|
||||
msgid ""
|
||||
"In addition, :class:`EnvBuilder` provides this utility method that can be "
|
||||
"called from :meth:`setup_scripts` or :meth:`post_setup` in subclasses to "
|
||||
"assist in installing custom scripts into the virtual environment."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:202
|
||||
#: ../Doc/library/venv.rst:208
|
||||
msgid ""
|
||||
"*path* is the path to a directory that should contain subdirectories \"common"
|
||||
"\", \"posix\", \"nt\", each containing scripts destined for the bin "
|
||||
|
@ -437,64 +437,64 @@ msgid ""
|
|||
"placeholders:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:208
|
||||
#: ../Doc/library/venv.rst:214
|
||||
msgid ""
|
||||
"``__VENV_DIR__`` is replaced with the absolute path of the environment "
|
||||
"directory."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:211
|
||||
#: ../Doc/library/venv.rst:217
|
||||
msgid ""
|
||||
"``__VENV_NAME__`` is replaced with the environment name (final path segment "
|
||||
"of environment directory)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:214
|
||||
#: ../Doc/library/venv.rst:220
|
||||
msgid ""
|
||||
"``__VENV_PROMPT__`` is replaced with the prompt (the environment name "
|
||||
"surrounded by parentheses and with a following space)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:217
|
||||
#: ../Doc/library/venv.rst:223
|
||||
msgid ""
|
||||
"``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either "
|
||||
"``bin`` or ``Scripts``)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:220
|
||||
#: ../Doc/library/venv.rst:226
|
||||
msgid ""
|
||||
"``__VENV_PYTHON__`` is replaced with the absolute path of the environment's "
|
||||
"executable."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:223
|
||||
#: ../Doc/library/venv.rst:229
|
||||
msgid ""
|
||||
"The directories are allowed to exist (for when an existing environment is "
|
||||
"being upgraded)."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:226
|
||||
#: ../Doc/library/venv.rst:232
|
||||
msgid "There is also a module-level convenience function:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:231
|
||||
#: ../Doc/library/venv.rst:237
|
||||
msgid ""
|
||||
"Create an :class:`EnvBuilder` with the given keyword arguments, and call "
|
||||
"its :meth:`~EnvBuilder.create` method with the *env_dir* argument."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:238
|
||||
#: ../Doc/library/venv.rst:244
|
||||
msgid "An example of extending ``EnvBuilder``"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:240
|
||||
#: ../Doc/library/venv.rst:246
|
||||
msgid ""
|
||||
"The following script shows how to extend :class:`EnvBuilder` by implementing "
|
||||
"a subclass which installs setuptools and pip into a created virtual "
|
||||
"environment::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/library/venv.rst:459
|
||||
#: ../Doc/library/venv.rst:465
|
||||
msgid ""
|
||||
"This script is also available for download `online <https://gist.github.com/"
|
||||
"vsajip/4673395>`_."
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
|
||||
"PO-Revision-Date: 2018-07-09 19:07+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 19:11+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -256,7 +256,7 @@ msgstr ""
|
|||
#: ../Doc/reference/compound_stmts.rst:205
|
||||
msgid ""
|
||||
"There is a subtlety when the sequence is being modified by the loop (this "
|
||||
"can only occur for mutable sequences, i.e. lists). An internal counter is "
|
||||
"can only occur for mutable sequences, e.g. lists). An internal counter is "
|
||||
"used to keep track of which item is used next, and this is incremented on "
|
||||
"each iteration. When this counter has reached the length of the sequence "
|
||||
"the loop terminates. This means that if the suite deletes the current (or a "
|
||||
|
@ -606,7 +606,7 @@ msgstr ""
|
|||
"plusieurs instructions :keyword:`with` étaient imbriquées ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:431
|
||||
#: ../Doc/reference/compound_stmts.rst:635
|
||||
#: ../Doc/reference/compound_stmts.rst:636
|
||||
msgid "is equivalent to ::"
|
||||
msgstr "est équivalente à : ::"
|
||||
|
||||
|
@ -638,7 +638,7 @@ msgstr ""
|
|||
"Une définition de fonction définit un objet fonction allogène (voir la "
|
||||
"section :ref:`types`) :"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:483
|
||||
#: ../Doc/reference/compound_stmts.rst:484
|
||||
msgid ""
|
||||
"A function definition is an executable statement. Its execution binds the "
|
||||
"function name in the current local namespace to a function object (a wrapper "
|
||||
|
@ -653,7 +653,7 @@ msgstr ""
|
|||
"globaux courant comme espace des noms globaux à utiliser lorsque la fonction "
|
||||
"est appelée."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:489
|
||||
#: ../Doc/reference/compound_stmts.rst:490
|
||||
msgid ""
|
||||
"The function definition does not execute the function body; this gets "
|
||||
"executed only when the function is called. [#]_"
|
||||
|
@ -661,7 +661,7 @@ msgstr ""
|
|||
"La définition de la fonction n'exécute pas le corps de la fonction ; elle "
|
||||
"n'est exécutée que lorsque la fonction est appelée [#]_."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:495
|
||||
#: ../Doc/reference/compound_stmts.rst:496
|
||||
msgid ""
|
||||
"A function definition may be wrapped by one or more :term:`decorator` "
|
||||
"expressions. Decorator expressions are evaluated when the function is "
|
||||
|
@ -680,19 +680,19 @@ msgstr ""
|
|||
"décorateurs, ils sont appliqués par imbrication ; par exemple, le code "
|
||||
"suivant ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:506
|
||||
#: ../Doc/reference/compound_stmts.rst:662
|
||||
#: ../Doc/reference/compound_stmts.rst:507
|
||||
#: ../Doc/reference/compound_stmts.rst:663
|
||||
msgid "is roughly equivalent to ::"
|
||||
msgstr "est à peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:511
|
||||
#: ../Doc/reference/compound_stmts.rst:512
|
||||
msgid ""
|
||||
"except that the original function is not temporarily bound to the name "
|
||||
"``func``."
|
||||
msgstr ""
|
||||
"sauf que la fonction originale n'est pas temporairement liée au nom ``func``."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:517
|
||||
#: ../Doc/reference/compound_stmts.rst:518
|
||||
msgid ""
|
||||
"When one or more :term:`parameters <parameter>` have the form *parameter* "
|
||||
"``=`` *expression*, the function is said to have \"default parameter values."
|
||||
|
@ -711,7 +711,7 @@ msgstr ""
|
|||
"une valeur par défaut --- ceci est une restriction syntaxique qui n'est pas "
|
||||
"exprimée dans la grammaire."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:525
|
||||
#: ../Doc/reference/compound_stmts.rst:526
|
||||
msgid ""
|
||||
"**Default parameter values are evaluated from left to right when the "
|
||||
"function definition is executed.** This means that the expression is "
|
||||
|
@ -734,7 +734,7 @@ msgstr ""
|
|||
"d'éviter cet écueil est d'utiliser ``None`` par défaut et de tester "
|
||||
"explicitement la valeur dans le corps de la fonction. Par exemple ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:545
|
||||
#: ../Doc/reference/compound_stmts.rst:546
|
||||
msgid ""
|
||||
"Function call semantics are described in more detail in section :ref:"
|
||||
"`calls`. A function call always assigns values to all parameters mentioned "
|
||||
|
@ -760,7 +760,7 @@ msgstr ""
|
|||
"ou \"``*identifier``\" sont forcément des paramètres par mot-clé et ne "
|
||||
"peuvent être passés qu'en utilisant des arguments par mot-clé."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:558
|
||||
#: ../Doc/reference/compound_stmts.rst:559
|
||||
msgid ""
|
||||
"Parameters may have annotations of the form \"``: expression``\" following "
|
||||
"the parameter name. Any parameter may have an annotation even those of the "
|
||||
|
@ -795,7 +795,7 @@ msgstr ""
|
|||
"dans un ordre différent de celui dans lequel elles apparaissent dans le code "
|
||||
"source."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:573
|
||||
#: ../Doc/reference/compound_stmts.rst:574
|
||||
msgid ""
|
||||
"It is also possible to create anonymous functions (functions not bound to a "
|
||||
"name), for immediate use in expressions. This uses lambda expressions, "
|
||||
|
@ -816,7 +816,7 @@ msgstr ""
|
|||
"en fait plus puissante puisqu'elle permet l'exécution de plusieurs "
|
||||
"instructions et les annotations."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:581
|
||||
#: ../Doc/reference/compound_stmts.rst:582
|
||||
msgid ""
|
||||
"**Programmer's note:** Functions are first-class objects. A \"``def``\" "
|
||||
"statement executed inside a function definition defines a local function "
|
||||
|
@ -831,29 +831,29 @@ msgstr ""
|
|||
"ont accès aux variables locales de la fonction contenant le \"``def``\". "
|
||||
"Voir la section :ref:`naming` pour plus de détails."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:590
|
||||
#: ../Doc/reference/compound_stmts.rst:591
|
||||
msgid ":pep:`3107` - Function Annotations"
|
||||
msgstr ":pep:`3107` -- Annotations de fonctions"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:590
|
||||
#: ../Doc/reference/compound_stmts.rst:591
|
||||
msgid "The original specification for function annotations."
|
||||
msgstr "La spécification originale pour les annotations de fonctions."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:593
|
||||
#: ../Doc/reference/compound_stmts.rst:594
|
||||
msgid ":pep:`484` - Type Hints"
|
||||
msgstr ":pep:`484` -- Indications de types"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:593
|
||||
#: ../Doc/reference/compound_stmts.rst:594
|
||||
msgid "Definition of a standard meaning for annotations: type hints."
|
||||
msgstr ""
|
||||
"Définition de la signification standard pour les annotations : indications "
|
||||
"de types."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:597
|
||||
#: ../Doc/reference/compound_stmts.rst:598
|
||||
msgid ":pep:`526` - Syntax for Variable Annotations"
|
||||
msgstr ":pep:`526` -- Syntaxe pour les annotations de variables"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:596
|
||||
#: ../Doc/reference/compound_stmts.rst:597
|
||||
msgid ""
|
||||
"Ability to type hint variable declarations, including class variables and "
|
||||
"instance variables"
|
||||
|
@ -861,11 +861,11 @@ msgstr ""
|
|||
"Capacité d'indiquer des types pour les déclarations de variables, y compris "
|
||||
"les variables de classes et les variables d'instances."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:600
|
||||
#: ../Doc/reference/compound_stmts.rst:601
|
||||
msgid ":pep:`563` - Postponed Evaluation of Annotations"
|
||||
msgstr ":pep:`563` -- Évaluation différée des annotations"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:600
|
||||
#: ../Doc/reference/compound_stmts.rst:601
|
||||
msgid ""
|
||||
"Support for forward references within annotations by preserving annotations "
|
||||
"in a string form at runtime instead of eager evaluation."
|
||||
|
@ -874,17 +874,17 @@ msgstr ""
|
|||
"préservant les annotations sous forme de chaînes à l'exécution au lieu d'une "
|
||||
"évaluation directe."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:607
|
||||
#: ../Doc/reference/compound_stmts.rst:608
|
||||
msgid "Class definitions"
|
||||
msgstr "Définition de classes"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:619
|
||||
#: ../Doc/reference/compound_stmts.rst:620
|
||||
msgid "A class definition defines a class object (see section :ref:`types`):"
|
||||
msgstr ""
|
||||
"Une définition de classe définit un objet classe (voir la section :ref:"
|
||||
"`types`) :"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:626
|
||||
#: ../Doc/reference/compound_stmts.rst:627
|
||||
msgid ""
|
||||
"A class definition is an executable statement. The inheritance list usually "
|
||||
"gives a list of base classes (see :ref:`metaclasses` for more advanced "
|
||||
|
@ -900,7 +900,7 @@ msgstr ""
|
|||
"Les classes sans liste d'héritage héritent, par défaut, de la classe de "
|
||||
"base :class:`object` ; d'où ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:640
|
||||
#: ../Doc/reference/compound_stmts.rst:641
|
||||
msgid ""
|
||||
"The class's suite is then executed in a new execution frame (see :ref:"
|
||||
"`naming`), using a newly created local namespace and the original global "
|
||||
|
@ -921,7 +921,7 @@ msgstr ""
|
|||
"sauvegardé comme dictionnaire des attributs. Le nom de classe est lié à "
|
||||
"l'objet classe dans l'espace de noms local original."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:649
|
||||
#: ../Doc/reference/compound_stmts.rst:650
|
||||
msgid ""
|
||||
"The order in which attributes are defined in the class body is preserved in "
|
||||
"the new class's ``__dict__``. Note that this is reliable only right after "
|
||||
|
@ -933,7 +933,7 @@ msgstr ""
|
|||
"n'est fiable que juste après la création de la classe et seulement pour les "
|
||||
"classes qui ont été définies en utilisant la syntaxe de définition."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:654
|
||||
#: ../Doc/reference/compound_stmts.rst:655
|
||||
msgid ""
|
||||
"Class creation can be customized heavily using :ref:`metaclasses "
|
||||
"<metaclasses>`."
|
||||
|
@ -941,13 +941,13 @@ msgstr ""
|
|||
"La création de classes peut être fortement personnalisée en utilisant les :"
|
||||
"ref:`métaclasses <metaclasses>`."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:656
|
||||
#: ../Doc/reference/compound_stmts.rst:657
|
||||
msgid "Classes can also be decorated: just like when decorating functions, ::"
|
||||
msgstr ""
|
||||
"Les classes peuvent aussi être décorées : comme pour les décorateurs de "
|
||||
"fonctions ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:667
|
||||
#: ../Doc/reference/compound_stmts.rst:668
|
||||
msgid ""
|
||||
"The evaluation rules for the decorator expressions are the same as for "
|
||||
"function decorators. The result is then bound to the class name."
|
||||
|
@ -956,7 +956,7 @@ msgstr ""
|
|||
"que pour les décorateurs de fonctions. Le résultat est alors lié au nom de "
|
||||
"la classe."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:670
|
||||
#: ../Doc/reference/compound_stmts.rst:671
|
||||
msgid ""
|
||||
"**Programmer's note:** Variables defined in the class definition are class "
|
||||
"attributes; they are shared by instances. Instance attributes can be set in "
|
||||
|
@ -980,20 +980,20 @@ msgstr ""
|
|||
"peuvent être utilisés pour créer des variables d'instances avec des détails "
|
||||
"d'implémentation différents."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:682
|
||||
#: ../Doc/reference/compound_stmts.rst:683
|
||||
msgid ":pep:`3115` - Metaclasses in Python 3 :pep:`3129` - Class Decorators"
|
||||
msgstr ""
|
||||
":pep:`3115` -- Métaclasses en Python 3 :pep:`3129` -- Décorateurs de classes"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:689
|
||||
#: ../Doc/reference/compound_stmts.rst:690
|
||||
msgid "Coroutines"
|
||||
msgstr "Coroutines"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:697
|
||||
#: ../Doc/reference/compound_stmts.rst:698
|
||||
msgid "Coroutine function definition"
|
||||
msgstr "Définition de fonctions coroutines"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:706
|
||||
#: ../Doc/reference/compound_stmts.rst:708
|
||||
msgid ""
|
||||
"Execution of Python coroutines can be suspended and resumed at many points "
|
||||
"(see :term:`coroutine`). In the body of a coroutine, any ``await`` and "
|
||||
|
@ -1007,7 +1007,7 @@ msgstr ""
|
|||
"expressions :keyword:`await`, :keyword:`async for` et :keyword:`async with` "
|
||||
"ne peuvent être utilisées que dans les corps de coroutines."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:712
|
||||
#: ../Doc/reference/compound_stmts.rst:714
|
||||
msgid ""
|
||||
"Functions defined with ``async def`` syntax are always coroutine functions, "
|
||||
"even if they do not contain ``await`` or ``async`` keywords."
|
||||
|
@ -1016,7 +1016,7 @@ msgstr ""
|
|||
"fonctions coroutines, même si elles ne contiennent aucun mot-clé ``await`` "
|
||||
"ou ``async``."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:715
|
||||
#: ../Doc/reference/compound_stmts.rst:717
|
||||
msgid ""
|
||||
"It is a :exc:`SyntaxError` to use ``yield from`` expressions in ``async "
|
||||
"def`` coroutines."
|
||||
|
@ -1024,15 +1024,15 @@ msgstr ""
|
|||
"C'est une :exc:`SyntaxError` d'utiliser une expression ``yield from`` dans "
|
||||
"une coroutine ``async def``."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:718
|
||||
#: ../Doc/reference/compound_stmts.rst:720
|
||||
msgid "An example of a coroutine function::"
|
||||
msgstr "Un exemple de fonction coroutine ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:729
|
||||
#: ../Doc/reference/compound_stmts.rst:731
|
||||
msgid "The :keyword:`async for` statement"
|
||||
msgstr "L'instruction :keyword:`async for`"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:734
|
||||
#: ../Doc/reference/compound_stmts.rst:736
|
||||
msgid ""
|
||||
"An :term:`asynchronous iterable` is able to call asynchronous code in its "
|
||||
"*iter* implementation, and :term:`asynchronous iterator` can call "
|
||||
|
@ -1043,7 +1043,7 @@ msgstr ""
|
|||
"`itérateur asynchrone <asynchronous iterator>` peut appeler du code "
|
||||
"asynchrone dans sa méthode *next*."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:738
|
||||
#: ../Doc/reference/compound_stmts.rst:740
|
||||
msgid ""
|
||||
"The ``async for`` statement allows convenient iteration over asynchronous "
|
||||
"iterators."
|
||||
|
@ -1051,22 +1051,22 @@ msgstr ""
|
|||
"L'instruction ``async for`` permet d'itérer facilement sur des itérateurs "
|
||||
"asynchrones."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:741
|
||||
#: ../Doc/reference/compound_stmts.rst:781
|
||||
#: ../Doc/reference/compound_stmts.rst:743
|
||||
#: ../Doc/reference/compound_stmts.rst:783
|
||||
msgid "The following code::"
|
||||
msgstr "Le code suivant ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:748
|
||||
#: ../Doc/reference/compound_stmts.rst:786
|
||||
#: ../Doc/reference/compound_stmts.rst:750
|
||||
#: ../Doc/reference/compound_stmts.rst:788
|
||||
msgid "Is semantically equivalent to::"
|
||||
msgstr "est sémantiquement équivalent à ::"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:763
|
||||
#: ../Doc/reference/compound_stmts.rst:765
|
||||
msgid "See also :meth:`__aiter__` and :meth:`__anext__` for details."
|
||||
msgstr ""
|
||||
"Voir aussi :meth:`__aiter__` et :meth:`__anext__` pour plus de détails."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:765
|
||||
#: ../Doc/reference/compound_stmts.rst:767
|
||||
msgid ""
|
||||
"It is a :exc:`SyntaxError` to use ``async for`` statement outside of an :"
|
||||
"keyword:`async def` function."
|
||||
|
@ -1074,11 +1074,11 @@ msgstr ""
|
|||
"C'est une :exc:`SyntaxError` d'utiliser une instruction ``async for`` en "
|
||||
"dehors d'une fonction :keyword:`async def`."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:773
|
||||
#: ../Doc/reference/compound_stmts.rst:775
|
||||
msgid "The :keyword:`async with` statement"
|
||||
msgstr "L'instruction :keyword:`async with`"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:778
|
||||
#: ../Doc/reference/compound_stmts.rst:780
|
||||
msgid ""
|
||||
"An :term:`asynchronous context manager` is a :term:`context manager` that is "
|
||||
"able to suspend execution in its *enter* and *exit* methods."
|
||||
|
@ -1087,12 +1087,12 @@ msgstr ""
|
|||
"manager>` est un :term:`gestionnaire de contexte <context manager>` qui est "
|
||||
"capable de suspendre l'exécution dans ses méthodes *enter* et *exit*."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:801
|
||||
#: ../Doc/reference/compound_stmts.rst:803
|
||||
msgid "See also :meth:`__aenter__` and :meth:`__aexit__` for details."
|
||||
msgstr ""
|
||||
"Voir aussi :meth:`__aenter__` et :meth:`__aexit__` pour plus de détails."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:803
|
||||
#: ../Doc/reference/compound_stmts.rst:805
|
||||
msgid ""
|
||||
"It is a :exc:`SyntaxError` to use ``async with`` statement outside of an :"
|
||||
"keyword:`async def` function."
|
||||
|
@ -1100,15 +1100,15 @@ msgstr ""
|
|||
"C'est une :exc:`SyntaxError` d'utiliser l'instruction ``async with`` en "
|
||||
"dehors d'une fonction :keyword:`async def`."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:808
|
||||
#: ../Doc/reference/compound_stmts.rst:810
|
||||
msgid ":pep:`492` - Coroutines with async and await syntax"
|
||||
msgstr ":pep:`492` -- Coroutines avec les syntaxes *async* et *await*"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:812
|
||||
#: ../Doc/reference/compound_stmts.rst:814
|
||||
msgid "Footnotes"
|
||||
msgstr "Notes"
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:813
|
||||
#: ../Doc/reference/compound_stmts.rst:815
|
||||
msgid ""
|
||||
"The exception is propagated to the invocation stack unless there is a :"
|
||||
"keyword:`finally` clause which happens to raise another exception. That new "
|
||||
|
@ -1119,7 +1119,7 @@ msgstr ""
|
|||
"perte de l'ancienne exception. Cette nouvelle exception entraîne la perte "
|
||||
"pure et simple de l'ancienne."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:817
|
||||
#: ../Doc/reference/compound_stmts.rst:819
|
||||
msgid ""
|
||||
"Currently, control \"flows off the end\" except in the case of an exception "
|
||||
"or the execution of a :keyword:`return`, :keyword:`continue`, or :keyword:"
|
||||
|
@ -1129,7 +1129,7 @@ msgstr ""
|
|||
"exception, de l'exécution de l'instruction :keyword:`return`, :keyword:"
|
||||
"`continue` ou :keyword:`break`."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:821
|
||||
#: ../Doc/reference/compound_stmts.rst:823
|
||||
msgid ""
|
||||
"A string literal appearing as the first statement in the function body is "
|
||||
"transformed into the function's ``__doc__`` attribute and therefore the "
|
||||
|
@ -1139,7 +1139,7 @@ msgstr ""
|
|||
"de la fonction est transformée en attribut ``__doc__`` de la fonction et "
|
||||
"donc en :term:`docstring` de la fonction."
|
||||
|
||||
#: ../Doc/reference/compound_stmts.rst:825
|
||||
#: ../Doc/reference/compound_stmts.rst:827
|
||||
msgid ""
|
||||
"A string literal appearing as the first statement in the class body is "
|
||||
"transformed into the namespace's ``__doc__`` item and therefore the class's :"
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-07-03 11:41+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -948,7 +948,7 @@ msgstr ""
|
|||
msgid "The :keyword:`import` statement"
|
||||
msgstr "L'instruction :keyword:`import`"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:721
|
||||
#: ../Doc/reference/simple_stmts.rst:720
|
||||
msgid ""
|
||||
"The basic import statement (no :keyword:`from` clause) is executed in two "
|
||||
"steps:"
|
||||
|
@ -956,11 +956,11 @@ msgstr ""
|
|||
"L'instruction de base *import* (sans clause :keyword:`from`) est exécutée en "
|
||||
"deux étapes :"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:724
|
||||
#: ../Doc/reference/simple_stmts.rst:723
|
||||
msgid "find a module, loading and initializing it if necessary"
|
||||
msgstr "trouve un module, le charge et l'initialise si nécessaire"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:725
|
||||
#: ../Doc/reference/simple_stmts.rst:724
|
||||
msgid ""
|
||||
"define a name or names in the local namespace for the scope where the :"
|
||||
"keyword:`import` statement occurs."
|
||||
|
@ -968,7 +968,7 @@ msgstr ""
|
|||
"définit un ou des noms (*name* dans la grammaire ci-dessus) dans l'espace "
|
||||
"des noms locaux de la portée où l'instruction :keyword:`import` apparaît."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:728
|
||||
#: ../Doc/reference/simple_stmts.rst:727
|
||||
msgid ""
|
||||
"When the statement contains multiple clauses (separated by commas) the two "
|
||||
"steps are carried out separately for each clause, just as though the clauses "
|
||||
|
@ -978,7 +978,7 @@ msgstr ""
|
|||
"les deux étapes sont menées séparément pour chaque clause, comme si les "
|
||||
"clauses étaient séparées dans des instructions d'importations individuelles."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:733
|
||||
#: ../Doc/reference/simple_stmts.rst:732
|
||||
msgid ""
|
||||
"The details of the first step, finding and loading modules are described in "
|
||||
"greater detail in the section on the :ref:`import system <importsystem>`, "
|
||||
|
@ -997,7 +997,7 @@ msgstr ""
|
|||
"n'a pas été trouvé, soit qu'une erreur s'est produite lors de "
|
||||
"l'initialisation du module, ce qui comprend l'exécution du code du module."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:741
|
||||
#: ../Doc/reference/simple_stmts.rst:740
|
||||
msgid ""
|
||||
"If the requested module is retrieved successfully, it will be made available "
|
||||
"in the local namespace in one of three ways:"
|
||||
|
@ -1005,7 +1005,7 @@ msgstr ""
|
|||
"Si le module requis est bien récupéré, il est mis à disposition de l'espace "
|
||||
"de noms locaux suivant l'une des trois façons suivantes :"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:746
|
||||
#: ../Doc/reference/simple_stmts.rst:745
|
||||
msgid ""
|
||||
"If the module name is followed by :keyword:`as`, then the name following :"
|
||||
"keyword:`as` is bound directly to the imported module."
|
||||
|
@ -1013,7 +1013,7 @@ msgstr ""
|
|||
"Si le nom du module est suivi par :keyword:`as`, alors le nom suivant :"
|
||||
"keyword:`as` est directement lié au module importé."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:748
|
||||
#: ../Doc/reference/simple_stmts.rst:747
|
||||
msgid ""
|
||||
"If no other name is specified, and the module being imported is a top level "
|
||||
"module, the module's name is bound in the local namespace as a reference to "
|
||||
|
@ -1023,7 +1023,7 @@ msgstr ""
|
|||
"est un module de niveau le plus haut, le nom du module est lié dans l'espace "
|
||||
"des noms locaux au module importé ;"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:751
|
||||
#: ../Doc/reference/simple_stmts.rst:750
|
||||
msgid ""
|
||||
"If the module being imported is *not* a top level module, then the name of "
|
||||
"the top level package that contains the module is bound in the local "
|
||||
|
@ -1036,11 +1036,11 @@ msgstr ""
|
|||
"pouvez accéder au module importé en utilisant son nom pleinement qualifié et "
|
||||
"non directement."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:762
|
||||
#: ../Doc/reference/simple_stmts.rst:761
|
||||
msgid "The :keyword:`from` form uses a slightly more complex process:"
|
||||
msgstr "La forme :keyword:`from` utilise un processus un peu plus complexe :"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:764
|
||||
#: ../Doc/reference/simple_stmts.rst:763
|
||||
msgid ""
|
||||
"find the module specified in the :keyword:`from` clause, loading and "
|
||||
"initializing it if necessary;"
|
||||
|
@ -1048,15 +1048,15 @@ msgstr ""
|
|||
"trouve le module spécifié dans la clause :keyword:`from`, le charge et "
|
||||
"l'initialise si nécessaire ;"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:766
|
||||
#: ../Doc/reference/simple_stmts.rst:765
|
||||
msgid "for each of the identifiers specified in the :keyword:`import` clauses:"
|
||||
msgstr "pour chaque nom spécifié dans les clauses :keyword:`import` :"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:768
|
||||
#: ../Doc/reference/simple_stmts.rst:767
|
||||
msgid "check if the imported module has an attribute by that name"
|
||||
msgstr "vérifie si le module importé possède un attribut avec ce nom ;"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:769
|
||||
#: ../Doc/reference/simple_stmts.rst:768
|
||||
msgid ""
|
||||
"if not, attempt to import a submodule with that name and then check the "
|
||||
"imported module again for that attribute"
|
||||
|
@ -1064,11 +1064,11 @@ msgstr ""
|
|||
"si non, essaie d'importer un sous-module avec ce nom puis vérifie si le "
|
||||
"module importé possède lui-même cet attribut ;"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:771
|
||||
#: ../Doc/reference/simple_stmts.rst:770
|
||||
msgid "if the attribute is not found, :exc:`ImportError` is raised."
|
||||
msgstr "si l'attribut n'est pas trouvé, une :exc:`ImportError` est levée."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:772
|
||||
#: ../Doc/reference/simple_stmts.rst:771
|
||||
msgid ""
|
||||
"otherwise, a reference to that value is stored in the local namespace, using "
|
||||
"the name in the :keyword:`as` clause if it is present, otherwise using the "
|
||||
|
@ -1078,11 +1078,11 @@ msgstr ""
|
|||
"locaux, en utilisant le nom de la clause :keyword:`as` si elle est présente, "
|
||||
"sinon en utilisant le nom de l'attribut."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:776
|
||||
#: ../Doc/reference/simple_stmts.rst:775
|
||||
msgid "Examples::"
|
||||
msgstr "Exemples : ::"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:784
|
||||
#: ../Doc/reference/simple_stmts.rst:783
|
||||
msgid ""
|
||||
"If the list of identifiers is replaced by a star (``'*'``), all public names "
|
||||
"defined in the module are bound in the local namespace for the scope where "
|
||||
|
@ -1092,7 +1092,7 @@ msgstr ""
|
|||
"publics définis dans le module sont liés dans l'espace des noms locaux de la "
|
||||
"portée où apparaît l'instruction :keyword:`import`."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:790
|
||||
#: ../Doc/reference/simple_stmts.rst:789
|
||||
msgid ""
|
||||
"The *public names* defined by a module are determined by checking the "
|
||||
"module's namespace for a variable named ``__all__``; if defined, it must be "
|
||||
|
@ -1116,7 +1116,7 @@ msgstr ""
|
|||
"modules de bibliothèques qui ont été importés et utilisé à l'intérieur du "
|
||||
"module)."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:800
|
||||
#: ../Doc/reference/simple_stmts.rst:799
|
||||
msgid ""
|
||||
"The wild card form of import --- ``from module import *`` --- is only "
|
||||
"allowed at the module level. Attempting to use it in class or function "
|
||||
|
@ -1126,7 +1126,7 @@ msgstr ""
|
|||
"autorisée seulement au niveau du module. Si vous essayez de l'utiliser dans "
|
||||
"une définition de classe ou de fonction, cela lève une :exc:`SyntaxError`."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:807
|
||||
#: ../Doc/reference/simple_stmts.rst:806
|
||||
msgid ""
|
||||
"When specifying what module to import you do not have to specify the "
|
||||
"absolute name of the module. When a module or package is contained within "
|
||||
|
@ -1158,7 +1158,7 @@ msgstr ""
|
|||
"finalement ``pkg.souspkg2.mod``. La spécification des importations relatives "
|
||||
"se situe dans la :pep:`328`."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:820
|
||||
#: ../Doc/reference/simple_stmts.rst:819
|
||||
msgid ""
|
||||
":func:`importlib.import_module` is provided to support applications that "
|
||||
"determine dynamically the modules to be loaded."
|
||||
|
@ -1166,11 +1166,11 @@ msgstr ""
|
|||
":func:`importlib.import_module` est fournie pour gérer les applications qui "
|
||||
"déterminent dynamiquement les modules à charger."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:827
|
||||
#: ../Doc/reference/simple_stmts.rst:826
|
||||
msgid "Future statements"
|
||||
msgstr "L'instruction future"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:831
|
||||
#: ../Doc/reference/simple_stmts.rst:830
|
||||
msgid ""
|
||||
"A :dfn:`future statement` is a directive to the compiler that a particular "
|
||||
"module should be compiled using syntax or semantics that will be available "
|
||||
|
@ -1181,7 +1181,7 @@ msgstr ""
|
|||
"sémantique qui sera disponible dans une future version de Python où cette "
|
||||
"fonctionnalité est devenue un standard."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:835
|
||||
#: ../Doc/reference/simple_stmts.rst:834
|
||||
msgid ""
|
||||
"The future statement is intended to ease migration to future versions of "
|
||||
"Python that introduce incompatible changes to the language. It allows use "
|
||||
|
@ -1194,7 +1194,7 @@ msgstr ""
|
|||
"module avant qu'une version n'officialise cette fonctionnalité comme un "
|
||||
"standard."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:848
|
||||
#: ../Doc/reference/simple_stmts.rst:846
|
||||
msgid ""
|
||||
"A future statement must appear near the top of the module. The only lines "
|
||||
"that can appear before a future statement are:"
|
||||
|
@ -1202,23 +1202,23 @@ msgstr ""
|
|||
"Une instruction *future* doit apparaître en haut du module. Les seules "
|
||||
"lignes autorisées avant une instruction *future* sont :"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:851
|
||||
#: ../Doc/reference/simple_stmts.rst:849
|
||||
msgid "the module docstring (if any),"
|
||||
msgstr "la chaîne de documentation du module (si elle existe),"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:852
|
||||
#: ../Doc/reference/simple_stmts.rst:850
|
||||
msgid "comments,"
|
||||
msgstr "des commentaires,"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:853
|
||||
#: ../Doc/reference/simple_stmts.rst:851
|
||||
msgid "blank lines, and"
|
||||
msgstr "des lignes vides et"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:854
|
||||
#: ../Doc/reference/simple_stmts.rst:852
|
||||
msgid "other future statements."
|
||||
msgstr "d'autres instructions *future*."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:856
|
||||
#: ../Doc/reference/simple_stmts.rst:854
|
||||
msgid ""
|
||||
"The only feature in Python 3.7 that requires using the future statement is "
|
||||
"``annotations``."
|
||||
|
@ -1226,7 +1226,7 @@ msgstr ""
|
|||
"La seule fonctionnalité dans Python 3.7 qui nécessite l'utilisation de "
|
||||
"l'instruction `future` est ``annotations``. "
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:859
|
||||
#: ../Doc/reference/simple_stmts.rst:857
|
||||
msgid ""
|
||||
"All historical features enabled by the future statement are still recognized "
|
||||
"by Python 3. The list includes ``absolute_import``, ``division``, "
|
||||
|
@ -1243,7 +1243,7 @@ msgstr ""
|
|||
"elles sont de toute manière activées ; elles ne sont conservées que par "
|
||||
"souci de compatibilité descendante."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:866
|
||||
#: ../Doc/reference/simple_stmts.rst:864
|
||||
msgid ""
|
||||
"A future statement is recognized and treated specially at compile time: "
|
||||
"Changes to the semantics of core constructs are often implemented by "
|
||||
|
@ -1260,7 +1260,7 @@ msgstr ""
|
|||
"le module de manière différente. De telles décisions ne peuvent pas être "
|
||||
"différées au moment de l'exécution."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:873
|
||||
#: ../Doc/reference/simple_stmts.rst:871
|
||||
msgid ""
|
||||
"For any given release, the compiler knows which feature names have been "
|
||||
"defined, and raises a compile-time error if a future statement contains a "
|
||||
|
@ -1270,7 +1270,7 @@ msgstr ""
|
|||
"définies et lève une erreur à la compilation si une instruction *future* "
|
||||
"contient une fonctionnalité qui lui est inconnue."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:877
|
||||
#: ../Doc/reference/simple_stmts.rst:875
|
||||
msgid ""
|
||||
"The direct runtime semantics are the same as for any import statement: there "
|
||||
"is a standard module :mod:`__future__`, described later, and it will be "
|
||||
|
@ -1281,7 +1281,7 @@ msgstr ""
|
|||
"loin, qui est importé comme les autres au moment ou l'instruction *future* "
|
||||
"est exécutée."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:881
|
||||
#: ../Doc/reference/simple_stmts.rst:879
|
||||
msgid ""
|
||||
"The interesting runtime semantics depend on the specific feature enabled by "
|
||||
"the future statement."
|
||||
|
@ -1289,11 +1289,11 @@ msgstr ""
|
|||
"La sémantique particulière à l'exécution dépend des fonctionnalités "
|
||||
"apportées par l'instruction *future*."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:884
|
||||
#: ../Doc/reference/simple_stmts.rst:882
|
||||
msgid "Note that there is nothing special about the statement::"
|
||||
msgstr "Notez que l'instruction suivante est tout à fait normale ::"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:888
|
||||
#: ../Doc/reference/simple_stmts.rst:886
|
||||
msgid ""
|
||||
"That is not a future statement; it's an ordinary import statement with no "
|
||||
"special semantics or syntax restrictions."
|
||||
|
@ -1301,7 +1301,7 @@ msgstr ""
|
|||
"Ce n'est pas une instruction *future* ; c'est une instruction d'importation "
|
||||
"ordinaire qui n'a aucune sémantique particulière ou restriction de syntaxe."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:891
|
||||
#: ../Doc/reference/simple_stmts.rst:889
|
||||
msgid ""
|
||||
"Code compiled by calls to the built-in functions :func:`exec` and :func:"
|
||||
"`compile` that occur in a module :mod:`M` containing a future statement "
|
||||
|
@ -1316,7 +1316,7 @@ msgstr ""
|
|||
"à :func:`compile` --- voir la documentation de cette fonction pour les "
|
||||
"détails."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:897
|
||||
#: ../Doc/reference/simple_stmts.rst:895
|
||||
msgid ""
|
||||
"A future statement typed at an interactive interpreter prompt will take "
|
||||
"effect for the rest of the interpreter session. If an interpreter is "
|
||||
|
@ -1331,19 +1331,19 @@ msgstr ""
|
|||
"effective pour la session interactive qui démarre après l'exécution du "
|
||||
"script."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:905
|
||||
#: ../Doc/reference/simple_stmts.rst:903
|
||||
msgid ":pep:`236` - Back to the __future__"
|
||||
msgstr ":pep:`236` -- retour vers le __future__"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:906
|
||||
#: ../Doc/reference/simple_stmts.rst:904
|
||||
msgid "The original proposal for the __future__ mechanism."
|
||||
msgstr "La proposition originale pour le mécanisme de __future__."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:912
|
||||
#: ../Doc/reference/simple_stmts.rst:910
|
||||
msgid "The :keyword:`global` statement"
|
||||
msgstr "L'instruction :keyword:`global`"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:921
|
||||
#: ../Doc/reference/simple_stmts.rst:919
|
||||
msgid ""
|
||||
"The :keyword:`global` statement is a declaration which holds for the entire "
|
||||
"current code block. It means that the listed identifiers are to be "
|
||||
|
@ -1358,7 +1358,7 @@ msgstr ""
|
|||
"rappelez-vous que les variables libres peuvent faire référence à des "
|
||||
"variables globales sans avoir été déclarées en tant que telles."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:927
|
||||
#: ../Doc/reference/simple_stmts.rst:925
|
||||
msgid ""
|
||||
"Names listed in a :keyword:`global` statement must not be used in the same "
|
||||
"code block textually preceding that :keyword:`global` statement."
|
||||
|
@ -1366,7 +1366,7 @@ msgstr ""
|
|||
"Les noms listés dans l'instruction :keyword:`global` ne doivent pas être "
|
||||
"utilisés, dans le même bloc de code, avant l'instruction :keyword:`global`."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:930
|
||||
#: ../Doc/reference/simple_stmts.rst:928
|
||||
msgid ""
|
||||
"Names listed in a :keyword:`global` statement must not be defined as formal "
|
||||
"parameters or in a :keyword:`for` loop control target, :keyword:`class` "
|
||||
|
@ -1378,7 +1378,7 @@ msgstr ""
|
|||
"dans une définition de :keyword:`class`, de fonction, d'instruction :"
|
||||
"keyword:`import` ou une annotation de variable."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:937
|
||||
#: ../Doc/reference/simple_stmts.rst:935
|
||||
msgid ""
|
||||
"The current implementation does not enforce some of these restrictions, but "
|
||||
"programs should not abuse this freedom, as future implementations may "
|
||||
|
@ -1389,7 +1389,7 @@ msgstr ""
|
|||
"faire la vérification ou modifier le comportement du programme sans vous "
|
||||
"avertir."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:946
|
||||
#: ../Doc/reference/simple_stmts.rst:944
|
||||
msgid ""
|
||||
"**Programmer's note:** :keyword:`global` is a directive to the parser. It "
|
||||
"applies only to code parsed at the same time as the :keyword:`global` "
|
||||
|
@ -1409,11 +1409,11 @@ msgstr ""
|
|||
"instruction :keyword:`global` placée dans le code contenant l'appel. Il en "
|
||||
"est de même pour les fonctions :func:`eval` et :func:`compile`."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:958
|
||||
#: ../Doc/reference/simple_stmts.rst:956
|
||||
msgid "The :keyword:`nonlocal` statement"
|
||||
msgstr "L'instruction :keyword:`nonlocal`"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:969
|
||||
#: ../Doc/reference/simple_stmts.rst:967
|
||||
msgid ""
|
||||
"The :keyword:`nonlocal` statement causes the listed identifiers to refer to "
|
||||
"previously bound variables in the nearest enclosing scope excluding globals. "
|
||||
|
@ -1429,7 +1429,7 @@ msgstr ""
|
|||
"lier à des variables en dehors de la portée locale du code mais sans avoir "
|
||||
"de portée globale (c'est-à-dire de niveau module)."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:979
|
||||
#: ../Doc/reference/simple_stmts.rst:977
|
||||
msgid ""
|
||||
"Names listed in a :keyword:`nonlocal` statement, unlike those listed in a :"
|
||||
"keyword:`global` statement, must refer to pre-existing bindings in an "
|
||||
|
@ -1442,7 +1442,7 @@ msgstr ""
|
|||
"existantes dans les portées englobantes (en effet, la portée dans laquelle "
|
||||
"devrait être créée la liaison ne peut pas être déterminée *a priori*)."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:984
|
||||
#: ../Doc/reference/simple_stmts.rst:982
|
||||
msgid ""
|
||||
"Names listed in a :keyword:`nonlocal` statement must not collide with pre-"
|
||||
"existing bindings in the local scope."
|
||||
|
@ -1450,10 +1450,10 @@ msgstr ""
|
|||
"Les noms listés dans l'instruction :keyword:`nonlocal` ne doivent entrer en "
|
||||
"collision avec des liaisons déjà établies dans la portée locale."
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:989
|
||||
#: ../Doc/reference/simple_stmts.rst:987
|
||||
msgid ":pep:`3104` - Access to Names in Outer Scopes"
|
||||
msgstr ":pep:`3104` -- Accès à des noms en dehors de la portée locale"
|
||||
|
||||
#: ../Doc/reference/simple_stmts.rst:990
|
||||
#: ../Doc/reference/simple_stmts.rst:988
|
||||
msgid "The specification for the :keyword:`nonlocal` statement."
|
||||
msgstr "Les spécifications pour l'instruction :keyword:`nonlocal`."
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-04 15:51+0100\n"
|
||||
"PO-Revision-Date: 2018-08-01 00:08+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 19:10+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -725,8 +725,8 @@ msgstr ""
|
|||
#: ../Doc/tutorial/classes.rst:389
|
||||
msgid ""
|
||||
"If you still don't understand how methods work, a look at the implementation "
|
||||
"can perhaps clarify matters. When an instance attribute is referenced that "
|
||||
"isn't a data attribute, its class is searched. If the name denotes a valid "
|
||||
"can perhaps clarify matters. When a non-data attribute of an instance is "
|
||||
"referenced, the instance's class is searched. If the name denotes a valid "
|
||||
"class attribute that is a function object, a method object is created by "
|
||||
"packing (pointers to) the instance object and the function object just found "
|
||||
"together in an abstract object: this is the method object. When the method "
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2018-08-01 00:32+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 19:09+0200\n"
|
||||
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -66,11 +66,11 @@ msgstr ""
|
|||
|
||||
#: ../Doc/tutorial/datastructures.rst:43
|
||||
msgid ""
|
||||
"Remove the first item from the list whose value is equal to *x*. It is an "
|
||||
"error if there is no such item."
|
||||
"Remove the first item from the list whose value is equal to *x*. It raises "
|
||||
"a ``ValueError`` if there is no such item."
|
||||
msgstr ""
|
||||
"Supprime de la liste le premier élément dont la valeur est égale à *x*. Une "
|
||||
"exception est levée s'il n'existe aucun élément avec cette valeur."
|
||||
"``ValueError`` est levée s'il n'existe aucun élément avec cette valeur."
|
||||
|
||||
#: ../Doc/tutorial/datastructures.rst:50
|
||||
msgid ""
|
||||
|
|
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
|
||||
"PO-Revision-Date: 2018-07-31 23:49+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-08-03 19:14+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -50,43 +50,49 @@ msgstr ""
|
|||
#: ../Doc/tutorial/inputoutput.rst:22
|
||||
msgid ""
|
||||
"Often you'll want more control over the formatting of your output than "
|
||||
"simply printing space-separated values. There are two ways to format your "
|
||||
"output; the first way is to do all the string handling yourself; using "
|
||||
"string slicing and concatenation operations you can create any layout you "
|
||||
"can imagine. The string type has some methods that perform useful "
|
||||
"operations for padding strings to a given column width; these will be "
|
||||
"discussed shortly. The second way is to use :ref:`formatted string literals "
|
||||
"<f-strings>`, or the :meth:`str.format` method."
|
||||
"simply printing space-separated values. There are several ways to format "
|
||||
"output."
|
||||
msgstr ""
|
||||
"Souvent, vous voudrez plus de contrôle sur le formatage de votre sortie que "
|
||||
"des valeurs simplement séparées par des espaces. Il existe deux façons de "
|
||||
"mettre en forme votre sortie. La première est de le faire vous-même : en "
|
||||
"découpant et concaténant les chaînes, vous pouvez tout mettre en page comme "
|
||||
"vous l'imaginez ; le type ``string`` possède des méthodes pour aligner des "
|
||||
"chaines à une certaine largeur de colonne, nous voyons ceci un peu plus "
|
||||
"loin. La deuxième consiste à utiliser des :ref:`littéraux de chaine formatés "
|
||||
"<f-strings>` ou la méthode :meth:`str.format`."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:31
|
||||
#: ../Doc/tutorial/inputoutput.rst:25
|
||||
msgid ""
|
||||
"The :mod:`string` module contains a :class:`~string.Template` class which "
|
||||
"offers yet another way to substitute values into strings."
|
||||
"To use :ref:`formatted string literals <tut-f-strings>`, begin a string with "
|
||||
"``f`` or ``F`` before the opening quotation mark or triple quotation mark. "
|
||||
"Inside this string, you can write a Python expression between ``{`` and ``}"
|
||||
"`` characters that can refer to variables or literal values."
|
||||
msgstr ""
|
||||
"Le module :mod:`string` contient une classe :class:`~string.Template` qui "
|
||||
"permet aussi de remplacer des valeurs au sein de chaînes de caractères."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:34
|
||||
#: ../Doc/tutorial/inputoutput.rst:36
|
||||
msgid ""
|
||||
"One question remains, of course: how do you convert values to strings? "
|
||||
"Luckily, Python has ways to convert any value to a string: pass it to the :"
|
||||
"func:`repr` or :func:`str` functions."
|
||||
"The :meth:`str.format` method of strings requires more manual effort. "
|
||||
"You'll still use ``{`` and ``}`` to mark where a variable will be "
|
||||
"substituted and can provide detailed formatting directives, but you'll also "
|
||||
"need to provide the information to be formatted."
|
||||
msgstr ""
|
||||
"Mais une question demeure, bien sûr : comment convertir des valeurs en "
|
||||
"chaînes de caractères ? Heureusement, Python fournit plusieurs moyens de "
|
||||
"convertir n'importe quelle valeur en chaîne : les fonctions :func:`repr` et :"
|
||||
"func:`str`."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:38
|
||||
#: ../Doc/tutorial/inputoutput.rst:48
|
||||
msgid ""
|
||||
"Finally, you can do all the string handling yourself by using string slicing "
|
||||
"and concatenation operations to create any layout you can imagine. The "
|
||||
"string type has some methods that perform useful operations for padding "
|
||||
"strings to a given column width."
|
||||
msgstr ""
|
||||
"Enfin, vous pouvez construire des concaténations de tranches de chaînes vous-"
|
||||
"même, et ainsi créer n'importe quel agencement. Le type des chaînes a des "
|
||||
"méthodes utiles pour aligner des chaînes dans une largeur de taille fixe."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:53
|
||||
msgid ""
|
||||
"When you don't need fancy output but just want a quick display of some "
|
||||
"variables for debugging purposes, you can convert any value to a string with "
|
||||
"the :func:`repr` or :func:`str` functions."
|
||||
msgstr ""
|
||||
"Lorsque qu'un affichage basique suffit, pour afficher simplement une "
|
||||
"variable pour en inspecter le contenu, vous pouvez convertir n'importe "
|
||||
"quelle valeur en chaîne de caractères en utilisant la fonction :func:`repr` "
|
||||
"ou la fonction :func:`str`.\n"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:57
|
||||
msgid ""
|
||||
"The :func:`str` function is meant to return representations of values which "
|
||||
"are fairly human-readable, while :func:`repr` is meant to generate "
|
||||
|
@ -108,62 +114,75 @@ msgstr ""
|
|||
"deux fonctions. Les chaînes de caractères, en particulier, ont deux "
|
||||
"représentations distinctes."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:47
|
||||
#: ../Doc/tutorial/inputoutput.rst:66
|
||||
msgid "Some examples::"
|
||||
msgstr "Quelques exemples : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:70
|
||||
msgid "Here are two ways to write a table of squares and cubes::"
|
||||
msgstr "Voici deux façons d'écrire une table de carrés et de cubes : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:102
|
||||
#: ../Doc/tutorial/inputoutput.rst:89
|
||||
msgid ""
|
||||
"(Note that in the first example, one space between each column was added by "
|
||||
"the way :func:`print` works: by default it adds spaces between its "
|
||||
"arguments.)"
|
||||
"The :mod:`string` module contains a :class:`~string.Template` class that "
|
||||
"offers yet another way to substitute values into strings, using placeholders "
|
||||
"like ``$x`` and replacing them with values from a dictionary, but offers "
|
||||
"much less control of the formatting."
|
||||
msgstr ""
|
||||
"Le module :mod:`string` contient une classe :class:`~string.Template` qui "
|
||||
"permet aussi de remplacer des valeurs au sein de chaînes de caractères, en "
|
||||
"utilisant des marqueurs comme ``$x``, et en les remplaçant par les valeurs "
|
||||
"d'un dictionnaire, mais sa capacité à formater les chaînes est plus limitée."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:98
|
||||
msgid "Formatted String Literals"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:100
|
||||
msgid ""
|
||||
":ref:`Formatted string literals <f-strings>` (also called f-strings for "
|
||||
"short) let you include the value of Python expressions inside a string by "
|
||||
"prefixing the string with ``f`` or ``F`` and writing expressions as "
|
||||
"``{expression}``."
|
||||
msgstr ""
|
||||
"(Notez que dans ce premier exemple, une espace a été ajoutée entre chaque "
|
||||
"colonne. C'est le comportement par défaut de :func:`print`, elle ajoute des "
|
||||
"espaces entre ses arguments.)"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:105
|
||||
msgid ""
|
||||
"This example demonstrates the :meth:`str.rjust` method of string objects, "
|
||||
"which right-justifies a string in a field of a given width by padding it "
|
||||
"with spaces on the left. There are similar methods :meth:`str.ljust` and :"
|
||||
"meth:`str.center`. These methods do not write anything, they just return a "
|
||||
"new string. If the input string is too long, they don't truncate it, but "
|
||||
"return it unchanged; this will mess up your column lay-out but that's "
|
||||
"usually better than the alternative, which would be lying about a value. "
|
||||
"(If you really want truncation you can always add a slice operation, as in "
|
||||
"``x.ljust(n)[:n]``.)"
|
||||
"An optional format specifier can follow the expression. This allows greater "
|
||||
"control over how the value is formatted. The following example rounds pi to "
|
||||
"three places after the decimal::"
|
||||
msgstr ""
|
||||
"Cet exemple illustre l'utilisation de la méthode :meth:`str.rjust` des "
|
||||
"chaînes de caractères ; elle justifie à droite une chaîne dans un champ "
|
||||
"d'une largeur donnée en ajoutant des espaces sur la gauche. Il existe des "
|
||||
"méthodes similaires :meth:`str.ljust` et :meth:`str.center`. Ces méthodes "
|
||||
"n'écrivent rien, elles renvoient simplement une nouvelle chaîne. Si la "
|
||||
"chaîne passée en paramètre est trop longue, elle n'est pas tronquée mais "
|
||||
"renvoyée sans modification ; cela peut chambouler votre mise en page mais "
|
||||
"c'est souvent préférable à l'alternative, qui pourrait mentir sur une valeur "
|
||||
"(et si vous voulez vraiment tronquer vos valeurs, vous pouvez toujours "
|
||||
"utiliser une tranche, comme dans ``x.ljust(n)[:n]``)."
|
||||
"L'expression peut être suivie d'un spécificateur de format. Cela permet un "
|
||||
"plus grand contrôle sur la façon dont la valeur est rendue. L'exemple "
|
||||
"suivant arrondit pi à trois décimales après la virgule ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:115
|
||||
#: ../Doc/tutorial/inputoutput.rst:112
|
||||
msgid ""
|
||||
"There is another method, :meth:`str.zfill`, which pads a numeric string on "
|
||||
"the left with zeros. It understands about plus and minus signs::"
|
||||
"Passing an integer after the ``':'`` will cause that field to be a minimum "
|
||||
"number of characters wide. This is useful for making columns line up. ::"
|
||||
msgstr ""
|
||||
"Il existe une autre méthode, :meth:`str.zfill`, qui comble une chaîne "
|
||||
"numérique à gauche avec des zéros. Elle comprend les signes plus et "
|
||||
"moins : ::"
|
||||
"Donner un entier après le ``':'`` indique la largeur minimale de ce champ en "
|
||||
"nombre de caractères. C'est utile pour faire de jolis tableaux ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:125
|
||||
#: ../Doc/tutorial/inputoutput.rst:123
|
||||
msgid ""
|
||||
"Other modifiers can be used to convert the value before it is formatted. ``'!"
|
||||
"a'`` applies :func:`ascii`, ``'!s'`` applies :func:`str`, and ``'!r'`` "
|
||||
"applies :func:`repr`::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:133
|
||||
msgid ""
|
||||
"For a reference on these format specifications, see the reference guide for "
|
||||
"the :ref:`formatspec`."
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:139
|
||||
msgid "The String format() Method"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:141
|
||||
msgid "Basic usage of the :meth:`str.format` method looks like this::"
|
||||
msgstr ""
|
||||
"L'utilisation de base de la méthode :meth:`str.format` ressemble à ceci : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:130
|
||||
#: ../Doc/tutorial/inputoutput.rst:146
|
||||
msgid ""
|
||||
"The brackets and characters within them (called format fields) are replaced "
|
||||
"with the objects passed into the :meth:`str.format` method. A number in the "
|
||||
|
@ -175,7 +194,7 @@ msgstr ""
|
|||
"meth:`str.format`. Un nombre entre accolades se réfère à la position de "
|
||||
"l'objet passé à la méthode :meth:`str.format`. ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:140
|
||||
#: ../Doc/tutorial/inputoutput.rst:156
|
||||
msgid ""
|
||||
"If keyword arguments are used in the :meth:`str.format` method, their values "
|
||||
"are referred to by using the name of the argument. ::"
|
||||
|
@ -183,41 +202,12 @@ msgstr ""
|
|||
"Si des arguments nommés sont utilisés dans la méthode :meth:`str.format`, "
|
||||
"leurs valeurs sont utilisées en se basant sur le nom des arguments : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:147
|
||||
#: ../Doc/tutorial/inputoutput.rst:163
|
||||
msgid "Positional and keyword arguments can be arbitrarily combined::"
|
||||
msgstr ""
|
||||
"Les arguments positionnés et nommés peuvent être combinés arbitrairement : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:153
|
||||
msgid ""
|
||||
"``'!a'`` (apply :func:`ascii`), ``'!s'`` (apply :func:`str`) and ``'!r'`` "
|
||||
"(apply :func:`repr`) can be used to convert the value before it is "
|
||||
"formatted::"
|
||||
msgstr ""
|
||||
"``'!a'`` (appliquer :func:`ascii`), ``'!s'`` (appliquer :func:`str`) et ``'!"
|
||||
"r'`` (appliquer :func:`repr`) peuvent être utilisées pour convertir les "
|
||||
"valeurs avant leur formatage : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:162
|
||||
msgid ""
|
||||
"An optional ``':'`` and format specifier can follow the field name. This "
|
||||
"allows greater control over how the value is formatted. The following "
|
||||
"example rounds Pi to three places after the decimal."
|
||||
msgstr ""
|
||||
"Un caractère ``':'`` suivi d'une spécification de formatage peuvent suivre "
|
||||
"le nom du champ. Ceci offre un niveau de contrôle plus fin sur la façon dont "
|
||||
"les valeurs sont formatées. L'exemple suivant arrondit Pi à trois chiffres "
|
||||
"après la virgule (NdT : qui, en notation anglo-saxonne, est un point)."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:170
|
||||
msgid ""
|
||||
"Passing an integer after the ``':'`` will cause that field to be a minimum "
|
||||
"number of characters wide. This is useful for making tables pretty. ::"
|
||||
msgstr ""
|
||||
"Indiquer un entier après le ``':'`` indique la largeur minimale de ce champ "
|
||||
"en nombre de caractères. C'est utile pour faire de jolis tableaux : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:181
|
||||
#: ../Doc/tutorial/inputoutput.rst:169
|
||||
msgid ""
|
||||
"If you have a really long format string that you don't want to split up, it "
|
||||
"would be nice if you could reference the variables to be formatted by name "
|
||||
|
@ -229,7 +219,7 @@ msgstr ""
|
|||
"nom plutôt que par leur position. Utilisez simplement un dictionnaire et la "
|
||||
"notation entre crochets ``'[]'`` pour accéder aux clés : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:191
|
||||
#: ../Doc/tutorial/inputoutput.rst:179
|
||||
msgid ""
|
||||
"This could also be done by passing the table as keyword arguments with the "
|
||||
"'**' notation. ::"
|
||||
|
@ -237,7 +227,7 @@ msgstr ""
|
|||
"vous pouvez obtenir le même résultat en passant le tableau comme des "
|
||||
"arguments nommés en utilisant la notation ``**`` ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:198
|
||||
#: ../Doc/tutorial/inputoutput.rst:186
|
||||
msgid ""
|
||||
"This is particularly useful in combination with the built-in function :func:"
|
||||
"`vars`, which returns a dictionary containing all local variables."
|
||||
|
@ -245,7 +235,13 @@ msgstr ""
|
|||
"C'est particulièrement utile en combinaison avec la fonction native :func:"
|
||||
"`vars` qui renvoie un dictionnaire contenant toutes les variables locales."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:201
|
||||
#: ../Doc/tutorial/inputoutput.rst:189
|
||||
msgid ""
|
||||
"As an example, the following lines produce a tidily-aligned set of columns "
|
||||
"giving integers and their squares and cubes::"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:206
|
||||
msgid ""
|
||||
"For a complete overview of string formatting with :meth:`str.format`, see :"
|
||||
"ref:`formatstrings`."
|
||||
|
@ -253,11 +249,58 @@ msgstr ""
|
|||
"Pour avoir une description complète du formatage des chaînes de caractères "
|
||||
"avec la méthode :meth:`str.format`, lisez : :ref:`formatstrings`."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:206
|
||||
#: ../Doc/tutorial/inputoutput.rst:211
|
||||
msgid "Manual String Formatting"
|
||||
msgstr "Formatage de chaînes à la main"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:213
|
||||
msgid "Here's the same table of squares and cubes, formatted manually::"
|
||||
msgstr "Voici le même tableau de carrés et de cubes, formaté à la main ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:231
|
||||
msgid ""
|
||||
"(Note that the one space between each column was added by the way :func:"
|
||||
"`print` works: it always adds spaces between its arguments.)"
|
||||
msgstr ""
|
||||
"(Remarquez que l'espace séparant les colonnes vient de la manière donc :func:"
|
||||
"`print` fonctionne : il ajoute toujours des espaces entre ses arguments.)"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:234
|
||||
msgid ""
|
||||
"The :meth:`str.rjust` method of string objects right-justifies a string in a "
|
||||
"field of a given width by padding it with spaces on the left. There are "
|
||||
"similar methods :meth:`str.ljust` and :meth:`str.center`. These methods do "
|
||||
"not write anything, they just return a new string. If the input string is "
|
||||
"too long, they don't truncate it, but return it unchanged; this will mess up "
|
||||
"your column lay-out but that's usually better than the alternative, which "
|
||||
"would be lying about a value. (If you really want truncation you can always "
|
||||
"add a slice operation, as in ``x.ljust(n)[:n]``.)"
|
||||
msgstr ""
|
||||
"La méthode :meth:`str.rjust` des chaînes de caractères justifie à droite une "
|
||||
"chaîne dans un champ d'une largeur donnée en ajoutant des espaces sur la "
|
||||
"gauche. Il existe des méthodes similaires :meth:`str.ljust` et :meth:`str."
|
||||
"center`. Ces méthodes n'écrivent rien, elles renvoient simplement une "
|
||||
"nouvelle chaîne. Si la chaîne passée en paramètre est trop longue, elle "
|
||||
"n'est pas tronquée mais renvoyée sans modification ; cela peut chambouler "
|
||||
"votre mise en page mais c'est souvent préférable à l'alternative, qui "
|
||||
"pourrait mentir sur une valeur (et si vous voulez vraiment tronquer vos "
|
||||
"valeurs, vous pouvez toujours utiliser une tranche, comme dans ``x.ljust(n)[:"
|
||||
"n]``)."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:243
|
||||
msgid ""
|
||||
"There is another method, :meth:`str.zfill`, which pads a numeric string on "
|
||||
"the left with zeros. It understands about plus and minus signs::"
|
||||
msgstr ""
|
||||
"Il existe une autre méthode, :meth:`str.zfill`, qui comble une chaîne "
|
||||
"numérique à gauche avec des zéros. Elle comprend les signes plus et "
|
||||
"moins : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:255
|
||||
msgid "Old string formatting"
|
||||
msgstr "Anciennes méthodes de formatage de chaînes"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:208
|
||||
#: ../Doc/tutorial/inputoutput.rst:257
|
||||
msgid ""
|
||||
"The ``%`` operator can also be used for string formatting. It interprets the "
|
||||
"left argument much like a :c:func:`sprintf`\\ -style format string to be "
|
||||
|
@ -269,18 +312,18 @@ msgstr ""
|
|||
"de la fonction :c:func:`sprintf` à appliquer à l'argument de droite, et il "
|
||||
"renvoie la chaîne résultant de cette opération de formatage. Par exemple : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:217
|
||||
#: ../Doc/tutorial/inputoutput.rst:266
|
||||
msgid ""
|
||||
"More information can be found in the :ref:`old-string-formatting` section."
|
||||
msgstr ""
|
||||
"Vous trouvez plus d'informations dans la section :ref:`old-string-"
|
||||
"formatting`."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:223
|
||||
#: ../Doc/tutorial/inputoutput.rst:272
|
||||
msgid "Reading and Writing Files"
|
||||
msgstr "Lecture et écriture de fichiers"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:229
|
||||
#: ../Doc/tutorial/inputoutput.rst:278
|
||||
msgid ""
|
||||
":func:`open` returns a :term:`file object`, and is most commonly used with "
|
||||
"two arguments: ``open(filename, mode)``."
|
||||
|
@ -288,7 +331,7 @@ msgstr ""
|
|||
"La fonction :func:`open` renvoie un :term:`objet fichier` et est le plus "
|
||||
"souvent utilisée avec deux arguments : ``open(nomfichier, mode)``."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:241
|
||||
#: ../Doc/tutorial/inputoutput.rst:290
|
||||
msgid ""
|
||||
"The first argument is a string containing the filename. The second argument "
|
||||
"is another string containing a few characters describing the way in which "
|
||||
|
@ -308,7 +351,7 @@ msgstr ""
|
|||
"ajoutée à la fin). ``'r+'`` ouvre le fichier en mode lecture/écriture. "
|
||||
"L'argument *mode* est optionnel, sa valeur par défaut est ``'r'``."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:250
|
||||
#: ../Doc/tutorial/inputoutput.rst:299
|
||||
msgid ""
|
||||
"Normally, files are opened in :dfn:`text mode`, that means, you read and "
|
||||
"write strings from and to the file, which are encoded in a specific "
|
||||
|
@ -326,7 +369,7 @@ msgstr ""
|
|||
"d'octets (type *bytes*). Ce mode est à utiliser pour les fichiers contenant "
|
||||
"autre chose que du texte."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:257
|
||||
#: ../Doc/tutorial/inputoutput.rst:306
|
||||
msgid ""
|
||||
"In text mode, the default when reading is to convert platform-specific line "
|
||||
"endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When "
|
||||
|
@ -346,7 +389,7 @@ msgstr ""
|
|||
"`EXE`. Soyez particulièrement attentifs à ouvrir ces fichiers binaires en "
|
||||
"mode binaire."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:265
|
||||
#: ../Doc/tutorial/inputoutput.rst:314
|
||||
msgid ""
|
||||
"It is good practice to use the :keyword:`with` keyword when dealing with "
|
||||
"file objects. The advantage is that the file is properly closed after its "
|
||||
|
@ -360,7 +403,7 @@ msgstr ""
|
|||
"plus court que d'utiliser l'équivalent avec des blocs :keyword:`try`\\ -\\ :"
|
||||
"keyword:`finally` : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:276
|
||||
#: ../Doc/tutorial/inputoutput.rst:325
|
||||
msgid ""
|
||||
"If you're not using the :keyword:`with` keyword, then you should call ``f."
|
||||
"close()`` to close the file and immediately free up any system resources "
|
||||
|
@ -377,7 +420,7 @@ msgstr ""
|
|||
"risque est que différentes implémentations de Python risquent faire ce "
|
||||
"nettoyage à des moments différents."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:284
|
||||
#: ../Doc/tutorial/inputoutput.rst:333
|
||||
msgid ""
|
||||
"After a file object is closed, either by a :keyword:`with` statement or by "
|
||||
"calling ``f.close()``, attempts to use the file object will automatically "
|
||||
|
@ -387,11 +430,11 @@ msgstr ""
|
|||
"`with` ou en appelant ``f.close()``, toute tentative d'utilisation de "
|
||||
"l'objet fichier échoue systématiquement. ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:298
|
||||
#: ../Doc/tutorial/inputoutput.rst:347
|
||||
msgid "Methods of File Objects"
|
||||
msgstr "Méthodes des objets fichiers"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:300
|
||||
#: ../Doc/tutorial/inputoutput.rst:349
|
||||
msgid ""
|
||||
"The rest of the examples in this section will assume that a file object "
|
||||
"called ``f`` has already been created."
|
||||
|
@ -399,7 +442,7 @@ msgstr ""
|
|||
"Les derniers exemples de cette section supposent qu'un objet fichier appelé "
|
||||
"``f`` a déjà été créé."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:303
|
||||
#: ../Doc/tutorial/inputoutput.rst:352
|
||||
msgid ""
|
||||
"To read a file's contents, call ``f.read(size)``, which reads some quantity "
|
||||
"of data and returns it as a string (in text mode) or bytes object (in binary "
|
||||
|
@ -418,7 +461,7 @@ msgstr ""
|
|||
"*taille* octets sont lus et donnés. Lorsque la fin du fichier est atteinte, "
|
||||
"``f.read()`` renvoie une chaîne vide (``''``). ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:317
|
||||
#: ../Doc/tutorial/inputoutput.rst:366
|
||||
msgid ""
|
||||
"``f.readline()`` reads a single line from the file; a newline character (``"
|
||||
"\\n``) is left at the end of the string, and is only omitted on the last "
|
||||
|
@ -435,7 +478,7 @@ msgstr ""
|
|||
"atteinte, alors qu'une ligne vide est représentée par ``'\\n'`` (une chaîne "
|
||||
"de caractères ne contenant qu'une fin de ligne). ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:331
|
||||
#: ../Doc/tutorial/inputoutput.rst:380
|
||||
msgid ""
|
||||
"For reading lines from a file, you can loop over the file object. This is "
|
||||
"memory efficient, fast, and leads to simple code::"
|
||||
|
@ -444,7 +487,7 @@ msgstr ""
|
|||
"C'est plus efficace en terme de gestion mémoire, plus rapide et donne un "
|
||||
"code plus simple : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:340
|
||||
#: ../Doc/tutorial/inputoutput.rst:389
|
||||
msgid ""
|
||||
"If you want to read all the lines of a file in a list you can also use "
|
||||
"``list(f)`` or ``f.readlines()``."
|
||||
|
@ -452,7 +495,7 @@ msgstr ""
|
|||
"Pour construire une liste avec toutes les lignes d'un fichier, il est aussi "
|
||||
"possible d'utiliser ``list(f)`` ou ``f.readlines()``."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:343
|
||||
#: ../Doc/tutorial/inputoutput.rst:392
|
||||
msgid ""
|
||||
"``f.write(string)`` writes the contents of *string* to the file, returning "
|
||||
"the number of characters written. ::"
|
||||
|
@ -460,7 +503,7 @@ msgstr ""
|
|||
"``f.write(chaine)`` écrit le contenu de *chaine* dans le fichier et renvoie "
|
||||
"le nombre de caractères écrits. ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:349
|
||||
#: ../Doc/tutorial/inputoutput.rst:398
|
||||
msgid ""
|
||||
"Other types of objects need to be converted -- either to a string (in text "
|
||||
"mode) or a bytes object (in binary mode) -- before writing them::"
|
||||
|
@ -468,7 +511,7 @@ msgstr ""
|
|||
"Les autres types doivent être convertis, soit en une chaîne (en mode texte), "
|
||||
"soit en objet *bytes* (en mode binaire) avant de les écrire : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:357
|
||||
#: ../Doc/tutorial/inputoutput.rst:406
|
||||
msgid ""
|
||||
"``f.tell()`` returns an integer giving the file object's current position in "
|
||||
"the file represented as number of bytes from the beginning of the file when "
|
||||
|
@ -478,7 +521,7 @@ msgstr ""
|
|||
"fichier, mesurée en octets à partir du début du fichier lorsque le fichier "
|
||||
"est ouvert en mode binaire, ou un nombre obscur en mode texte."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:361
|
||||
#: ../Doc/tutorial/inputoutput.rst:410
|
||||
msgid ""
|
||||
"To change the file object's position, use ``f.seek(offset, from_what)``. "
|
||||
"The position is computed from adding *offset* to a reference point; the "
|
||||
|
@ -495,7 +538,7 @@ msgstr ""
|
|||
"pour la fin du fichier. *a_partir_de* peut être omis et sa valeur par défaut "
|
||||
"est 0 (Python utilise le début du fichier comme point de référence) : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:380
|
||||
#: ../Doc/tutorial/inputoutput.rst:429
|
||||
msgid ""
|
||||
"In text files (those opened without a ``b`` in the mode string), only seeks "
|
||||
"relative to the beginning of the file are allowed (the exception being "
|
||||
|
@ -510,7 +553,7 @@ msgstr ""
|
|||
"renvoyées par ``f.tell()``, ou zéro. Toute autre valeur pour le paramètre "
|
||||
"*decalage* produit un comportement indéfini."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:386
|
||||
#: ../Doc/tutorial/inputoutput.rst:435
|
||||
msgid ""
|
||||
"File objects have some additional methods, such as :meth:`~file.isatty` and :"
|
||||
"meth:`~file.truncate` which are less frequently used; consult the Library "
|
||||
|
@ -521,11 +564,11 @@ msgstr ""
|
|||
"consultez la Référence de la Bibliothèque Standard pour avoir un guide "
|
||||
"complet des objets fichiers."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:394
|
||||
#: ../Doc/tutorial/inputoutput.rst:443
|
||||
msgid "Saving structured data with :mod:`json`"
|
||||
msgstr "Sauvegarde de données structurées avec le module :mod:`json`"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:398
|
||||
#: ../Doc/tutorial/inputoutput.rst:447
|
||||
msgid ""
|
||||
"Strings can easily be written to and read from a file. Numbers take a bit "
|
||||
"more effort, since the :meth:`read` method only returns strings, which will "
|
||||
|
@ -543,7 +586,7 @@ msgstr ""
|
|||
"instances de classes, le traitement lecture/écriture à la main devient vite "
|
||||
"compliqué."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:405
|
||||
#: ../Doc/tutorial/inputoutput.rst:454
|
||||
msgid ""
|
||||
"Rather than having users constantly writing and debugging code to save "
|
||||
"complicated data types to files, Python allows you to use the popular data "
|
||||
|
@ -566,7 +609,7 @@ msgstr ""
|
|||
"et sa dé-sérialisation, la chaîne représentant les données peut avoir été "
|
||||
"stockée ou transmise à une autre machine."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:416
|
||||
#: ../Doc/tutorial/inputoutput.rst:465
|
||||
msgid ""
|
||||
"The JSON format is commonly used by modern applications to allow for data "
|
||||
"exchange. Many programmers are already familiar with it, which makes it a "
|
||||
|
@ -576,7 +619,7 @@ msgstr ""
|
|||
"échanger des données. Beaucoup de développeurs le maîtrise, ce qui en fait "
|
||||
"un format de prédilection pour l'interopérabilité."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:420
|
||||
#: ../Doc/tutorial/inputoutput.rst:469
|
||||
msgid ""
|
||||
"If you have an object ``x``, you can view its JSON string representation "
|
||||
"with a simple line of code::"
|
||||
|
@ -584,7 +627,7 @@ msgstr ""
|
|||
"Si vous avez un objet ``x``, vous pouvez voir sa représentation JSON en "
|
||||
"tapant simplement : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:427
|
||||
#: ../Doc/tutorial/inputoutput.rst:476
|
||||
msgid ""
|
||||
"Another variant of the :func:`~json.dumps` function, called :func:`~json."
|
||||
"dump`, simply serializes the object to a :term:`text file`. So if ``f`` is "
|
||||
|
@ -595,7 +638,7 @@ msgstr ""
|
|||
"file>`. Donc si ``f`` est un :term:`fichier texte <text file>` ouvert en "
|
||||
"écriture, il est possible de faire : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:433
|
||||
#: ../Doc/tutorial/inputoutput.rst:482
|
||||
msgid ""
|
||||
"To decode the object again, if ``f`` is a :term:`text file` object which has "
|
||||
"been opened for reading::"
|
||||
|
@ -603,7 +646,7 @@ msgstr ""
|
|||
"Pour reconstruire l'objet, si ``f`` est cette fois un :term:`fichier texte` "
|
||||
"ouvert en lecture : ::"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:438
|
||||
#: ../Doc/tutorial/inputoutput.rst:487
|
||||
msgid ""
|
||||
"This simple serialization technique can handle lists and dictionaries, but "
|
||||
"serializing arbitrary class instances in JSON requires a bit of extra "
|
||||
|
@ -615,11 +658,11 @@ msgstr ""
|
|||
"plus de travail. La documentation du module :mod:`json` explique comment "
|
||||
"faire."
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:444
|
||||
#: ../Doc/tutorial/inputoutput.rst:493
|
||||
msgid ":mod:`pickle` - the pickle module"
|
||||
msgstr "Le module :mod:`pickle`"
|
||||
|
||||
#: ../Doc/tutorial/inputoutput.rst:446
|
||||
#: ../Doc/tutorial/inputoutput.rst:495
|
||||
msgid ""
|
||||
"Contrary to :ref:`JSON <tut-json>`, *pickle* is a protocol which allows the "
|
||||
"serialization of arbitrarily complex Python objects. As such, it is "
|
||||
|
@ -635,3 +678,12 @@ msgstr ""
|
|||
"dé-sérialiser des données au format *pickle* provenant d'une source "
|
||||
"malveillante et particulièrement habile peut mener à exécuter du code "
|
||||
"arbitraire."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "``'!a'`` (apply :func:`ascii`), ``'!s'`` (apply :func:`str`) and ``'!r'`` "
|
||||
#~ "(apply :func:`repr`) can be used to convert the value before it is "
|
||||
#~ "formatted::"
|
||||
#~ msgstr ""
|
||||
#~ "``'!a'`` (appliquer :func:`ascii`), ``'!s'`` (appliquer :func:`str`) et "
|
||||
#~ "``'!r'`` (appliquer :func:`repr`) peuvent être utilisées pour convertir "
|
||||
#~ "les valeurs avant leur formatage : ::"
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3.6\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"POT-Creation-Date: 2018-08-03 17:52+0200\n"
|
||||
"PO-Revision-Date: 2018-06-10 15:28+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||||
|
@ -318,8 +318,8 @@ msgstr ""
|
|||
|
||||
#: ../Doc/using/windows.rst:149
|
||||
msgid ""
|
||||
"Add install and Scripts directories tho :envvar:`PATH` and ``.PY`` to :"
|
||||
"envvar:`PATHEXT`"
|
||||
"Add install and Scripts directories to :envvar:`PATH` and ``.PY`` to :envvar:"
|
||||
"`PATHEXT`"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/windows.rst:153
|
||||
|
@ -477,7 +477,7 @@ msgid ""
|
|||
"xml`` alongside the executable. This file specifies a list of options and "
|
||||
"values. When a value is provided as an attribute, it will be converted to a "
|
||||
"number if possible. Values provided as element text are always left as "
|
||||
"strings. This example file sets the same options and the previous example:"
|
||||
"strings. This example file sets the same options as the previous example:"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/windows.rst:228
|
||||
|
@ -726,9 +726,7 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#: ../Doc/using/windows.rst:385
|
||||
msgid ""
|
||||
"https://support.microsoft.com/en-us/help/100843/environment-variables-in-"
|
||||
"windows-nt"
|
||||
msgid "https://www.microsoft.com/en-us/wdsi/help/folder-variables"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/windows.rst:385
|
||||
|
@ -1035,10 +1033,10 @@ msgstr ""
|
|||
msgid ""
|
||||
"Two .ini files will be searched by the launcher - ``py.ini`` in the current "
|
||||
"user's \"application data\" directory (i.e. the directory returned by "
|
||||
"calling the Windows function SHGetFolderPath with CSIDL_LOCAL_APPDATA) and "
|
||||
"``py.ini`` in the same directory as the launcher. The same .ini files are "
|
||||
"used for both the 'console' version of the launcher (i.e. py.exe) and for "
|
||||
"the 'windows' version (i.e. pyw.exe)"
|
||||
"calling the Windows function ``SHGetFolderPath`` with "
|
||||
"``CSIDL_LOCAL_APPDATA``) and ``py.ini`` in the same directory as the "
|
||||
"launcher. The same .ini files are used for both the 'console' version of the "
|
||||
"launcher (i.e. py.exe) and for the 'windows' version (i.e. pyw.exe)"
|
||||
msgstr ""
|
||||
|
||||
#: ../Doc/using/windows.rst:618
|
||||
|
@ -1345,7 +1343,7 @@ msgid ""
|
|||
"These will ensure that the files in a system-wide installation will not take "
|
||||
"precedence over the copy of the standard library bundled with your "
|
||||
"application. Otherwise, your users may experience problems using your "
|
||||
"application. Note that the first suggestion is the best, as the other may "
|
||||
"application. Note that the first suggestion is the best, as the others may "
|
||||
"still be susceptible to non-standard paths in the registry and user site-"
|
||||
"packages."
|
||||
msgstr ""
|
||||
|
|
1019
whatsnew/3.7.po
1019
whatsnew/3.7.po
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue